Integration Recipe

WhatsApp + Zapier / Make: connect it today with the REST API

Works today via HTTP, no native app requiredLast verified August 2026

Spun does not have a published, one-click Zapier or Make app yet. What it does have is a REST API built specifically for this: send WhatsApp messages, create or update contacts, apply labels, and check if a number has WhatsApp, plus outgoing webhooks for real-time events. Both plug straight into Zapier's "Webhooks by Zapier" step or Make's HTTP module, and into n8n's HTTP Request node the same way.

This recipe is the honest, working-today path. If you want a listed native app instead of a generic HTTP step, see the feasibility notes linked at the bottom for what that would take to ship.

1. Create an API key

  1. 1

    Open API Keys

    In your Spun inbox: Settings, then Webhooks, then Manage API Keys, then New Key.

  2. 2

    Name it and pick scopes

    Name it something like "Zapier Production". Enable only the scopes you actually need: send messages, manage contacts, read contacts, manage labels, read labels, or check phone numbers.

  3. 3

    Copy it once

    The key (starting with wap_) is shown once. Store it in your automation platform's credentials store, never inside a workflow step or a shared doc.

2. Call Spun from a Zap, Scenario, or Workflow

Every action goes to the same base URL with the same header. In Zapier, use "Webhooks by Zapier" > Custom Request; in Make, an HTTP module set to "Make a request"; in n8n, an HTTP Request node with Header Auth.

  • check-phone: verify a number has WhatsApp before sending (accepts up to 20 numbers per call).
  • create-contact / update-contact: keep a lead's WhatsApp record in sync from any form or CRM.
  • apply-label / remove-label: tag a chat from an external trigger, e.g. label a chat "New Lead" the moment a form is submitted.
Send a WhatsApp message (POST /api/integrations/send-message)
POST https://api.spun.com/api/integrations/send-message
Authorization: Bearer wap_YOUR_KEY
Content-Type: application/json

{
  "to": "972501234567",
  "text": "Hello! Thanks for contacting us."
}

If the WhatsApp channel is briefly offline, send-message still returns success with a queued flag rather than failing: the message goes out automatically once the channel reconnects.

3. Receive WhatsApp events in Zapier or Make

  1. 1

    Create the catch step first

    In Zapier, start a Zap with "Webhooks by Zapier" > Catch Hook, and copy the URL it gives you. In Make, add a Custom Webhook trigger module and copy its URL.

  2. 2

    Paste it into Spun

    Settings, then Webhooks, then Add Webhook. Paste the URL and pick which events should fire it.

  3. 3

    Trigger a test event

    Send yourself a WhatsApp message, then click "Test trigger" (Zapier) or run the scenario once (Make) to pick up the real sample payload.

What Spun sends on message.inbound
{
  "event_id": "550e8400-e29b-41d4-a716-446655440000",
  "event": "message.inbound",
  "timestamp": "2026-08-18T10:30:00.000Z",
  "org_id": "123",
  "data": {
    "message_id": "[email protected]_ABC123",
    "chat_id": "[email protected]",
    "from": "972501234567",
    "type": "text",
    "text": "Hello!"
  }
}

Available events: incoming/outgoing message, contact created/updated/deleted, label assigned, chat flow completed, queued message processed, lead qualified, chat archived, and call completed.

What to know before you build on it

  • This is not a listed, searchable Zapier/Make app. There is no "Connect your Spun account" OAuth screen inside Zapier or Make today: authentication is a static API key you paste into the HTTP step's headers yourself.
  • Webhook subscriptions (the "receive events" side) can only be created from inside Spun's own Settings UI right now, not from Zapier's side, so a REST Hook-style trigger that self-subscribes is not available yet.
  • Rate limit is 60 requests per minute per API key. Batch phone checks (up to 20 per call) instead of looping one at a time where you can.

Related: WhatsApp + Google Sheets (fully native, no API key needed) · WhatsApp + HubSpot CRM

Frequently asked questions

Is there an official Spun app in the Zapier or Make directory?

Not yet. The REST API and outgoing webhooks it would use are already live, so the same actions and triggers work today through the generic HTTP/Webhooks step in Zapier, Make and n8n.

What can I do with the API today?

Send a WhatsApp text message, check if a number has WhatsApp, create or update a contact, and apply or remove a label on a chat, plus receive real-time events (new message, new contact, label applied, chat flow completed, lead qualified, chat archived, call completed) as outgoing webhooks.

How do I authenticate?

Create an API key in Settings > Webhooks > Manage API Keys, pick only the scopes you need, and send it as a Bearer token in the Authorization header. There is no OAuth flow for this API today.

Can Zapier automatically subscribe to my Spun events, the way it does with a native REST Hook app?

Not yet. You paste the Zapier/Make catch-hook URL into Spun's own Settings > Webhooks screen and choose events there; Zapier cannot create that subscription on your behalf.

What are the rate limits?

60 requests per minute per API key. The check-phone endpoint accepts up to 20 numbers in a single call, which is the easiest way to stay well under the limit for bulk checks.

What happens if I send a message while the WhatsApp channel is disconnected?

The API still returns success with a queued flag instead of failing. The message sends automatically once the channel reconnects, so you do not need to build your own retry logic for that case.

Get an API key and start building

API access is available on Spun's WhatsApp plans alongside the shared team inbox, AI replies and the native Google Sheets and HubSpot integrations. Flat pricing from $50/month, free trial.

Start Free Trial

See all integrations

More integration recipes

Google Sheets · HubSpot CRM