AACFlow

WhatsApp

WhatsApp is a globally popular messaging platform that enables secure, reliable communication between individuals and businesses.

WhatsApp Business API provides organizations with powerful capabilities to:

  • Engage customers: Send personalized messages, notifications, and updates directly to customers' preferred messaging app
  • Automate conversations: Create interactive chatbots and automated response systems for common inquiries
  • Enhance support: Provide real-time customer service through a familiar interface with rich media support
  • Drive conversions: Facilitate transactions and follow-ups with customers in a secure, compliant environment

In AACFlow.io, the WhatsApp integration enables your agents to leverage these messaging capabilities as part of their workflows. This creates opportunities for sophisticated customer engagement scenarios like appointment reminders, verification codes, alerts, and interactive conversations. The integration bridges the gap between your AI workflows and customer communication channels, allowing your agents to deliver timely, relevant information directly to users' mobile devices. By connecting AACFlow.io with WhatsApp, you can build intelligent agents that engage customers through their preferred messaging platform, enhancing user experience while automating routine messaging tasks.

Usage Instructions

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.

Actions

whatsapp_send_message

Send a text message through the WhatsApp Cloud API.

Input

ParameterTypeRequiredDescription
phoneNumberstringYesRecipient phone number with country code (e.g., +14155552671)
messagestringYesPlain text message content to send
phoneNumberIdstringYesWhatsApp Business Phone Number ID (from Meta Business Suite)
previewUrlbooleanNoWhether WhatsApp should try to render a link preview for the first URL in the message

Output

ParameterTypeDescription
successbooleanWhatsApp message send success status
messageIdstringUnique WhatsApp message identifier
messageStatusstringInitial delivery state returned by the API
messagingProductstringMessaging product returned by the API
inputPhoneNumberstringRecipient phone number echoed back by WhatsApp
whatsappUserIdstringWhatsApp user ID resolved for the recipient
contactsarrayRecipient contact records returned by WhatsApp
inputstringInput phone number sent to the API
wa_idstringWhatsApp user ID associated with the recipient

whatsapp_send_template

Send a pre-approved WhatsApp template message with a language and optional variable components.

Input

ParameterTypeRequiredDescription
phoneNumberstringYesRecipient phone number with country code (e.g., +14155552671)
templateNamestringYesName of the approved message template
languageCodestringYesTemplate language/locale code (e.g., en_US)
componentsjsonNoTemplate components array with parameters for header/body/button variables, per the WhatsApp template message schema
phoneNumberIdstringYesWhatsApp Business Phone Number ID (from Meta Business Suite)

Output

ParameterTypeDescription
successbooleanSend success status
messageIdstringWhatsApp message identifier
messageStatusstringInitial delivery state returned by the send API, such as accepted or paused
messagingProductstringMessaging product returned by the send API
inputPhoneNumberstringRecipient phone number echoed by the send API
whatsappUserIdstringResolved WhatsApp user ID for the recipient
contactsarrayRecipient contacts returned by the send API (each item includes input and wa_id)
eventTypestringWebhook classification such as incoming_message, message_status, or mixed
fromstringSender phone number from the first incoming message
recipientIdstringRecipient phone number from the first status update in the batch
phoneNumberIdstringBusiness phone number ID from the first message or status item in the batch
displayPhoneNumberstringBusiness display phone number from the first message or status item in the batch
textstringText body from the first incoming text message
timestampstringTimestamp from the first message or status item in the batch
messageTypestringType of the first incoming message in the batch, such as text, image, or system
statusstringFirst outgoing message status in the batch, such as sent, delivered, or read
contactjsonFirst sender contact in the webhook batch (wa_id, profile.name)
messagesjsonAll incoming message objects from the webhook batch, flattened across entries/changes
statusesjsonAll message status objects from the webhook batch, flattened across entries/changes
webhookContactsjsonAll sender contact profiles from the webhook batch
conversationjsonConversation metadata from the first status update in the batch (id, expiration_timestamp, origin.type)
pricingjsonPricing metadata from the first status update in the batch (billable, pricing_model, category)
rawjsonFull structured WhatsApp webhook payload
errorstringError information if sending fails

whatsapp_send_media

Send an image, document, video, or audio message via a public link or an uploaded media ID.

Input

