Platform
Chatbot Builder Bulk Messaging Team Inbox Mini CRM API & Webhooks AI Integration WhatsApp Flows
Industries
E-commerce & D2C Real Estate Education Healthcare Finance & BFSI Logistics Hospitality Retail
Integrations
Learn
Learning Hub Help & Docs Connect Guides Automation Codex Blog Message Templates
Pricing Start Free Trial →
HomeConnect › Connect n8n to WhatsApp
n8n Integration Guide · iPaaS / Automation

Connect n8n to WhatsApp

n8n is open-source, self-hostable workflow automation with no per-execution costs. For technical teams handling high volumes of WhatsApp automations, n8n is the most cost-effective option in this series, running unlimited workflows on a Rs. 500/month server.

Published 23 June 2026  ·  7 min read  ·  iPaaS / Automation
n8n self-hosted: no per-execution costs

Unlike Zapier (tasks) or Make (operations), n8n self-hosted has no per-execution pricing. You pay only for your server. A basic VPS at Rs. 500 to 2,000 per month handles most WhatsApp automation workloads. For teams with developers and high volumes, this is significantly cheaper than Zapier or Make at scale.

n8n uses the HTTP Request node to call WA.Expert: no native node needed

There is no dedicated WA.Expert node in n8n's library. Use the HTTP Request node to call the WA.Expert API directly. This is available in all n8n plans including self-hosted.

n8n vs Zapier vs Make at a glance

n8n (self-hosted)MakeZapier
Cost modelServer cost onlyPer operationPer task
Free tierUnlimited (own server)1,000 ops/month100 tasks/month
Paid entry~Rs. 500/month VPS$9/month$20/month
WA.Expert appNo: HTTP nodeNo: HTTP moduleYes: native app
WebhooksFree, all plansFree, all plansPaid plan only
Code supportJS / Python Code nodeJS in HTTPNo native code
Best forTech teams, high volume, data sovereigntyComplex multi-step, visualSimple 2-step, non-technical

n8n Cloud (managed hosting by n8n) starts at ~€20/month if you prefer not to manage a server.

Step 1: Set up n8n

Option A: Self-hosted (recommended for cost)

Install n8n on a VPS with Docker
# Install Docker on your VPS first, then:
docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v ~/.n8n:/home/node/.n8n \
  docker.n8n.io/n8nio/n8n

# Access n8n at http://YOUR-VPS-IP:5678

# Or use npm:
npm install n8n -g
n8n start

Option B: n8n Cloud (no server required)

Sign up at n8n.io for the managed cloud version. No installation needed. Plans start at ~€20/month.

Official docs

n8n documentation: docs.n8n.io

Direction 1: Trigger node fires a WhatsApp via WA.Expert

Step 2: Create the workflow

1
In n8n, click New workflow.
2
Click + and search for your trigger node: Webhook, Schedule, Google Sheets, Typeform, Shopify, or any of n8n's 400+ native app nodes. Configure and connect.
3
Click + after the trigger and search for HTTP Request. Add it to the workflow.

Step 3: Configure the HTTP Request node

HTTP Request node configuration
Method:  POST
URL:     https://api.wa.expert/v1/send

Authentication: None
(add the API key manually in Headers)

Headers:
  Name:  API-KEY
  Value: YOUR_WAEXPERT_API_KEY

  Name:  Content-Type
  Value: application/json

Body: JSON
{{
  "to":       "{{{{ $json.phone }}}}",
  "type":     "template",
  "template": {{
    "name":     "order_confirmation",
    "language": {{"code": "en"}},
    "components": [
      {{
        "type": "body",
        "parameters": [
          {{"type": "text", "text": "{{{{ $json.customer_name }}}}"}},
          {{"type": "text", "text": "{{{{ $json.order_id }}}}"}}
        ]
      }}
    ]
  }}
}}

n8n expression syntax: {{{{ $json.fieldname }}}}
This maps data from the previous (trigger) node.
n8n expression syntax uses double curly braces

In n8n, reference data from previous nodes using {{{{ $json.fieldname }}}} or {{{{ $json['fieldname'] }}}}. Click the expression icon (equals sign) next to any field in the HTTP node to open the expression editor, which shows available fields from all previous nodes.

Adding logic with the Code node

n8n's Code node lets you write JavaScript to transform data, apply conditions, or select different templates before the HTTP Request node fires.

Code node example — select template based on order value
// Code node (JavaScript) before the HTTP Request node

