Skip to content
WhatsApp & Messaging 8 min read Published Sep 18, 2026

WhatsApp Business Calling API: Inbound Setup with n8n

Shubamjeet Singh
Contributor, VectorBloom · Enterprise Automation
Direct Answer (BLUF)
Executive Summary · ~50 words

Setting up the WhatsApp Business Calling API requires an approved Meta Developer App. You need the whatsapp_business_messaging permission. You also need an active WhatsApp Business phone number on tier 1K or higher, plus a subscription to the 'calls' webhook field. The audio stream passes directly between Meta and a WebRTC/SIP client using OPUS codecs. Meanwhile, n8n handles call signaling webhooks. It captures incoming call events, parses caller IDs, queries CRM records, routes calls to available agents or chatbots, and automates post-call logging.

Summarize with ChatGPT Perplexity Grok

Why Does Traditional Inbound Voice Fail for Indian SMBs?

Everyone believes traditional phone lines are the safest bet for business support. Here’s why that’s wrong.

Indian SMBs face massive operational friction with standard telephony. Enterprise voice setups rely on PRI lines or cloud telephony aggregators routing to cellular networks. According to WhatsApp Business Calling API: Pricing, Benefits & Setup – Kommunicate, WhatsApp Calling operates entirely via VoIP protocols over IP data and has no native PSTN (Public Switched Telephone Network) connectivity, meaning it cannot dial or receive standard cellular network calls without a third-party SIP PBX gateway. Relying purely on traditional PSTN leaves you vulnerable to dropped calls in low-coverage pockets, call-rate limits, and telecom interconnect tariffs.

Indian consumers also prefer messaging businesses on WhatsApp over holding on an IVR line. When an inbound caller hears a busy tone, the lead vanishes. If you’ve already deployed our WhatsApp Business Cloud API Setup for Indian SMBs: The 2026 Production Blueprint, you know that messaging drives high engagement. Urgent transactions still need live voice. B2B quotes, immediate product fixes, and high-ticket e-commerce escalations can’t wait for chat replies.

The WhatsApp Business Calling API bridges this gap. Customers call straight from the WhatsApp chat interface over their existing data connection. You decouple signaling orchestration in n8n from the underlying audio stream. This lets engineering teams implement programmatic call routing quickly. You’ll verify caller identities against internal databases in milliseconds. You can also deflect unanswered calls into automated messaging workflows without paying telecom interconnect costs.

Caller (WhatsApp App) ──HTTPS Signaling Webhooks──→ Meta Graph API ──Webhook Event──→ n8n Workflow
         │                                                                                   │
         │ (WebRTC Audio: OPUS / SRTP)                                                       │ (Lookup & Route)
         ▼                                                                                   ▼
WebRTC Softphone / SIP PBX Client ←──────────────── Signaling Session Token ──────────────── CRM / Internal DB

Technical Architecture: Signaling vs. Media Streams

Before writing integration workflows, developers must understand how Meta separates call metadata from live audio.

According to Cloud API Calling | Meta for Developers – Facebook, the WhatsApp Business Calling API defaults to signaling via Meta Graph APIs and Webhooks over HTTPS, while streaming media protocols run over WebRTC (ICE + DTLS + SRTP) with the OPUS audio codec.

  1. Signaling Plane (HTTPS & Webhooks): Carries session control metadata like call_id, caller identity, timestamps, and state transitions. These states include ringing, accepted, rejected, or terminated. This layer runs on HTTP requests and webhooks, so it’s fully compatible with n8n.
  2. Media Plane (WebRTC): Carries encrypted bidirectional real-time audio streams. n8n is an event orchestration platform, not a media gateway. The WebRTC session must terminate on a compatible client. Use a WebRTC softphone interface, a customized mobile or web app, or a SIP server configured with a WebRTC proxy.

Is this starting to feel like a lot?

Let us handle the busy work. LoomVector builds and ships this exact kind of system for Indian SMBs, end to end.

Talk to LoomVector

Prerequisites and Meta Verification