ParameterTypeRequiredDescription
phoneNumberstringYesRecipient phone number with country code (e.g., +14155552671)
mediaTypestringYesType of media to send: image, document, video, or audio
mediaLinkstringNoPublic HTTPS URL of the media (provide this or mediaId)
mediaIdstringNoID of media previously uploaded to WhatsApp (provide this or mediaLink)
captionstringNoOptional caption for image, video, or document media
filenamestringNoOptional file name shown to the recipient for document media
phoneNumberIdstringYesWhatsApp Business Phone Number ID (from Meta Business Suite)

Output

ParameterTypeDescription
successbooleanSend success status
messageIdstringWhatsApp message identifier
messageStatusstringInitial delivery state returned by the send API, such as accepted or paused
messagingProductstringMessaging product returned by the send API
inputPhoneNumberstringRecipient phone number echoed by the send API
whatsappUserIdstringResolved WhatsApp user ID for the recipient
contactsarrayRecipient contacts returned by the send API (each item includes input and wa_id)
eventTypestringWebhook classification such as incoming_message, message_status, or mixed
fromstringSender phone number from the first incoming message
recipientIdstringRecipient phone number from the first status update in the batch
phoneNumberIdstringBusiness phone number ID from the first message or status item in the batch
displayPhoneNumberstringBusiness display phone number from the first message or status item in the batch
textstringText body from the first incoming text message
timestampstringTimestamp from the first message or status item in the batch
messageTypestringType of the first incoming message in the batch, such as text, image, or system
statusstringFirst outgoing message status in the batch, such as sent, delivered, or read
contactjsonFirst sender contact in the webhook batch (wa_id, profile.name)
messagesjsonAll incoming message objects from the webhook batch, flattened across entries/changes
statusesjsonAll message status objects from the webhook batch, flattened across entries/changes
webhookContactsjsonAll sender contact profiles from the webhook batch
conversationjsonConversation metadata from the first status update in the batch (id, expiration_timestamp, origin.type)
pricingjsonPricing metadata from the first status update in the batch (billable, pricing_model, category)
rawjsonFull structured WhatsApp webhook payload
errorstringError information if sending fails

whatsapp_send_interactive

Send an interactive WhatsApp message with reply buttons or a selectable list.

Input

ParameterTypeRequiredDescription
phoneNumberstringYesRecipient phone number with country code (e.g., +14155552671)
bodyTextstringYesMain body text of the interactive message
headerTextstringNoOptional plain-text header shown above the body
footerTextstringNoOptional footer text shown below the body
buttonsjsonNoReply buttons array (max 3), each item: { "type": "reply", "reply": { "id": "...", "title": "..." } }. Provide buttons or sections.
listButtonTextstringNoLabel for the menu button that opens the list (required when sending a list)
sectionsjsonNoList sections array, each item: { "title": "...", "rows": [{ "id": "...", "title": "...", "description": "..." }] }. Provide sections or buttons.
phoneNumberIdstringYesWhatsApp Business Phone Number ID (from Meta Business Suite)

Output

ParameterTypeDescription
successbooleanSend success status
messageIdstringWhatsApp message identifier
messageStatusstringInitial delivery state returned by the send API, such as accepted or paused
messagingProductstringMessaging product returned by the send API
inputPhoneNumberstringRecipient phone number echoed by the send API
whatsappUserIdstringResolved WhatsApp user ID for the recipient
contactsarrayRecipient contacts returned by the send API (each item includes input and wa_id)
eventTypestringWebhook classification such as incoming_message, message_status, or mixed
fromstringSender phone number from the first incoming message
recipientIdstringRecipient phone number from the first status update in the batch
phoneNumberIdstringBusiness phone number ID from the first message or status item in the batch
displayPhoneNumberstringBusiness display phone number from the first message or status item in the batch
textstringText body from the first incoming text message
timestampstringTimestamp from the first message or status item in the batch
messageTypestringType of the first incoming message in the batch, such as text, image, or system
statusstringFirst outgoing message status in the batch, such as sent, delivered, or read
contactjsonFirst sender contact in the webhook batch (wa_id, profile.name)
messagesjsonAll incoming message objects from the webhook batch, flattened across entries/changes
statusesjsonAll message status objects from the webhook batch, flattened across entries/changes
webhookContactsjsonAll sender contact profiles from the webhook batch
conversationjsonConversation metadata from the first status update in the batch (id, expiration_timestamp, origin.type)
pricingjsonPricing metadata from the first status update in the batch (billable, pricing_model, category)
rawjsonFull structured WhatsApp webhook payload
errorstringError information if sending fails