const order = $input.first().json;

// Choose template based on order value
let templateName;
if (order.total > 5000) {{
  templateName = "premium_order_confirmation";
}} else {{
  templateName = "standard_order_confirmation";
}}

return [{{
  json: {{
    ...order,
    template_name: templateName,
    phone: order.phone.startsWith('+') ? order.phone : '+91' + order.phone
  }}
}}];

Direction 2: WhatsApp data triggers an n8n workflow

Receive WhatsApp reply data from WA.Expert into n8n to update a CRM, log to a database, or trigger any downstream action.

1
In n8n, create a new workflow and add a Webhook trigger node. Copy the Test URL shown in the node.
2
In WA.Expert, add an External API Request step. POST the customer data to the n8n webhook URL.
3
In n8n, click Listen for test event and trigger the WA.Expert automation. n8n captures the payload structure automatically.
4
Add nodes after the webhook: Google Sheets, HubSpot, Airtable, Slack, or a Code node. Map fields using the expression editor.
5
Click Activate to switch from the test URL to the production URL. Update WA.Expert with the production URL.
Test URL vs production URL in n8n webhooks

n8n gives you two webhook URLs: a test URL (for building and testing) and a production URL (active when the workflow is published). WA.Expert must point to the production URL when the workflow is live. n8n only allows one active webhook per workflow at a time.

WA.Expert External API Request — POST to n8n webhook
POST https://your-n8n-instance.com/webhook/YOUR_WEBHOOK_ID
Content-Type: application/json

Body:
{{
  "customer_name":    "{{customer_name}}",
  "customer_phone":   "{{customer_phone}}",
  "customer_message": "{{customer_message}}"
}}

n8n receives this, processes through nodes:
  Webhook -> IF (check keyword) -> Google Sheets (log)
                               -> Slack (alert team)

Troubleshooting

SymptomLikely causeFix
HTTP Request node failsWrong URL or missing API-KEY headerConfirm the URL is https://api.wa.expert/v1/send. Add API-KEY as a header name (not Authorization). Check the key value.
Expression not resolvingWrong expression syntaxUse {{ $json.fieldname }} (double curly braces). Click the equals sign icon next to the field to open the expression editor and select the correct field from the previous node.
Webhook not receiving data in productionUsing test URL after activationSwitch WA.Expert to the production webhook URL after activating the workflow. n8n only processes data on the production URL when the workflow is active.
Workflow not triggeringWorkflow not activatedToggle the Active switch at the top of the workflow. Inactive workflows only respond to the test URL.
Code node errorJavaScript syntax issueCheck the Code node output panel for the exact error. n8n's Code node uses standard JavaScript; return an array of objects.
High execution countUnexpected triggersn8n self-hosted has no execution limits, so high counts do not cost extra. Review trigger node filters if unexpected executions are a concern.

Common questions

What makes n8n different from Zapier and Make?
+
n8n is open-source and self-hostable with no per-execution costs. A Rs. 500/month VPS runs unlimited workflows. Also includes a Code node for JS/Python and full data sovereignty.
Do I need a server to use n8n?
+
No. n8n Cloud (managed, ~€20/month) is available if you prefer not to manage a server. Self-hosted on a basic VPS is cheapest for high-volume automation.
How do I map data in n8n?
+
Use {{ $json.fieldname }} in the HTTP Request node body. Click the equals sign icon next to any field to open the expression editor.
Can I add conditional logic?
+
Yes. IF nodes and Switch nodes for branching. Code node for JavaScript logic. Example: send different templates based on order value.
Can WhatsApp replies trigger n8n?
+
Yes. Add a Webhook trigger node to get a URL. POST to it from WA.Expert's External API Request step. Use the production URL after activating the workflow.
Does this incur extra WA.Expert charges?
+
Each WhatsApp uses a message credit. Utility: Rs. 0.14 on Starter. n8n self-hosted: no per-execution cost, just server costs.

Connect Zapier to WhatsApp

Zapier: native WA.Expert app, 7000+ triggers, no server needed.

Read guide →

Connect Make to WhatsApp

Make: visual canvas, cheaper than Zapier for complex scenarios.

Read guide →

External API Request Step

Master every field in WA.Expert's HTTP action step.

Read foundation guide →

Connect n8n to WhatsApp today

Free trial, no credit card. If you get stuck, we answer live on WhatsApp.

Start Free Trial → Book a Demo
1