According to WhatsApp Business Knowledge Hub | Integration, SIP & Limits (2026) – WUSeller, activating Cloud API Calling features requires the whatsapp_business_messaging permission, business verification, and subscribing to the ‘calls’ webhook trigger in Meta’s Developer App settings.

Meet these prerequisites inside your Meta Business Portfolio:

  • Complete Meta Business Verification with your legal name, address, and official documents.
  • Register a WhatsApp Business Account (WABA) with an approved phone number.
  • Hit the messaging tier threshold. Your number must clear the initial sandbox phase and reach Tier 1K or above. That means handling 1,000 business-initiated conversations per 24 hours.

Step-by-Step Implementation Guide

Step 1: Configure Calling Controls in WhatsApp Manager

According to Cloud API Calling | Meta for Developers – Facebook, businesses can control the calling experience in WhatsApp Manager by setting calling hours, toggling call icon visibility, generating call deep links, and using call buttons with expiration.

  1. Navigate to WhatsApp Manager → Account Tools → Phone Numbers.
  2. Select your registered number and click Settings.
  3. Open the calling configuration panel.
    • Turn on inbound call visibility to show the phone icon directly in the user’s chat window.
    • Set operational calling hours that match your support team’s shift schedule.
    • Build deep links to drop dynamic call buttons into marketing campaigns or transactional receipts.

Step 2: Establish the n8n Webhook Verification Handshake

According to Connect n8n to WhatsApp Business API: 2026 Guide – Whatsable, integrating Meta WhatsApp Cloud API webhooks with an n8n workflow requires completing Meta’s verification handshake (validating hub.mode and hub.challenge) using an access token and Meta App Secret.

  1. Open your n8n instance and build a new workflow.
  2. Add a Webhook node with these settings:
    • HTTP Method: GET
    • Path: whatsapp-calling-signaling
    • Response Mode: Using 'Respond to Webhook' Node
  3. Connect an If node to evaluate the incoming verification query parameters:
    • Condition: {{ $json.query["hub.mode"] }} equals subscribe AND {{ $json.query["hub.verify_token"] }} equals your verification secret string.
  4. Add a Respond to Webhook node downstream from the True branch:
    • Response Code: 200
    • Response Body: {{ $json.query["hub.challenge"] }}
  5. Turn the workflow on. Enter this webhook URL inside the Meta Developer Portal under WhatsApp → Configuration → Callback URL. Add the verification token and save it.
[Meta Webhook Trigger] → [If: hub.mode == 'subscribe']
                                   ├── True  → [Respond to Webhook: Send hub.challenge]
                                   └── False → [Route POST Events: Call Signaling]

Step 3: Subscribe to the ‘calls’ Webhook Field

  1. Stay in the Meta App Dashboard under WhatsApp Webhook settings after the handshake succeeds.
  2. Find the event subscription list and subscribe to the calls field.
  3. Configure your n8n Webhook node to accept POST requests, or route POST requests to a parallel branch to parse incoming call events.

Step 4: Parse Signaling Events and Implement Inbound Routing Logic

When a customer taps the call icon, Meta sends an HTTPS payload. It contains the call_id, from caller ID, and event status values like ringing, accepted, rejected, or missed.

Add an n8n Switch node downstream to process the events:

[Incoming POST Payload] ──→ [Switch Node: $json.body.entry[0].changes[0].value.event]
                                  ├── "ringing"    ──→ [Database Lookup] ──→ [Agent Softphone Signaling]
                                  ├── "missed"     ──→ [Auto Deflection Template Message]
                                  └── "terminated" ──→ [Post-Call CRM Logging]

Node 1: Extract Caller ID and Check Working Hours

Use a Code node to clean the caller phone number:

const change = $input.first().json.body.entry[0].changes[0].value;
const callEvent = change.event; // ringing, accepted, missed, terminated
const callerId = change.from;   // E.164 formatted number
const callId = change.id;

return {
  json: {
    callEvent,
    callerId,
    callId,
    timestamp: new Date().toISOString()
  }
};

Node 2: Database / CRM Record Lookup