whatsapp_send_reaction

React to a WhatsApp message with an emoji. Send an empty emoji to remove an existing reaction.

Input

ParameterTypeRequiredDescription
phoneNumberstringYesRecipient phone number with country code (e.g., +14155552671)
messageIdstringYesID (wamid) of the message to react to
emojistringNoEmoji to react with. Leave empty to remove an existing reaction.
phoneNumberIdstringYesWhatsApp Business Phone Number ID (from Meta Business Suite)

Output

ParameterTypeDescription
successbooleanSend success status
messageIdstringWhatsApp message identifier
messageStatusstringInitial delivery state returned by the send API, such as accepted or paused
messagingProductstringMessaging product returned by the send API
inputPhoneNumberstringRecipient phone number echoed by the send API
whatsappUserIdstringResolved WhatsApp user ID for the recipient
contactsarrayRecipient contacts returned by the send API (each item includes input and wa_id)
eventTypestringWebhook classification such as incoming_message, message_status, or mixed
fromstringSender phone number from the first incoming message
recipientIdstringRecipient phone number from the first status update in the batch
phoneNumberIdstringBusiness phone number ID from the first message or status item in the batch
displayPhoneNumberstringBusiness display phone number from the first message or status item in the batch
textstringText body from the first incoming text message
timestampstringTimestamp from the first message or status item in the batch
messageTypestringType of the first incoming message in the batch, such as text, image, or system
statusstringFirst outgoing message status in the batch, such as sent, delivered, or read
contactjsonFirst sender contact in the webhook batch (wa_id, profile.name)
messagesjsonAll incoming message objects from the webhook batch, flattened across entries/changes
statusesjsonAll message status objects from the webhook batch, flattened across entries/changes
webhookContactsjsonAll sender contact profiles from the webhook batch
conversationjsonConversation metadata from the first status update in the batch (id, expiration_timestamp, origin.type)
pricingjsonPricing metadata from the first status update in the batch (billable, pricing_model, category)
rawjsonFull structured WhatsApp webhook payload
errorstringError information if sending fails

whatsapp_mark_read

Mark a received WhatsApp message as read so the sender sees blue checkmarks.

Input

ParameterTypeRequiredDescription
messageIdstringYesID (wamid) of the incoming message to mark as read
phoneNumberIdstringYesWhatsApp Business Phone Number ID (from Meta Business Suite)

Output

ParameterTypeDescription
successbooleanWhether the message was successfully marked as read

Triggers

A Trigger is a block that starts a workflow when an event happens in this service.

WhatsApp Webhook

Trigger workflow from WhatsApp incoming messages and message status webhooks

Configuration

ParameterTypeRequiredDescription
verificationTokenstringYesEnter any secure token here. You
appSecretstringYesRequired for WhatsApp POST signature verification. AACFlow.io uses it to validate the X-Hub-Signature-256 header on every webhook delivery.

Output

ParameterTypeDescription
eventTypestringWebhook classification such as incoming_message, message_status, or mixed
messageIdstringFirst WhatsApp message identifier (wamid) found in the webhook batch
fromstringSender phone number from the first incoming message in the batch
recipientIdstringRecipient phone number from the first status update in the batch
phoneNumberIdstringBusiness phone number ID from the first message or status item in the batch
displayPhoneNumberstringBusiness display phone number from the first message or status item in the batch
textstringText body from the first incoming text message in the batch
timestampstringTimestamp from the first message or status item in the batch
messageTypestringType of the first incoming message in the batch (text, image, system, etc.)
statusstringFirst outgoing message status in the batch, such as sent, delivered, read, or failed
contactjsonFirst sender contact in the batch (wa_id, profile.name)
webhookContactsjsonAll sender contact profiles from the webhook batch
messagesjsonAll incoming message objects from the webhook batch, flattened across entries/changes
statusesjsonAll message status objects from the webhook batch, flattened across entries/changes
conversationjsonConversation metadata from the first status update in the batch (id, expiration_timestamp, origin.type)
pricingjsonPricing metadata from the first status update in the batch (billable, pricing_model, category)
rawjsonComplete structured webhook payload from WhatsApp

On this page