Sync Fireflies sales call recaps into HubSpot deals

After every external sales call, file the Fireflies transcript on the HubSpot deal, log action items as tasks, and DM the deal owner a tight Slack brief.

Agentic Task
Fireflies.aiHubSpotSlackSalesOperationsMeeting WorkflowsData SyncNotifications & Alerts

Build me an agent workflow that turns every external sales call into clean CRM updates. The trigger is a new transcript in Fireflies.ai (poll trigger, event type new_transcript).

When a new transcript fires, do the following:

1. Call Fireflies.ai Get Transcript to pull the full transcript, including attendees, summary, action items, and key points.

2. Filter out internal-only meetings. Only proceed if at least one attendee has an email domain that does not match my company domain. If every attendee is internal, stop and log that the meeting was skipped.

3. For each external attendee, run HubSpot Search Contacts by email to find the matching contact. Walk the contact's associations to find an open deal. If multiple open deals match, pick the one with the closest close date. If no contact or deal is found, stop and log the reason.

4. Use HubSpot Create Note to attach a structured recap to the deal. The note should include: meeting title and date, attendees, a one-paragraph summary, sentiment read, objections raised, competitor mentions, key next steps, and a link back to the Fireflies transcript. Tag the note with the Fireflies transcript ID so re-runs do not duplicate it.

5. For each action item in the transcript, call HubSpot Create Task. Set the deal owner as the task owner, write a clear subject from the action item, set a sensible due date (default to three business days from the meeting unless the transcript implies a different timeline), and associate the task with the deal and primary contact.

6. Call HubSpot Update Deal to refresh stage notes or close-date confidence based on signals in the transcript. For example, if the prospect confirmed budget and timeline, push close-date confidence up; if they raised a blocking objection, flag it on the deal and leave the stage unchanged.

7. Finally, use Slack Send a Message to DM the deal owner. Match the deal owner to a Slack user by email. The DM should be a tight three-bullet brief: what happened, what to do next, and any risks. Include a direct link to the HubSpot deal.

Keep the agent idempotent: before writing a recap note, check the deal for an existing note tagged with the same Fireflies transcript ID, and skip if it already exists. Log every run with the transcript ID, deal ID, and what was written so I can audit it later.

Additional information

What does this prompt do?
  • Watches Fireflies.ai for new transcripts and skips internal-only meetings by requiring at least one external attendee.
  • Pulls the full transcript, summary, action items, and key points, then finds the right HubSpot contact and open deal by attendee email.
  • Posts a structured recap note on the deal covering sentiment, objections, next steps, and competitor mentions.
  • Creates a HubSpot task for each action item, owned by the rep with a sensible due date, and updates deal stage notes based on signals in the transcript.
  • DMs the deal owner in Slack with a three-bullet brief and a direct link to the deal.
What do I need to use this?
  • A Fireflies.ai account with transcripts available via the API.
  • A HubSpot account with permission to read contacts and deals and to create notes, tasks, and deal updates.
  • A Slack workspace where the agent can DM deal owners.
  • A consistent way to map HubSpot deal owners to Slack users (matching email is usually enough).
How can I customize it?
  • Tighten or loosen the external-attendee filter, for example require a non-company domain or a specific meeting title pattern.
  • Change how recap notes are formatted, which signals bump the deal stage, or what default due date you assign to action items.
  • Swap the Slack DM for a channel post, change the recap to a thread reply, or add the account executive's manager as a CC.

Frequently asked questions

Does this work with Gong instead of Fireflies?
Yes. The same pattern works with Gong's New Call trigger. Swap the Fireflies trigger and Get Transcript step for Gong's equivalents and keep the rest of the workflow the same.
How does the agent find the right HubSpot deal?
It runs Search Contacts on each external attendee email, then walks the contact's associations to find the most recently updated open deal. If multiple deals match, it picks the one with the closest close date.
What stops it from running on internal team meetings?
The agent only proceeds if the transcript has at least one attendee whose email domain does not match your company domain. Internal syncs and 1:1s are skipped automatically.
Can I customize what goes into the deal note?
Yes. The recap template is part of the prompt and can be edited to highlight whatever signals matter most to your team, such as pricing pushback, decision criteria, or named competitors.
Does it create duplicate notes if Fireflies re-emits a transcript?
The agent checks the deal for an existing note tagged with the same Fireflies transcript ID before writing, so re-runs do not create duplicates.

Stop retyping sales calls into HubSpot.

Connect Fireflies, HubSpot, and Slack once, and Geni files every external call onto the right deal with action items and a Slack brief.