Instant missed-call rescue for Aircall, HubSpot, and Slack
The moment an Aircall call goes unanswered, look up the caller, open a follow-up task on the right rep, and post a Slack alert so someone can call back fast.
Trigger this workflow with an Aircall webhook on the call.hungup event. Inside the workflow, only continue when the call was inbound, answered_at is null, and missed_call_reason is present on the payload — those are the real missed calls we want to rescue. Every other call.hungup event should exit early.
Once we know it's a genuine missed call, act as an on-duty sales ops agent. Your job is to figure out who called, what context we already have, and get one rep pointed at a fast callback.
First, identify the caller. Take the raw_digits / number from the webhook payload and run Aircall's Search Contacts operation by phone number, then run HubSpot's Search Contacts operation with a filter on the phone / mobilephone / hs_calculated_phone_number properties for the same number in E.164. Reconcile the two — prefer HubSpot's name and company if both hit, fall back to Aircall's shared contact, and treat the caller as unknown only if both come back empty.
Next, pull context. If HubSpot returned a contact, use HubSpot's Search Deals operation to find open deals associated with that contact (filter dealstage against the pipeline's open stages, sort by hs_lastmodifieddate) and HubSpot's Search Tickets operation to find any open ticket for the same contact. Also call Aircall's Search Calls operation on the caller's number, bounded to the last 30 days, to build a short prior-call history (how many inbound calls, how many were also missed, when the last real conversation happened, which teammate handled it).
Then decide who owns the callback. If there's a most-relevant open deal, the deal owner (hubspot_owner_id, resolved via HubSpot's Get Owner operation) owns the callback. If there's no deal but there's an open ticket, use the ticket owner. If neither exists, fall back to a configured on-duty rep — the workflow should expose that fallback as a setting so the customer can change it without editing the prompt.
Create a HubSpot task with HubSpot's Create Task operation. Subject: "Return missed call from {name}" (use the caller's best-known name, or the phone number if unknown). Set hs_task_body with a short brief: caller, company, deal stage or ticket status if any, and how many missed calls this number has hit recently. Set hs_timestamp (due date) to one hour from now, priority HIGH, status NOT_STARTED, and assign hubspot_owner_id to the callback owner from the previous step. Associate the task with the HubSpot contact, and with the deal or ticket when one exists, so it shows up on the right record timeline.
Finally, post a Slack message to the sales-response channel with Slack Bot's Send a Message operation. Keep the blurb short and actionable so a rep can decide within seconds whether to grab it. Use Slack mrkdwn and lead with the caller and company on the first line, then a compact bullet block of deal stage (or "no open deal"), open ticket status if any, the short prior-call history summary (e.g. "3 inbound in last 14 days, 2 missed, last real call handled by Sam on Jul 3"), the assigned owner, and the recommended callback window (right now if it's business hours, otherwise "first thing tomorrow morning"). Link out to the HubSpot contact and the newly created task so the rep can jump straight in. Do not include the full call transcript or lengthy history — this is a decision-in-seconds message.
If any step fails (caller lookup returns nothing in both systems, HubSpot task creation errors, Slack post fails), still make sure a Slack message goes out with whatever facts we do have and a clear note about what couldn't be resolved — the worst outcome is a missed call that also fails silently.
Additional information
What does this prompt do?
- The instant an inbound Aircall call ends without being answered, kick off the follow-up automatically.
- Look up the caller in both Aircall and HubSpot so you know who they are, their company, and whether they already have an open deal or ticket.
- Create a HubSpot task assigned to the deal owner (or an on-duty rep if the caller is new) with a due time an hour out so nothing slips.
- Post a short, actionable Slack alert to your sales response channel with the caller's name, company, deal stage, prior call history, and a recommended callback window.
What do I need to use this?
- An Aircall account you can add an outgoing webhook to
- A HubSpot login that can search contacts and deals and create tasks
- A Slack workspace and a channel where your sales response team can react quickly
How can I customize it?
- Which Slack channel gets the alert (a shared sales channel, a dedicated missed-calls channel, or a rep's DM)
- How far out the follow-up task is due (default is one hour, tighten for hot pipelines or loosen for lower-urgency lines)
- Who catches unknown callers (a specific manager, a round-robin across on-duty reps, or the number's usual owner)
Frequently asked questions
What counts as a missed call?
What happens if the caller isn't in HubSpot yet?
What if the caller has more than one open deal?
Will it fire on nights and weekends?
Can I use Microsoft Teams instead of Slack?
Related templates
Stop losing warm leads to voicemail.
Turn every missed Aircall into an actionable follow-up your team can grab in seconds.