Skip to Content

Triggers

Bahasha triggers use Zapier instant REST Hooks. A live subscription is created when a Zap is enabled and removed when that Zap is disabled.

Trigger testing uses static sample records. Historical WhatsApp events are not replayed. Enable the Zap, then produce a new event to test the live workflow.

New WhatsApp Message Received

Runs when the selected Bahasha WhatsApp number receives a new message. Select a specific business phone number when configuring the trigger.

Inbound media is persisted before Bahasha delivers the trigger, so media.url points to a usable Bahasha-hosted file when the Zap starts.

Messages can include:

  • Text and captions.
  • Images, video, audio, and documents.
  • Button, list, and flow responses.
  • Reply-to message identifiers.
  • The customer’s WhatsApp profile name when provided by Meta.

Message Status Updated

Runs when a message sent through the selected number changes status. Filter the trigger to one or more statuses, or leave the status filter empty to receive every transition.

Supported statuses are:

  • sent
  • delivered
  • read
  • failed

Failed status events include available Meta failure codes and descriptions.

Custom Workflow Trigger

Runs when an organization-defined workflow trigger is called by an AI assistant or manually from Bahasha. User-defined values are delivered under params. Conversation metadata is delivered separately under context so it cannot collide with trigger parameters:

{ "context": { "chat_id": "507f1f77bcf86cd799439011", "phone_number_id": "123456789" }, "params": { "customer_email": "[email protected]" } }

For manual calls without a conversation, both context values are null. Bahasha injects these identifiers programmatically; they are not fields the AI assistant or customer supplies.

Trigger fields

FieldDescription
idStable Bahasha event identifier
event_typemessage.received or message.status_updated
occurred_atISO-8601 event timestamp
business_phone_number_idMeta ID for the selected Bahasha number
business_phone_numberDisplay phone number
customer_phone_numberCustomer WhatsApp number
customer_nameWhatsApp profile name, when available
message_idMeta wamid message identifier
message_typeText, image, video, audio, document, interactive, or another Meta type
textExtracted message text or caption
reply_to_message_idMessage being replied to, when present
interactive_replyButton, list, or flow response details
mediaMedia ID, Bahasha URL, MIME type, caption, and filename
statusCurrent delivery status on a status event
failureFailure code, title, message, and details when delivery fails

Delivery behavior

Bahasha publishes an event only after the message or status has been persisted. Temporary delivery failures are retried four times with exponential backoff. Delivery is at least once, and the stable event id allows Zapier to identify retries.