WhatsApp é uma plataforma de mensagens popular globalmente que possibilita comunicação segura e confiável entre indivíduos e empresas.
A WhatsApp Business API oferece às organizações capacidades poderosas para:
- Engajar clientes: Enviar mensagens personalizadas, notificações e atualizações diretamente no app de mensagens preferido dos clientes
- Automatizar conversas: Criar chatbots interativos e sistemas de resposta automatizada para consultas comuns
- Aprimorar o suporte: Oferecer atendimento ao cliente em tempo real por meio de uma interface familiar com suporte a mídia rica
- Impulsionar conversões: Facilitar transações e follow-ups com clientes em um ambiente seguro e em conformidade
No Zoen, a integração do WhatsApp permite que seus agentes aproveitem essas capacidades de mensagens como parte dos seus fluxos de trabalho. Isso cria oportunidades para cenários sofisticados de engajamento, como lembretes de compromissos, códigos de verificação, alertas e conversas interativas. A integração conecta seus fluxos de IA aos canais de comunicação com o cliente, permitindo que seus agentes entreguem informações oportunas e relevantes diretamente aos dispositivos móveis dos usuários. Ao conectar o Zoen ao WhatsApp, você pode construir agentes inteligentes que engajam clientes pela plataforma de mensagens preferida deles, melhorando a experiência do usuário e automatizando tarefas rotineiras de mensagens.
Integrate WhatsApp into the workflow. Send text, template, media, and interactive messages, react to messages, and mark messages as read through the WhatsApp Cloud API.
Send a text message through the WhatsApp Cloud API.
| Parameter | Type | Required | Description |
|---|
phoneNumber | string | Yes | Recipient phone number with country code (e.g., +14155552671) |
message | string | Yes | Plain text message content to send |
phoneNumberId | string | Yes | WhatsApp Business Phone Number ID (from Meta Business Suite) |
previewUrl | boolean | No | Whether WhatsApp should try to render a link preview for the first URL in the message |
| Parameter | Type | Description |
|---|
success | boolean | WhatsApp message send success status |
messageId | string | Unique WhatsApp message identifier |
messageStatus | string | Initial delivery state returned by the API |
messagingProduct | string | Messaging product returned by the API |
inputPhoneNumber | string | Recipient phone number echoed back by WhatsApp |
whatsappUserId | string | WhatsApp user ID resolved for the recipient |
contacts | array | Recipient contact records returned by WhatsApp |
↳ input | string | Input phone number sent to the API |
↳ wa_id | string | WhatsApp user ID associated with the recipient |
Send a pre-approved WhatsApp template message with a language and optional variable components.
| Parameter | Type | Required | Description |
|---|
phoneNumber | string | Yes | Recipient phone number with country code (e.g., +14155552671) |
templateName | string | Yes | Name of the approved message template |
languageCode | string | Yes | Template language/locale code (e.g., en_US) |
components | json | No | Template components array with parameters for header/body/button variables, per the WhatsApp template message schema |
phoneNumberId | string | Yes | WhatsApp Business Phone Number ID (from Meta Business Suite) |
| Parameter | Type | Description |
|---|
success | boolean | Send success status |
messageId | string | WhatsApp message identifier |
messageStatus | string | Initial delivery state returned by the send API, such as accepted or paused |
messagingProduct | string | Messaging product returned by the send API |
inputPhoneNumber | string | Recipient phone number echoed by the send API |
whatsappUserId | string | Resolved WhatsApp user ID for the recipient |
contacts | array | Recipient contacts returned by the send API (each item includes input and wa_id) |
eventType | string | Webhook classification such as incoming_message, message_status, or mixed |
from | string | Sender phone number from the first incoming message |
recipientId | string | Recipient phone number from the first status update in the batch |
phoneNumberId | string | Business phone number ID from the first message or status item in the batch |
displayPhoneNumber | string | Business display phone number from the first message or status item in the batch |
text | string | Text body from the first incoming text message |
timestamp | string | Timestamp from the first message or status item in the batch |
messageType | string | Type of the first incoming message in the batch, such as text, image, or system |
status | string | First outgoing message status in the batch, such as sent, delivered, or read |
contact | json | First sender contact in the webhook batch (wa_id, profile.name) |
messages | json | All incoming message objects from the webhook batch, flattened across entries/changes |
statuses | json | All message status objects from the webhook batch, flattened across entries/changes |
webhookContacts | json | All sender contact profiles from the webhook batch |
conversation | json | Conversation metadata from the first status update in the batch (id, expiration_timestamp, origin.type) |
pricing | json | Pricing metadata from the first status update in the batch (billable, pricing_model, category) |
raw | json | Full structured WhatsApp webhook payload |
error | string | Error information if sending fails |
Send an image, document, video, or audio message via a public link or an uploaded media ID.
| Parameter | Type | Required | Description |
|---|
phoneNumber | string | Yes | Recipient phone number with country code (e.g., +14155552671) |
mediaType | string | Yes | Type of media to send: image, document, video, or audio |
mediaLink | string | No | Public HTTPS URL of the media (provide this or mediaId) |
mediaId | string | No | ID of media previously uploaded to WhatsApp (provide this or mediaLink) |
caption | string | No | Optional caption for image, video, or document media |
filename | string | No | Optional file name shown to the recipient for document media |
phoneNumberId | string | Yes | WhatsApp Business Phone Number ID (from Meta Business Suite) |
| Parameter | Type | Description |
|---|
success | boolean | Send success status |
messageId | string | WhatsApp message identifier |
messageStatus | string | Initial delivery state returned by the send API, such as accepted or paused |
messagingProduct | string | Messaging product returned by the send API |
inputPhoneNumber | string | Recipient phone number echoed by the send API |
whatsappUserId | string | Resolved WhatsApp user ID for the recipient |
contacts | array | Recipient contacts returned by the send API (each item includes input and wa_id) |
eventType | string | Webhook classification such as incoming_message, message_status, or mixed |
from | string | Sender phone number from the first incoming message |
recipientId | string | Recipient phone number from the first status update in the batch |
phoneNumberId | string | Business phone number ID from the first message or status item in the batch |
displayPhoneNumber | string | Business display phone number from the first message or status item in the batch |
text | string | Text body from the first incoming text message |
timestamp | string | Timestamp from the first message or status item in the batch |
messageType | string | Type of the first incoming message in the batch, such as text, image, or system |
status | string | First outgoing message status in the batch, such as sent, delivered, or read |
contact | json | First sender contact in the webhook batch (wa_id, profile.name) |
messages | json | All incoming message objects from the webhook batch, flattened across entries/changes |
statuses | json | All message status objects from the webhook batch, flattened across entries/changes |
webhookContacts | json | All sender contact profiles from the webhook batch |
conversation | json | Conversation metadata from the first status update in the batch (id, expiration_timestamp, origin.type) |
pricing | json | Pricing metadata from the first status update in the batch (billable, pricing_model, category) |
raw | json | Full structured WhatsApp webhook payload |
error | string | Error information if sending fails |
Send an interactive WhatsApp message with reply buttons or a selectable list.
| Parameter | Type | Required | Description |
|---|
phoneNumber | string | Yes | Recipient phone number with country code (e.g., +14155552671) |
bodyText | string | Yes | Main body text of the interactive message |
headerText | string | No | Optional plain-text header shown above the body |
footerText | string | No | Optional footer text shown below the body |
buttons | json | No | Reply buttons array (max 3), each item: { "type": "reply", "reply": { "id": "...", "title": "..." } }. Provide buttons or sections. |
listButtonText | string | No | Label for the menu button that opens the list (required when sending a list) |
sections | json | No | List sections array, each item: { "title": "...", "rows": [{ "id": "...", "title": "...", "description": "..." }] }. Provide sections or buttons. |
phoneNumberId | string | Yes | WhatsApp Business Phone Number ID (from Meta Business Suite) |
| Parameter | Type | Description |
|---|
success | boolean | Send success status |
messageId | string | WhatsApp message identifier |
messageStatus | string | Initial delivery state returned by the send API, such as accepted or paused |
messagingProduct | string | Messaging product returned by the send API |
inputPhoneNumber | string | Recipient phone number echoed by the send API |
whatsappUserId | string | Resolved WhatsApp user ID for the recipient |
contacts | array | Recipient contacts returned by the send API (each item includes input and wa_id) |
eventType | string | Webhook classification such as incoming_message, message_status, or mixed |
from | string | Sender phone number from the first incoming message |
recipientId | string | Recipient phone number from the first status update in the batch |
phoneNumberId | string | Business phone number ID from the first message or status item in the batch |
displayPhoneNumber | string | Business display phone number from the first message or status item in the batch |
text | string | Text body from the first incoming text message |
timestamp | string | Timestamp from the first message or status item in the batch |
messageType | string | Type of the first incoming message in the batch, such as text, image, or system |
status | string | First outgoing message status in the batch, such as sent, delivered, or read |
contact | json | First sender contact in the webhook batch (wa_id, profile.name) |
messages | json | All incoming message objects from the webhook batch, flattened across entries/changes |
statuses | json | All message status objects from the webhook batch, flattened across entries/changes |
webhookContacts | json | All sender contact profiles from the webhook batch |
conversation | json | Conversation metadata from the first status update in the batch (id, expiration_timestamp, origin.type) |
pricing | json | Pricing metadata from the first status update in the batch (billable, pricing_model, category) |
raw | json | Full structured WhatsApp webhook payload |
error | string | Error information if sending fails |
React to a WhatsApp message with an emoji. Send an empty emoji to remove an existing reaction.
| Parameter | Type | Required | Description |
|---|
phoneNumber | string | Yes | Recipient phone number with country code (e.g., +14155552671) |
messageId | string | Yes | ID (wamid) of the message to react to |
emoji | string | No | Emoji to react with. Leave empty to remove an existing reaction. |
phoneNumberId | string | Yes | WhatsApp Business Phone Number ID (from Meta Business Suite) |
| Parameter | Type | Description |
|---|
success | boolean | Send success status |
messageId | string | WhatsApp message identifier |
messageStatus | string | Initial delivery state returned by the send API, such as accepted or paused |
messagingProduct | string | Messaging product returned by the send API |
inputPhoneNumber | string | Recipient phone number echoed by the send API |
whatsappUserId | string | Resolved WhatsApp user ID for the recipient |
contacts | array | Recipient contacts returned by the send API (each item includes input and wa_id) |
eventType | string | Webhook classification such as incoming_message, message_status, or mixed |
from | string | Sender phone number from the first incoming message |
recipientId | string | Recipient phone number from the first status update in the batch |
phoneNumberId | string | Business phone number ID from the first message or status item in the batch |
displayPhoneNumber | string | Business display phone number from the first message or status item in the batch |
text | string | Text body from the first incoming text message |
timestamp | string | Timestamp from the first message or status item in the batch |
messageType | string | Type of the first incoming message in the batch, such as text, image, or system |
status | string | First outgoing message status in the batch, such as sent, delivered, or read |
contact | json | First sender contact in the webhook batch (wa_id, profile.name) |
messages | json | All incoming message objects from the webhook batch, flattened across entries/changes |
statuses | json | All message status objects from the webhook batch, flattened across entries/changes |
webhookContacts | json | All sender contact profiles from the webhook batch |
conversation | json | Conversation metadata from the first status update in the batch (id, expiration_timestamp, origin.type) |
pricing | json | Pricing metadata from the first status update in the batch (billable, pricing_model, category) |
raw | json | Full structured WhatsApp webhook payload |
error | string | Error information if sending fails |
Mark a received WhatsApp message as read so the sender sees blue checkmarks.
| Parameter | Type | Required | Description |
|---|
messageId | string | Yes | ID (wamid) of the incoming message to mark as read |
phoneNumberId | string | Yes | WhatsApp Business Phone Number ID (from Meta Business Suite) |
| Parameter | Type | Description |
|---|
success | boolean | Whether the message was successfully marked as read |
A Trigger is a block that starts a workflow when an event happens in this service.
Trigger workflow from WhatsApp incoming messages and message status webhooks
| Parameter | Type | Required | Description |
|---|
verificationToken | string | Yes | Enter any secure token here. You |
appSecret | string | Yes | Required for WhatsApp POST signature verification. Zoen uses it to validate the X-Hub-Signature-256 header on every webhook delivery. |
| Parameter | Type | Description |
|---|
eventType | string | Webhook classification such as incoming_message, message_status, or mixed |
messageId | string | First WhatsApp message identifier (wamid) found in the webhook batch |
from | string | Sender phone number from the first incoming message in the batch |
recipientId | string | Recipient phone number from the first status update in the batch |
phoneNumberId | string | Business phone number ID from the first message or status item in the batch |
displayPhoneNumber | string | Business display phone number from the first message or status item in the batch |
text | string | Text body from the first incoming text message in the batch |
timestamp | string | Timestamp from the first message or status item in the batch |
messageType | string | Type of the first incoming message in the batch (text, image, system, etc.) |
status | string | First outgoing message status in the batch, such as sent, delivered, read, or failed |
contact | json | First sender contact in the batch (wa_id, profile.name) |
webhookContacts | json | All sender contact profiles from the webhook batch |
messages | json | All incoming message objects from the webhook batch, flattened across entries/changes |
statuses | json | All message status objects from the webhook batch, flattened across entries/changes |
conversation | json | Conversation metadata from the first status update in the batch (id, expiration_timestamp, origin.type) |
pricing | json | Pricing metadata from the first status update in the batch (billable, pricing_model, category) |
raw | json | Complete structured webhook payload from WhatsApp |