Instant missed-call rescue for Aircall, HubSpot, and Slack

By General Input

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.

Integrations

  • Aircall
  • HubSpot
  • Slack Bot

Type

Agentic Task

Categories

  • Sales
  • Customer Support

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.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasoniMessage campaign console with pre-flight checks and delivery boardLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsA searchable RFP answer library your bid team drafts fromLinkedIn Ads budget pacing dashboard for every client account