[Beta]{class="badge informative"}
Adobe Experience Platform allows data to be ingested from external sources while providing you with the ability to structure, label, and enhance incoming data using Experience Platform services. You can ingest data from a variety of sources such as Adobe applications, cloud-based storage, databases, and many others.
Experience Platform provides support for ingesting data from streaming applications. Support for messaging providers includes WhatsApp.
WhatsApp Business is a messaging platform that businesses use to communicate with customers over WhatsApp. The WhatsApp source streams inbound messages that your customers send to your WhatsApp Business phone number into Experience Platform in near real time.
Meta delivers each message to a Platform streaming endpoint (a webhook), where it is captured as a raw Experience Event record and added to a dataset in the data lake for downstream use. The connector ingests the raw webhook payload as is, so every WhatsApp message type is preserved.
How the connector works how-it-works
The WhatsApp source follows this sequence to bring a message into Experience Platform:
- A customer sends a message to your WhatsApp Business phone number.
- Meta signs the webhook payload with your App Secret (
X-Hub-Signature-256) and sends it to the Callback URL you configured on the Platform streaming endpoint. - Platform validates the signature, captures the raw payload as an Experience Event, and adds it to your WhatsApp dataset.
Prerequisites prerequisites
Before you create a WhatsApp source connection, complete the following on Meta at developers.facebook.com:
- Create a Meta app of type Business, and add the WhatsApp product to it.
- Create a WhatsApp Business Account (WABA) with a registered phone number.
- Ensure the app has the
whatsapp_business_managementandwhatsapp_business_messagingpermissions. - From App Settings > Basic, copy your App Secret. Meta uses the App Secret to sign webhook payloads.
- Choose a Verify Token. It can be any string, and it is a shared secret you enter on both Platform and Meta.
The following table describes where to find each credential and what it is used for.
X-Hub-Signature-256 signature on every inbound webhook.Subscribe your app to the WABA subscribe-app
Subscribe your Meta app to the WhatsApp Business Account so that Meta routes that WABA’s events to your app. This step is required and happens entirely on Meta, but delivery only begins after you configure the Callback URL. See Connect WhatsApp Business to Experience Platform.
Subscribe your app using the Graph API:
POST https://graph.facebook.com/{VERSION}/{WHATSAPP_BUSINESS_ACCOUNT_ID}/subscribed_apps
Verify the subscription with:
GET https://graph.facebook.com/{VERSION}/{WHATSAPP_BUSINESS_ACCOUNT_ID}/subscribed_apps
Both calls require a token with the whatsapp_business_management permission and access to the WABA. Replace {VERSION} with a current Graph API version, for example v21.0 or later.
What the connector provisions automatically automatic-provisioning
When you finish creating a WhatsApp dataflow, the connector creates and wires the following entities. You do not select a target dataset or map fields yourself.
X-Hub-Signature-256 signature validation and the verify-token handshake.Rotate secrets rotate-secrets
You can rotate your App Secret or Verify Token at any time by updating the connection. Platform supports a primary and a secondary secret so that you can roll the App Secret without downtime. Add the new value as the primary secret while keeping the previous value as the secondary secret during the transition. Updating the connection applies the change to all dataflows that use it.
Troubleshooting troubleshooting
The following table describes common issues and how to resolve them.
Connect WhatsApp to Experience Platform connect-to-platform
The documentation below provides information on how to create a WhatsApp streaming connector to connect with Experience Platform using the user interface: