Spun does not ship a one-click Salesforce connector, and this page will not pretend otherwise. What it ships is the plumbing that makes the integration real: outgoing webhooks that fire on WhatsApp events (new message, contact created, label applied, lead qualified) and a REST API that sends messages, updates contacts and applies labels. Salesforce speaks HTTP fluently from both directions, so the two connect through Zapier, Make, n8n, or Salesforce Flow itself.
Below are the two flows teams actually build: WhatsApp lead capture into Salesforce, and Salesforce-triggered WhatsApp follow-ups.
1. WhatsApp lead capture into Salesforce
Goal: a new WhatsApp conversation, or a chat you label "Qualified", becomes a Salesforce Lead with the phone number and context attached.
- 1
Subscribe to Spun events
In Spun: Settings, then Webhooks, then Add Webhook. Point it at a Zapier Catch Hook, Make custom webhook, or n8n webhook URL, and select the events you care about: incoming message, contact created, or label assigned.
- 2
Filter to what Salesforce should see
In the middleware step, filter events: for example, only label-assigned events where the label is "New Lead" or "Qualified", so casual conversations never become CRM records.
- 3
Create the Salesforce Lead
Use the Salesforce action (Zapier and Make both have first-class ones) to create or update a Lead: phone from the event payload, source "WhatsApp", and the message text into the description field.
Spun's webhook envelope carries the chat id, sender phone and message text, which is everything a Lead needs. The full payload shape is documented on the Zapier recipe page.
2. Salesforce-triggered WhatsApp follow-ups
Goal: when an Opportunity hits a stage, or a Task comes due, the customer gets a WhatsApp message from your real number, sent by Spun.
- 1
Create a Spun API key
Settings, then Webhooks, then Manage API Keys, then New Key. Scope it to send messages (and manage contacts if you also sync fields). Store the wap_ key in your automation platform's credential store.
- 2
Trigger from Salesforce
Use a record-triggered Flow with an HTTP callout (or a Zapier/Make Salesforce trigger) that fires on the stage change you care about.
- 3
Call send-message
POST to /api/integrations/send-message with the contact's number and your message text. If the WhatsApp channel is briefly offline, the API queues the message and sends it on reconnect rather than failing.
POST https://api.spun.com/api/integrations/send-message
Authorization: Bearer wap_YOUR_KEY
Content-Type: application/json
{
"to": "14155552671",
"text": "Hi! Following up on your quote - any questions I can answer?"
}What to know before you build
- There is no native "Spun for Salesforce" AppExchange package: authentication is a static API key in an HTTP step, and webhook subscriptions are created from Spun's Settings UI.
- Rate limit: 60 API requests per minute per key. The check-phone endpoint validates up to 20 numbers per call before a send campaign.
- If your CRM need is lighter than Salesforce, Spun's HubSpot sync is native (two-way, mapping-driven) and needs none of this plumbing.
Related: WhatsApp + HubSpot CRM (fully native) · WhatsApp + Zapier & Make (the full API surface)