Install
openclaw skills install whatsapp-openapi-skillOperate WhatsApp Business Platform Cloud API through UXC with a curated OpenAPI schema, bearer-token auth, and message/profile guardrails.
openclaw skills install whatsapp-openapi-skillUse this skill to run WhatsApp Business Platform Cloud API operations through uxc + OpenAPI.
Reuse the uxc skill for shared execution, auth, and error-handling guidance.
uxc is installed and available in PATH.https://graph.facebook.com/v25.0.https://raw.githubusercontent.com/holon-run/uxc/main/skills/whatsapp-openapi-skill/references/whatsapp-cloud.openapi.jsonphone_number_id, and for phone number listing, the related waba_id.This skill covers a compact Cloud API request/response surface:
This skill does not cover:
This skill is pinned to Graph API v25.0, based on current Meta developer examples at implementation time. Keep the base URL versioned:
https://graph.facebook.com/v25.0If Meta deprecates this version later, the wrapper should be revised in a follow-up update rather than assuming unversioned compatibility.
WhatsApp Cloud API uses Authorization: Bearer <access_token>.
Configure one bearer credential and bind it to the versioned Graph API base path:
uxc auth credential set whatsapp-cloud \
--auth-type bearer \
--secret-env WHATSAPP_CLOUD_ACCESS_TOKEN
uxc auth binding add \
--id whatsapp-cloud \
--host graph.facebook.com \
--path-prefix /v25.0 \
--scheme https \
--credential whatsapp-cloud \
--priority 100
Validate the active mapping when auth looks wrong:
uxc auth binding match https://graph.facebook.com/v25.0
Use the fixed link command by default:
command -v whatsapp-openapi-cliuxc link whatsapp-openapi-cli https://graph.facebook.com/v25.0 --schema-url https://raw.githubusercontent.com/holon-run/uxc/main/skills/whatsapp-openapi-skill/references/whatsapp-cloud.openapi.jsonwhatsapp-openapi-cli -hInspect operation schema first:
whatsapp-openapi-cli get:/{waba_id}/phone_numbers -hwhatsapp-openapi-cli get:/{phone_number_id}/whatsapp_business_profile -hwhatsapp-openapi-cli post:/{phone_number_id}/messages -hPrefer read/setup validation before writes:
whatsapp-openapi-cli get:/{waba_id}/phone_numbers waba_id=123456789012345whatsapp-openapi-cli get:/{phone_number_id} phone_number_id=123456789012345whatsapp-openapi-cli get:/{phone_number_id}/whatsapp_business_profile phone_number_id=123456789012345Execute with key/value or positional JSON:
whatsapp-openapi-cli get:/{phone_number_id} phone_number_id=123456789012345 fields=display_phone_number,verified_namewhatsapp-openapi-cli post:/{phone_number_id}/messages '{"phone_number_id":"123456789012345","messaging_product":"whatsapp","to":"15551234567","type":"text","text":{"body":"Hello from UXC"}}'get:/{waba_id}/phone_numbersget:/{phone_number_id}get:/{phone_number_id}/whatsapp_business_profilepost:/{phone_number_id}/whatsapp_business_profilepost:/{phone_number_id}/messages--text.ok, kind, protocol, data, error.post:/{phone_number_id}/messages is a high-risk write. Require explicit user confirmation before execution.image or document content, use already hosted URLs or existing asset references as allowed by the platform.whatsapp-openapi-cli <operation> ... is equivalent to uxc https://graph.facebook.com/v25.0 --schema-url <whatsapp_openapi_schema> <operation> ....references/usage-patterns.mdreferences/whatsapp-cloud.openapi.json