Log Quo call summaries as HubSpot notes and follow-up tasks

After every Quo call, an agent files the AI summary on the matching HubSpot contact and creates a follow-up task based on what the rep promised.

Agentic Task
QuoHubSpotSalesOperationsMeeting WorkflowsData SyncLead Enrichment

Build an agent workflow that turns every completed Quo call into a clean HubSpot follow-up. The trigger is a Quo webhook for the 'call summary completed' event (these events are only emitted on Quo's Business and Scale plans).

When the webhook fires, the agent receives a Quo call ID. It should then do the following:

1. Pull the AI summary for that call using Quo's 'Get Call Summary' operation.

2. Pull the full transcript using 'Get Call Transcription'.

3. Pull the call metadata using 'Get a Call by ID' so we know which participant phone number is the external caller (i.e. not one of our Quo numbers) and what time the call happened.

4. Look up the external phone number in HubSpot using 'Search Contacts'. Try the number in E.164 format and also try the last 10 digits as a fallback. If no matching contact is found, exit the workflow silently. Do not create a new contact, and do not log anything. We do not want orphan records.

5. If a contact is found, extract action items from the transcript. These should be short, concrete bullets (e.g. 'Send pricing PDF', 'Loop in CS for onboarding question', 'Confirm renewal date'). Skip filler. Aim for 2 to 5 bullets, sometimes zero if the call had no commitments.

6. Create a HubSpot note on that contact using 'Create Note'. The note body should contain the AI summary verbatim, then a divider, then the extracted action items as a bulleted list. Associate the note with the contact.

7. From the transcript, identify the single most concrete next step the rep committed to on the call (e.g. 'Send the security questionnaire response', 'Schedule a technical deep-dive with their CTO'). Use that as the task title.

8. Pick a due date for the task: if the rep promised a specific timeframe on the call ('by Friday', 'end of next week', 'tomorrow'), match that. If nothing was promised, default to three business days out at 9am in the rep's local time.

9. Create the task using HubSpot's 'Create Task' operation, associated with the same contact. Assign it to the HubSpot owner of the contact. Priority high if the call mentioned a deal value, contract, or urgency word like 'today' or 'ASAP'; otherwise medium.

Edge cases: skip outbound calls that went to voicemail (no real conversation). Skip calls under 30 seconds. If the AI summary or transcript is empty, exit without creating anything. If the HubSpot search returns more than one contact for the same phone number, pick the most recently updated one and continue.

The goal: the rep finishes a call, walks away, and by the time they look at HubSpot the call is already documented and the next step is on their task list with the right due date.

Additional information

What does this prompt do?
  • Waits for Quo to finish generating an AI summary for a completed call, then pulls the summary and the full transcript.
  • Looks up the caller's phone number in HubSpot and finds the matching contact. If no contact exists, the workflow exits quietly so you never get orphan records.
  • Saves a note on that contact containing the AI summary plus a tight, bulleted list of action items the agent extracts from the transcript.
  • Creates a follow-up task on the same contact, titled after the concrete next step the rep committed to on the call, with a due date that matches what was promised.
What do I need to use this?
  • A Quo (formerly OpenPhone) account on the Business or Scale plan, since AI call summaries and transcripts are only generated on those plans.
  • A HubSpot account with permission to read contacts and to create notes and tasks.
  • Your reps should be making and receiving calls in Quo using the phone numbers tied to their HubSpot contacts.
How can I customize it?
  • Change what goes in the note. By default it includes the AI summary plus extracted action items, but you can ask for a sentiment line, a deal-stage hint, or pricing mentions instead.
  • Change how the task title is written. The default uses the most concrete commitment from the call, but you can pin it to a fixed format like 'Follow up with {name} re: {topic}'.
  • Adjust the fallback when no HubSpot contact matches. You can have it create a new contact instead of skipping, or post the orphan call to a Slack channel for someone to triage.

Frequently asked questions

Will this work on the Quo Starter plan?
No. AI call summaries and transcripts are only generated on Quo's Business and Scale plans, so the workflow has nothing to file on lower tiers.
What happens if the caller isn't in HubSpot yet?
By default the workflow exits silently so you don't end up with empty contact records. If you'd rather auto-create the contact or get notified, that's a one-line tweak to the prompt.
Does the note include the full transcript?
Not by default. The note has the AI summary verbatim plus a short list of action items the agent pulls from the transcript. The transcript is read internally but kept out of the note to keep the contact timeline readable. You can ask for it to be attached if you want it.
How does it pick the due date for the follow-up task?
It listens for what the rep actually committed to on the call. 'I'll send the proposal Friday' becomes a task due Friday. If no date was promised, it defaults to three business days out.
Can I route the follow-up to a different person than the rep on the call?
Yes. By default the task is assigned to the HubSpot owner of the contact, but you can route to a specific user, the call participant, or a round-robin queue.

Stop letting call commitments slip through the cracks.

Connect Quo and HubSpot once, and every call ends with a clean note and a follow-up task already on the contact.