Add an HTTP Request or database node (PostgreSQL, MySQL, or CRM) to query the customer’s account using callerId. Pull these details:

  • Account tier, such as Priority or Standard.
  • Dedicated account manager ID.
  • Open support ticket references.

Node 3: Deflection and Inbound Calling Cost Rules

Understanding your cost structure is critical when building call fallbacks. According to WhatsApp Business Calling API: Pricing, Use Cases & FAQs – Respond.io, inbound user-initiated WhatsApp calls to a business are free of conversation charges from Meta, whereas outbound business-initiated calls are billed per minute depending on destination region.

If your team is away or the call arrives outside working hours:

  1. Send a termination signal back to Meta’s signaling API for that call_id.
  2. Fire an outbound WhatsApp template message using an HTTP Request node pointed at the Meta Graph API.
  3. Provide an interactive chat list so the customer can resolve their issue instantly without holding.

Step 5: Handling Outbound Call Permission Compliance

Agents sometimes need to call a user back after a dropped connection. Strict anti-abuse rules apply here.

According to WhatsApp Business Calling API: Pricing, Use Cases & FAQs – Respond.io, for outbound brand-initiated calls, Meta enforces strict anti-spam rules where businesses must send a call permission request template, limited to one request per 24 hours (maximum two per 7 days), valid for 72 hours once granted.

To set up an automated permission check in n8n:

  1. Use an HTTP Request node targeting the Meta Graph API to send a call permission request template:
    • Endpoint: https://graph.facebook.com/v21.0/{PHONE_NUMBER_ID}/messages
    • Include the specialized call_permission template payload.
  2. Save the permission state and timestamp in your database.
  3. Configure your workflow to block outbound calls unless the saved timestamp sits inside the 72-hour window.

Building custom VoIP pipelines and WebRTC bridging infrastructure for high-volume support desks requires precise architectural execution. If your team needs custom telephony workflows, WebRTC media gateway deployments, or enterprise CRM sync built to scale, reach out to LoomVector for end-to-end automation engineering.

Key Takeaways
3 Points
  1. 01
    Signaling decoupled from media: WhatsApp Calling uses Meta Graph APIs and webhooks over HTTPS for signaling, while voice streams run over WebRTC using the OPUS codec.
  2. 02
    Inbound is free of Meta charges: User-initiated inbound calls cost zero Meta conversation fees, whereas outbound business calls need approved permission templates and incur per-minute rates.
  3. 03
    Automate fallback via n8n: Webhook orchestration lets Indian SMBs check incoming caller IDs against CRM data in real time, routing priority calls to softphones and off-hour calls into automated chat flows.
Get new posts by email

Direct implementation blueprints for Indian SMBs. One email per post, no spam.

By subscribing you agree to receive email updates and our Privacy Policy.

Advertisement
TEST AD SLOT
In-Article (Responsive)
Frequently Asked Questions
Share & Distribute Blueprint

Found this blueprint valuable?

Share with your engineering team, founder circles, or tech communities to accelerate deployment.

Was this helpful?

Free download

WhatsApp Calling API & n8n Signaling Setup Checklist

A field implementation checklist for configuring Meta WhatsApp Business Calling API signaling, WebRTC infrastructure routing, and n8n webhook automation.

  • Prerequisite & Meta Portfolio verification steps
  • WhatsApp Manager calling configuration controls
  • n8n webhook verification handshake & 'calls' event subscription
  • Signaling event parsing, CRM lookup, & call deflection rules
  • Outbound call permission compliance guidelines

Shubamjeet Singh
Shubamjeet Singh Contributor, VectorBloom LinkedIn

Shubamjeet writes from six years advising enterprise clients on RPA, BPM, and applied ML — translating what actually pays off at enterprise scale into practical playbooks for Indian SMBs.

Need help implementing this blueprint in production?

LoomVector engineers custom web applications, direct WhatsApp Cloud API integrations, and self-hosted n8n enterprise workflows.

Talk to LoomVector
Link copied to clipboard

Get new posts by email

Direct implementation blueprints for Indian SMBs. No spam.

By subscribing you agree to receive email updates and our Privacy Policy.