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
Open API Keys
In your Spun inbox: Settings, then Webhooks, then Manage API Keys, then New Key.
- 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
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.
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
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
Paste it into Spun
Settings, then Webhooks, then Add Webhook. Paste the URL and pick which events should fire it.
- 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.
{
"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