Turn every Retell AI call into a HubSpot update and Slack briefing

By General Input

When a Retell AI call finishes and analysis is ready, update the matching HubSpot contact and post a full briefing to Slack.

Integrations

  • Retell AI
  • HubSpot
  • Slack

Type

Agentic Task

Categories

  • Sales
  • Operations

Build an agent workflow that runs every time a Retell AI voice call finishes and its post-call analysis is ready. The trigger is a Retell AI webhook subscribed to the call_analyzed event, so the workflow fires the moment Retell has produced the transcript, summary, sentiment, and any custom analysis fields.

When the webhook fires, use Retell AI's Get Call operation with the call_id from the event to pull the full call details: transcript, recording URL, summary, user sentiment, call successful flag, call duration, from_number, to_number, agent name, and any custom analysis data fields configured on the agent.

First guard: if the call duration is under 30 seconds, stop the workflow with a short log line like "skipped short call (voicemail or mis-dial)" and do nothing else. This keeps voicemails and hang-ups out of Slack and out of the CRM.

Otherwise, take the caller's phone number (the from_number for inbound calls, the to_number for outbound calls) and use HubSpot's Search Contacts operation to find the matching contact by phone or mobilephone property. Normalize the number to E.164 before searching. If multiple contacts match, pick the most recently updated one.

If a HubSpot contact is found, use HubSpot's Update Contact operation to write the call summary, sentiment, disposition, and recommended next step onto the contact using appropriate custom properties (for example last_call_summary, last_call_sentiment, last_call_disposition, next_step, last_call_at). Then use HubSpot's Create Note operation to create a note associated with that contact containing the full transcript and the recording URL, so the entire history stays on the contact record.

Then use Slack's Send a Message operation to post a formatted briefing to the sales channel (make the channel configurable, default #sales). The Slack message should include: contact name and company (if found), sentiment score, a two to four bullet key points list, any blockers or objections raised, the recommended next step, the recording URL, and a link to the HubSpot contact. If a contact owner is set on the HubSpot record and they have a Slack account, also send the same briefing as a direct message to that owner.

If no matching HubSpot contact is found, skip the HubSpot update and note steps but still send the Slack briefing. In that case, label the message clearly as an unassigned call and include the phone number, agent name, sentiment, summary, key points, and recording URL so a rep can decide whether to create the contact.

Make the following user-facing settings configurable at workflow setup: the Slack channel for briefings, whether to also DM the contact owner, and the minimum call duration in seconds (default 30).

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredTurn Mailjet email clicks into ranked HubSpot follow-upsiMessage campaign console with pre-flight checks and delivery boardChat quality review board for LiveChat support leadsA searchable RFP answer library your bid team drafts fromSee which target accounts just started advertising on LinkedInAccount health board that puts product usage next to your CRMLook up a customer's full chat history mid conversationLusha prospecting workbench with credit-safe reveals