WhatsApp Trigger
The WhatsApp Trigger fires your workflow the instant a WhatsApp message arrives on your business number. It supports two providers — Meta Cloud API (direct from Meta/Facebook) and Twilio — so you can choose whichever platform your team already uses.
How it works: When a customer sends a WhatsApp message to your business number, Meta or Twilio immediately forwards it to InditeAI via a webhook. Your workflow starts executing within milliseconds.
Key Features
- Real-time triggering — workflows start the instant a message arrives
- Two providers supported — Meta Cloud API and Twilio
- Rich message data — access message text, sender, media URLs, and more
- Media support — handle text, image, video, audio, document, and location messages
- Secure verification — webhook tokens prevent unauthorized triggers
Output Variables
Every time the trigger fires, the following variables are available in subsequent blocks:
| Variable | Description |
|---|---|
messageBody | The text content of the incoming message |
from | Sender's phone number (e.g. 917567506308) |
to | Your registered WhatsApp business number |
messageType | text · image · video · audio · document · location · interactive |
messageId | Unique message ID (e.g. wamid.HBgM…) |
profileName | Sender's WhatsApp display name |
timestamp | Unix timestamp when the message was sent |
mediaUrl | Download URL for image / video / audio / document (empty for text) |
provider | meta or twilio depending on your setup |
rawPayload | Full raw webhook payload from the provider |
Setup Guide
Setting Up via Meta Cloud API
Meta's Cloud API gives you a direct connection to WhatsApp without any per-message fees beyond Meta's own pricing.
Prerequisites
- A Meta Business Account
- A WhatsApp Business Account linked to that Meta Business
- A Meta App (type: Business) created at developers.facebook.com (opens in a new tab)
- A phone number added and verified in your WhatsApp Business Account
Step 1 — Add the Trigger in InditeAI
- Open your workflow and drag the WhatsApp block onto the canvas as the first block.
- In the settings panel, select Meta as the provider.
- Click Connect Meta Account and follow the OAuth flow to grant the required permissions (
whatsapp_business_messaging,whatsapp_business_management). - Select your WhatsApp Business Account and the phone number you want to listen on.
- Note the Webhook URL and Verify Token shown in the settings — you will need them in the next steps.
Step 2 — Create a Meta App (if you don't have one)
- Go to https://developers.facebook.com/apps/ (opens in a new tab) and click Create App.
- Select Business as the app type and click Next.
- Fill in your app name, contact email, and link your Business Account, then click Create App.
Step 3 — Add WhatsApp to Your App
- Inside your app dashboard, click Add Product in the left sidebar.
- Find WhatsApp and click Set Up.
- Under Getting Started, select your WhatsApp Business Account from the dropdown.
- Meta will display a temporary test phone number. For production you will add your real number in Step 5 — Phone Numbers.
Step 4 — Configure the Webhook
- In the left sidebar of your Meta App dashboard, go to WhatsApp → Configuration.
- In the Webhook section, click Edit.
- Paste your Webhook URL from InditeAI into the Callback URL field.
- Paste your Verify Token from InditeAI into the Verify Token field.
- Click Verify and Save — Meta will make a
GETrequest to confirm your webhook is reachable.
Your InditeAI workflow must be published before Meta can verify the webhook. If you see a verification error, publish the workflow first and try again.
Step 5 — Subscribe to Message Events
- After the webhook is verified, go back to the Webhook Fields section.
- Find the
messagesfield in the list and click Subscribe. - This tells Meta to send incoming message events to your webhook URL.
Step 6 — Add a Production Phone Number (optional for new apps)
- In the left sidebar under WhatsApp, click Phone Numbers.
- Click Add Phone Number and follow the verification steps (SMS or voice call).
- Once verified, go back to Configuration and make sure your webhook is associated with this phone number.
Step 7 — Test It
- In Meta's API Explorer, send a test message to your phone number.
- Check InditeAI's execution log — you should see the workflow run.
- If it doesn't trigger, verify:
- The webhook is Verified (green tick) in Meta dashboard
- The
messagessubscription is active - Your workflow is in Published state
App Review: For production use beyond a small test list, Meta requires app review for the whatsapp_business_messaging permission. Submit your app for review at developers.facebook.com/apps (opens in a new tab) → App Review.
Handling Different Message Types
The messageType variable tells you what kind of message was received. Use a Condition block after the trigger to branch your workflow:
messageType | What it means | mediaUrl available? |
|---|---|---|
text | Plain text message | No |
image | Photo | Yes |
video | Video file | Yes |
audio | Voice note or audio file | Yes |
document | PDF, Word, etc. | Yes |
location | GPS coordinates | No |
interactive | Button reply or list reply | No |
Example flow for media:
WhatsApp Trigger
→ Condition: messageType == "image"
→ Download image from mediaUrl
→ Run OCR or AI analysis
→ Condition: messageType == "text"
→ AI Reply blockExample Use Cases
Customer Support Bot
WhatsApp Trigger → AI Chat block → Send WhatsApp ReplyAutomatically respond to incoming messages with an AI assistant.
Lead Capture
WhatsApp Trigger → Extract Variables → Save to Google Sheets → Send Welcome ReplyWhen a customer messages "Hello", capture their name and number in a spreadsheet.
Order Status Lookup
WhatsApp Trigger → HTTP Request (lookup order by phone) → Send WhatsApp ReplyLet customers type their order ID and get an instant status update.
Media Processing
WhatsApp Trigger
→ Condition: messageType == "document"
→ Download PDF from mediaUrl
→ AI Summarize
→ Send summary back via WhatsAppTroubleshooting
| Problem | What to check |
|---|---|
| Workflow not triggering | Is the workflow Published? Is the webhook Verified in Meta / saved in Twilio? |
| Webhook verification failing (Meta) | Publish the workflow before clicking Verify in Meta dashboard |
from number looks different | Phone numbers arrive in E.164 format without + (e.g. 917567506308) |
| Media URL returns 403 | Media URLs from Meta expire after ~5 minutes — download immediately in the workflow |
| Twilio sandbox messages not arriving | The sender must have sent join <keyword> to the sandbox number first |
| Duplicate triggers | Ensure only one workflow is subscribed to the same webhook URL |
Need help? If your webhook isn't firing, use your provider's webhook logs to inspect the raw request:
- Meta: App Dashboard → WhatsApp → Configuration → Webhook Logs
- Twilio: Console → Monitor → Logs → Messaging