Skip to main content
A WhatsApp call in Notifique is the notice that rings the phone: you dial, say what you need (code, reminder, confirmation), and hang up — no IVR or call center to build.

In short

  • Today: unofficial connection (QR-paired number). Dial → speak/play audio → hang up.
  • Soon: the same API on the official (Meta) connection, keeping the same simple shape.
  • Use the same instance you already use for messages.
  • API key scope whatsapp:call (and whatsapp:call:read for read-only).
This first version is send and hang up: no IVR, transfer, or live conversation. It is meant to say something specific and end the call.

When to use

Modes: Connection modes.

What you can do

Place the call

POST /v1/whatsapp/calls with speak, play, or template.

List calls

GET /v1/whatsapp/calls with pagination and instance filter.

Get a call

GET /v1/whatsapp/calls/{id} with status, duration, and events.

Template with voice

type: "template" uses the channel template text/voice.

Call webhooks

whatsapp.call.initiated, answered, completed, failed… no polling.
Routes and fields: WhatsApp API reference (Calls section). Events: WhatsApp webhooks.

Before you start

Not paired yet? WhatsApp Quick Start (unofficial tab). Scopes: API Key scopes. Replace sk_live_xxxxx with your key and {instanceId} with the instance id. Base URL: https://api.notifique.dev.
The API Key belongs to one workspace. On v1 do not send x-workspace-id.

1. Place a call (speak text)

Dials, synthesizes speech, and hangs up automatically.
202 response

2. Play audio (play)

The URL must be public and point to an audio file.

3. Template with voice

If you already created a call-channel template (whatsapp_call), use type: "template":
The API resolves text (and voice, if set) and continues as speak.

4. List calls

Optional params: page, limit, instanceId.

5. Get a call

With includeEvents=true you get the timeline (QUEUED, INITIATED, COMPLETED, NO_ANSWER, FAILED, …).

Status and hangup

After queueing, the call moves through statuses like QUEUEDINITIATEDCOMPLETED (or NO_ANSWER / FAILED / REJECTED). hangupReason explains the end (completed, hangup, no_answer, provider_error, …).

Next steps