This workflow corresponds to n8n.io template #6596 — we link there as the canonical source.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "7edf6b1a-ff2f-44c3-95d7-efc72e675630",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-660,
-260
],
"parameters": {
"width": 400,
"height": 1040,
"content": "## Master Your Outbound WhatsApp: Baserow & n8n Automation\n\nCommand your outbound WhatsApp. This workflow integrates with your Baserow 'Messages' table, triggering on 'Sent' status. Messages fire via WasenderAPI, rigorously logged as 'Outbound' in Baserow. Gain total control, drive proven results.\n\n**Who's it for**\nFor teams aiming to dominate outbound WhatsApp and centralize Baserow logging. Serious about communication efficiency? This is your solution.\n\n**Setup Steps**\nRapid implementation. Your action plan:\n1. Activate all critical workflow nodes (`Sent_whatsapp`, `Switch`, `send_message`, `Update_imsg`, `fallback`).\n2. Copy `Sent_whatsapp` webhook URL. Configure Baserow automation to trigger webhook on 'Sent' status update.\n3. Ensure Baserow 'Messages' table has 'Status' ('Sent' option), linked 'WhatsApp Number' (from 'Contacts'), and 'Message Content' fields. (Optional: Use [Baserow Message Form](https://baserow.io/form/B2TUPV0S_Fx3PKyNiKOQR4YAdo77RnvAxZyMw8jN7Uc) for input).\n4. Embed WasenderAPI and Baserow API tokens in n8n Credentials. No compromise on security.\n\n**Requirements**\n* Active n8n instance (self-hosted/cloud).\n* WasenderAPI.com trial/subscription.\n* Baserow account with pre-configured 'Contacts' ([link](https://baserow.io/public/grid/a5iWkAQpu8QljUlgwgm_pour_Au5BKd3mtkfu-B6N7Y)) and 'Messages' ([link](https://baserow.io/public/grid/0H22XZitFDWnrVNnKwBfiI7M6XX5CugHrXHEzdCY4xY)) tables.\n\n**How to customize the workflow**\nCustomize operations: Verify `send_message` and `Update_imsg` node field mappings with Baserow table IDs/names. Precision drives performance.\n\n**Note:** Crucial: Maintain the exact flow layout. This guarantees optimal performance and correct order of operations."
},
"typeVersion": 1
},
{
"id": "d3510dc5-4126-4c08-92f0-0c63deaa85e6",
"name": "fallback",
"type": "n8n-nodes-base.noOp",
"position": [
780,
320
],
"parameters": {},
"typeVersion": 1
},
{
"id": "c1912c6e-07d6-4101-8eba-e8709507b71c",
"name": "Webhook: Baserow Outbound Trigger",
"type": "n8n-nodes-base.webhook",
"position": [
-20,
180
],
"parameters": {
"path": "anything you like",
"options": {},
"httpMethod": "POST",
"authentication": "headerAuth"
},
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
},
"typeVersion": 2
},
{
"id": "b97c5c82-b2cc-4694-b8ee-4640bf838ae4",
"name": "WasenderAPI: Send Outbound Message",
"type": "n8n-nodes-base.httpRequest",
"position": [
780,
80
],
"parameters": {
"url": "https://wasenderapi.com/api/send-message",
"method": "POST",
"options": {},
"sendBody": true,
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "to",
"value": "={{ $json.body.items[0]['WhatsApp Number (Linked Contact)'][0].value }}"
},
{
"name": "text",
"value": "={{ $json.body.items[0]['Message Content'] }}"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer <Your Token>"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "e41a8798-1709-4fac-a645-0e9017562d60",
"name": "Filter: Message Status 'Sent'",
"type": "n8n-nodes-base.switch",
"position": [
240,
180
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "SENT",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "69bf58bd-3365-4260-97c4-be4bed1cb35b",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.body.items[0].Status.value }}",
"rightValue": "Sent"
}
]
},
"renameOutput": true
}
]
},
"options": {
"fallbackOutput": "extra"
},
"looseTypeValidation": true
},
"typeVersion": 3.2
},
{
"id": "ee16b330-b65d-4103-bfd6-bba1254e180a",
"name": "Baserow: Confirm Outbound Log",
"type": "n8n-nodes-base.baserow",
"position": [
1020,
80
],
"parameters": {
"rowId": "={{ $('Webhook: Baserow Outbound Trigger').item.json.body.items[0].id }}",
"tableId": 622533,
"fieldsUi": {
"fieldValues": [
{
"fieldId": 5064441,
"fieldValue": "Outbound"
},
{
"fieldId": 5064443,
"fieldValue": "={{$now.setLocale(nl-NL).toLocal()}}"
},
{
"fieldId": 5064439,
"fieldValue": "={{ $json.data.msgId }}"
}
]
},
"operation": "update",
"databaseId": 264981
},
"credentials": {
"baserowApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
}
],
"connections": {
"Filter: Message Status 'Sent'": {
"main": [
[
{
"node": "WasenderAPI: Send Outbound Message",
"type": "main",
"index": 0
}
],
[
{
"node": "fallback",
"type": "main",
"index": 0
}
]
]
},
"Webhook: Baserow Outbound Trigger": {
"main": [
[
{
"node": "Filter: Message Status 'Sent'",
"type": "main",
"index": 0
}
]
]
},
"WasenderAPI: Send Outbound Message": {
"main": [
[
{
"node": "Baserow: Confirm Outbound Log",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
baserowApihttpHeaderAuth
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow integrates with your Baserow 'Messages' table, triggering on 'Sent' status. Messages fire via WasenderAPI, rigorously logged as 'Outbound' in Baserow. Gain total control; drive results. Monitors Baserow 'Messages' table for 'Sent' status. Sends messages via…
Source: https://n8n.io/workflows/6596/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Struggling to manage WhatsApp client communications? This n8n workflow isn't just automation; it's your centralized CRM solution for small businesses and freelancers.
Add A Bug To Linear Via Slack Command. Uses httpRequest, stickyNote. Webhook trigger; 10 nodes.
When building a product it's important to discover and eliminate bugs as quickly as possible. Since we're using our product at n8n a lot, we wanted to make it as easy as possible for everyone to add b
Proxmox VM Lifecycle Automation. Uses telegram, httpRequest. Webhook trigger; 9 nodes.
Add Product Ideas To Notion Via A Slack Command. Uses stickyNote, notion, httpRequest. Webhook trigger; 8 nodes.