Spelo + Zapier
A Zap takes one trigger (“lead captured in Spelo”) and runs one or more actions (“create HubSpot contact”, “post to Slack”). No code.
Trigger: webhook from Spelo
- Create a new Zap. Pick Webhooks by Zapier as the trigger.
- Choose Catch Hook. Zapier shows you a unique URL like:
https://hooks.zapier.com/hooks/catch/12345/abcde/
- In Spelo: Site → Settings → Webhooks → Add endpoint.
- URL: paste the Zapier hook
- Events: pick
lead.captured(andlead.updatedif you want status sync) - Save the endpoint. Spelo shows the webhook secret once — copy it.
- Send a test event from the Spelo dashboard (“Test” button on the webhook row). Zapier should pick it up.
Action: create the contact
The most common pattern is one of:
- HubSpot → Create Contact: map
email→ Email,name→ First Name + Last Name,phone→ Phone. - Salesforce → Create Lead: map
email,name,phoneto standard fields.data.companyif your site captures it. - Pipedrive → Create Person + Deal: Person uses email/phone/name; Deal uses
data.use_caseas the title.
Zapier’s “Code by Zapier” step can split name into first/last if needed:
const [first, ...rest] = (inputData.name || '').trim().split(/\s+/);return { first_name: first, last_name: rest.join(' ') || '—' };Recommended: verify the signature
Zapier’s Catch Hook does NOT verify HMAC by default. Anyone who guesses your hook URL can forge events.
Add a “Code by Zapier” step right after the trigger:
const crypto = require('crypto');const SECRET = 'paste-your-spelo-webhook-secret-here'; // store in a Storage by Zapier varconst sig = inputData.headers['x-spelo-signature']?.replace(/^sha256=/, '');const expected = crypto .createHmac('sha256', SECRET) .update(inputData.rawBody) .digest('hex');if (sig !== expected) { throw new Error('invalid signature — refusing to process');}return inputData;(inputData.rawBody is the un-parsed body — it’s the bytes Spelo signed.)
Failure handling
Zaps fail silently when the destination’s API is down. Add a fallback step:
- Slack: Send Channel Message with the lead details, conditional on the CRM step’s failure.
- Or Email by Zapier if Slack is overkill.
Both are paid-tier features. On the free tier, expect some lost leads when your CRM has an outage.