Whatsapp Trigger
Overview
The WhatsApp Trigger node automatically starts your workflow whenever a new WhatsApp message is received. It's perfect for automating responses, logging incoming chats, or kicking off custom actions when someone messages you on WhatsApp.
Description
Trigger workflow when a WhatsApp message is received via Twilio.
This node listens for incoming WhatsApp messages through your Twilio-connected WhatsApp number. Whenever someone sends a text or media message, it instantly activates the workflow and passes the message details — like sender name, message body, and attachments — to the next steps in your automation.
You can use it to:
- Send auto-replies to specific keywords.
- Store received messages in a database.
- Forward media or text to another channel.
- Trigger smart responses using AI nodes.
All message data is automatically captured by the node, so you don't need to configure anything manually. However, you must integrate with Twilio via Settings > Integrations and configure the webhook URL in Twilio's console to enable message reception.
Input Parameters
The WhatsApp Trigger includes five automatically-filled fields whenever a new message is received.
messageIdstringOptional"1"fromstringOptional"Akshay" or "+919876543210"tostringOptional"John" or "+911234567890"bodystringOptional"meet at evening"filestringOptional"report_2025.pdf"These values are automatically populated by Twilio's webhook system when a WhatsApp message is received — you don't have to set them yourself.
Before messages can be received, you must:
- Integrate with Twilio via Settings > Integrations (see "How to Connect WhatsApp to Twilio" section)
- Configure the webhook URL in Twilio's console
- Ensure the webhook method is set to POST
You can access message data anywhere in the workflow using variables like:
{{whatsappTrigger.input.messageId}}
{{whatsappTrigger.input.from}}
{{whatsappTrigger.input.to}}
{{whatsappTrigger.input.body}}
{{whatsappTrigger.input.file}}
Output Parameters
This node does not produce any output parameters of its own.
It only exposes the incoming WhatsApp message data through {{nodeId.input.*}} for downstream nodes.
You can access incoming WhatsApp message values in other nodes using:
{{whatsappTrigger.input.messageId}}
{{whatsappTrigger.input.from}}
{{whatsappTrigger.input.to}}
{{whatsappTrigger.input.body}}
{{whatsappTrigger.input.file}}
Output Type
Output Type: None
The node does not define or emit any structured output type.
It only forwards the incoming WhatsApp message data as input fields accessible via {{nodeId.input.<key>}}.
Example Usage
Example 1: Basic Text Message
Incoming WhatsApp Message:
When someone sends a message to your Twilio WhatsApp number, the workflow receives:
{ "messageId": "1", "from": "+919876543210", "to": "+911234567890", "body": "meet at evening", "file": null}
Accessing Values Inside the Workflow:
{{whatsappTrigger.input.from}} → "+919876543210"
{{whatsappTrigger.input.to}} → "+911234567890"
{{whatsappTrigger.input.body}} → "meet at evening"
{{whatsappTrigger.input.messageId}} → "1"
The workflow starts automatically when the message arrives, using the text content as input for downstream nodes.
Example 2: Message with Attachment
Incoming WhatsApp Message:
If a message includes media:
{ "messageId": "4523", "from": "+919876543210", "to": "+911234567890", "body": "Please find the attached report.", "file": "report_2025.pdf"}
Accessing Values Inside the Workflow:
{{whatsappTrigger.input.body}} → "Please find the attached report."
{{whatsappTrigger.input.file}} → "report_2025.pdf"
{{whatsappTrigger.input.from}} → "+919876543210"
The workflow can use the file field to download, store, or forward the attachment to another system.
How to Connect WhatsApp to Twilio
Add the WhatsApp Trigger Node
Place the WhatsApp Trigger node at the start of your workflow. It acts as the workflow's entry point for incoming messages.
Integrate with Twilio
To connect your Twilio account:
- Navigate to Settings in the bottom left corner of the page
- Click on Integrations
- Find Twilio in the integrations list and click to integrate
- Enter your Twilio Account SID and Account Auth Token
- Click Connect to complete the integration
We encrypt all your tokens whenever we store them, ensuring your Twilio credentials are kept secure and protected.
If you don't have a Twilio account, create one at twilio.com. You can find your Account SID and Auth Token in your Twilio Console.
Get Your Webhook URL
After adding the WhatsApp Trigger node and integrating with Twilio, the system generates a unique webhook URL for your workflow. This URL will look like:
https://api.worqhat.com/whatsapp/flows/webhooks/organization-{id}/{webhook-id}
Copy this webhook URL — you'll need it to configure Twilio.
Configure Webhook URL in Twilio
Navigate to the Twilio WhatsApp Sandbox Configuration page in your Twilio console.
On the Twilio Sandbox Configuration page, locate the "When a message comes in" section:
- Paste your workflow webhook URL into the input field
- Ensure the Method dropdown is set to POST (this is required)
- The Status callback URL field can be left empty for basic setup
Save Configuration
Click the Save button at the bottom of the form to save your webhook configuration.
Twilio will now send all incoming WhatsApp messages to your workflow webhook URL.
Test the Connection
Send a test WhatsApp message to your Twilio WhatsApp number (usually starts with whatsapp:+14155238886).
The message should trigger your workflow automatically. Check your workflow logs to verify the message was received and processed.
How to Use in a No-Code Workflow
Connect to Action Nodes
Link the WhatsApp Trigger node to other nodes that perform actions — for example, a Send Message, Text Generation, or Return State node.
Use Message Data
You can use dynamic variables like {{whatsappTrigger.input.body}} to read the user's message and respond accordingly.
Example:
{{whatsappTrigger.input.from}} → Sender's WhatsApp number
{{whatsappTrigger.input.body}} → Message text content
{{whatsappTrigger.input.file}} → Attachment file ID (if present)
Save and Activate
Once connected and configured, save and activate the workflow.
Now, every time a WhatsApp message is received at your Twilio number, the workflow will start automatically.
Best Practices
- Ensure your Twilio webhook URL is properly configured with POST method.
- Use
{{whatsappTrigger.input.body}}to check or process the user's text. - If the
filefield has a value, handle it before performing text-only actions. - Store important messages or attachments in a database for record-keeping.
- Combine this node with a Text Generation node to create auto-replies.
- Add a Condition node if you want the workflow to react differently depending on message content.
- Test your webhook connection by sending a test message after configuration.
Do / Don't
- ✔️ Integrate with Twilio via Settings > Integrations before configuring the webhook.
- ✔️ Configure the webhook URL in Twilio console before activating the workflow.
- ✔️ Always use POST method for the webhook URL in Twilio.
- ✔️ Test the connection with a sample message after setup.
- ✔️ Handle both text and media messages in your workflow logic.
- ✔️ Store message data in a database for audit trails.
- ✔️ Use AI nodes for intelligent message processing and responses.
- ❌ Don't skip the Twilio integration step in Settings > Integrations.
- ❌ Don't use GET method for the webhook URL — it must be POST.
- ❌ Don't forget to save the configuration in Twilio console after adding the webhook URL.
- ❌ Don't assume every message has a body — check for media-only messages.
- ❌ Don't process file attachments without validating the
filefield exists. - ❌ Don't skip testing the webhook connection before going to production.
Example Workflow Integration
Use Case: Automatically respond to customer inquiries received via WhatsApp.
- Trigger Node – WhatsApp Trigger (receives incoming messages with sender info and content.)
- AI Node – Text Generation (generates a personalized response based on the message.)
- Utility Node – Send Message (sends the AI-generated reply back to the customer via WhatsApp.)
Additional Use Cases
1. Customer Support Chatbot
A customer sends a WhatsApp message asking about product availability:
{ "messageId": "123", "from": "+919876543210", "to": "+911234567890", "body": "Do you have iPhone 15 in stock?", "file": null}
The workflow analyzes the message, checks inventory via a Database node, and sends an automated response with availability status.
2. Document Processing and Storage
A client sends a document via WhatsApp:
{ "messageId": "456", "from": "+919876543210", "to": "+911234567890", "body": "Please process this invoice", "file": "invoice_2025.pdf"}
The workflow downloads the attachment, extracts text using an AI node, stores it in a database, and sends a confirmation message back to the sender.
3. Order Status Updates
A customer messages asking about their order:
{ "messageId": "789", "from": "+919876543210", "to": "+911234567890", "body": "What's the status of order #12345?", "file": null}
The workflow extracts the order number, queries the database for order status, and sends a real-time update message with tracking information.
4. Lead Qualification and Follow-up
A potential customer sends an inquiry:
{ "messageId": "101", "from": "+919876543210", "to": "+911234567890", "body": "I'm interested in your premium plan", "file": null}
The workflow captures the lead information, stores it in a database, generates a personalized follow-up message using AI, and schedules a callback or sends additional information.
5. Image-Based Product Identification
A customer sends a product image:
{ "messageId": "202", "from": "+919876543210", "to": "+911234567890", "body": "What product is this?", "file": "product_image.jpg"}
The workflow processes the image using an AI Vision node, identifies the product, searches the database for details, and sends back product information, pricing, and purchase options.
6. Appointment Booking System
A user sends a message to book an appointment:
{ "messageId": "303", "from": "+919876543210", "to": "+911234567890", "body": "I want to book an appointment for tomorrow at 2 PM", "file": null}
The workflow extracts the date and time, checks availability in the database, confirms the booking, stores the appointment details, and sends a confirmation message with appointment details.
Common Errors
Twilio integration missingErrorOptionalWorkflow doesn't triggerErrorOptionalWebhook URL not savedErrorOptionalWrong HTTP methodErrorOptionalFile field is emptyErrorOptionalMessage body missingErrorOptionalNo response or actionErrorOptional