Connecting to HubSpot, Salesforce, Slack, and More — API + Zapier
Use Allison's REST API and outbound webhooks to connect to any app — directly or through Zapier, Make, n8n, and similar automation tools.
Allison ships with a Google Calendar integration today, but you don't have to wait for native support to connect anything else. Two primitives — a REST API and outbound webhooks — let you wire your agent to any service that has a public API, either directly or through a no-code automation tool like Zapier.
The two primitives
1. REST API — read and write your Allison data from anywhere
Anything you can do on your dashboard, a script or external system can do via our API. Create an API key on Settings → API Keys, and your system can:
- Look up and create contacts
- Read calls, bookings, and transcripts
- Manage knowledge (facts, FAQs, policies) programmatically
- Manage locations, team members, escalation rules, intents
Full API reference lives at docs.allisonvoice.com. Every endpoint uses the same API key auth (Authorization: Bearer AV_...) and the same api.allisonvoice.com/v1/... base URL.
2. Outbound Webhooks — react to what happens on calls
Instead of polling, subscribe to events. Create a webhook subscription on Settings → Webhooks, point it at your URL, and Allison will POST a signed payload whenever:
- A call ends (
call.ended) — with duration, disposition, summary, and contact - A caller leaves a message (
call.message_taken) - A caller requests a callback (
call.callback_requested) - Allison escalates to a team member (
call.escalation_triggered) - An appointment gets booked (
call.appointment_booked) - A new caller profile is auto-created (
contact.created)
Every webhook is signed with HMAC-SHA256 so you can verify it came from Allison. Failed deliveries retry on a 6-attempt schedule spanning 24 hours.
Using Zapier (or Make, n8n, Pabbly, Workato)
Zapier has a built-in "Webhooks by Zapier" trigger that catches any incoming POST. This is the fastest path for most integrations — no code, no server, just a Zap.
Setup in Zapier:
- Create a new Zap. Choose Webhooks by Zapier → Catch Hook as the trigger.
- Zapier gives you a URL like
https://hooks.zapier.com/hooks/catch/... - In Allison, go to Settings → Webhooks, click Add Webhook, paste that URL, and pick which events you want (usually
call.endedandcall.appointment_bookedare the most useful). - Test by making a test call. Zapier will capture the payload and show you every field you can map.
- Add your action step — "Create HubSpot contact", "Post to Slack channel", "Add row in Google Sheets", whatever.
Worked examples
HubSpot — create a contact when a new caller reaches Allison
Goal: every time someone new calls your business, their info lands in HubSpot as a contact.
- Create a Zap with
Catch Hooktrigger from Zapier Webhooks. - Subscribe to the
contact.createdevent in Allison's Settings → Webhooks. Paste the Zapier URL. - Add a HubSpot action: Create or Update Contact.
- Map fields: phone from
data.phone, name fromdata.name, email fromdata.email. - Turn on the Zap. Every new caller auto-lands in HubSpot.
If you want call history attached, add a second Zap on call.ended that logs a HubSpot engagement against the same contact.
Salesforce — create a lead when a callback is requested
Goal: if Allison took a callback request during a call, it becomes a Salesforce lead for the sales team.
- Zapier →
Catch Hooktrigger. - Subscribe to
call.callback_requested. Paste URL into Allison. - Salesforce action: Create Lead.
- Map phone, name, and the
data.reasonfield into the Lead's description. - Optional: use Zapier's filter step to only create leads for certain call topics.
Slack — notify a channel when Allison escalates a call
Goal: every time Allison escalates (warm transfer, cold transfer, or take-message fallback), your on-call channel gets notified in real time.
- Zapier →
Catch Hook. - Subscribe to
call.escalation_triggered. This one fires mid-call the moment a rule matches, so you'll get the Slack ping while the call is still happening. - Slack action: Send Channel Message.
- Build the message:
":phone: Escalation: {{data.rule_name}} — {{data.context}}" - Filter by
data.destination_type = "team_member"if you only want team-targeted escalations.
Google Sheets — log every call for later analysis
Want a running log of every call for reporting? Subscribe to call.ended, Zapier → Create Spreadsheet Row, map the fields you care about (call_id, disposition, duration_seconds, summary, contact_id). You'll have a complete call log in a spreadsheet, updated in real time.
Going direct — your own webhook receiver
If you'd rather not use Zapier, point the webhook at your own URL and handle it with whatever stack you prefer. Verifying the signature takes about five lines of code; the signing documentation has working examples in Node.js, Python, Ruby, and PHP.
The delivery log on Settings → Webhooks → [your subscription] → Deliveries shows every attempt: timestamp, status code, response preview, duration. If your endpoint is misbehaving, you'll see it here.
Picking between API and webhooks
- Webhooks when you want to react to something happening (a call ended, an appointment was booked). Push model — we notify you.
- API when you want to look something up on demand or change a setting (pull a transcript, update a caller's notes, add a new FAQ). Pull model — you ask.
Most integrations use both. A typical CRM sync pattern: webhook fires contact.created → your automation creates the contact in the CRM → next time you need fresh data, a cron job calls the Allison API to pull the latest calls for that contact.
What about HubSpot or Calendly as a pre-built integration?
They're on the roadmap. For now, the API + Zapier path above works cleanly for both and gives you complete control over how data flows in and out. When native integrations ship, they'll connect to the same data sources — anything you build via API + webhooks keeps working.
Questions about a specific integration?
Call your agent and ask, or send a message to the Allison support team via the dashboard. We can often help you scope a Zap in a few minutes.
Still have questions? Log in to chat with Allison.
Log In to Chat