Hourly HubSpot notes from Drive sales calls with Azure Speech
Every hour, transcribe new sales call recordings from a Google Drive folder and file a clean summary, sentiment, and next steps on the right HubSpot contact.
Build an agent workflow that files a structured recap of every new sales call recording as a note on the right HubSpot contact, running once an hour.
Trigger: cron, every hour on the hour.
On each run:
1. Use Google Drive List Files to find recordings in a shared sales-calls folder (folder ID configurable) that were created since the previous run. Only include audio files (mp3, wav, m4a, mp4). Track the last processed timestamp so files are not handled twice in the same run.
2. For each new file, use Google Drive Download File Content to fetch the audio bytes.
3. Transcribe it with Azure AI Speech Fast Transcribe Audio, with speaker diarization enabled so the rep and the prospect are labeled separately.
4. Read the transcript and extract: a short call summary (2 to 4 sentences), overall sentiment (positive, neutral, or negative) with a one-line rationale, the top two objections raised by the prospect, and next steps with owners and rough due dates.
5. Match the call to a HubSpot contact using Search Contacts. First try the email or full name inferred from the filename. If that fails, fall back to the first name plus company, or any email addresses, mentioned in the transcript itself. Pick the best single match with reasonable confidence.
6. Use HubSpot Create Note to attach the structured recap to that contact. Associate the note to the matched contact and to any open deal linked to that contact. Format the note with clear headings: Summary, Sentiment, Top Objections, Next Steps.
7. If a call cannot be confidently matched to a contact, skip filing the note and append the filename, best guesses, and reason to a running "unmatched-calls" log the agent keeps in its memory for the next run, so a human can resolve it later.
Design notes for the workflow author: contact matching is the part that genuinely needs an agent, since filenames vary and transcripts often reference the contact by first name plus company only. Keep the note body plain and readable so a rep can scan it in the HubSpot timeline without reformatting.
Additional information
What does this prompt do?
- Runs on the hour and picks up any new call recordings your team dropped into a shared Google Drive folder.
- Transcribes each call with speaker labels using Azure AI Speech, so you can tell the rep and the prospect apart.
- Extracts a short summary, overall sentiment, the top two objections, and next steps with owners.
- Matches the call to the right HubSpot contact and files everything as a note linked to the contact and any open deal.
- Skips and logs any recording where the contact cannot be identified, so nothing gets misfiled.
What do I need to use this?
- A Google Drive account with a shared folder where sales calls are saved.
- A HubSpot login with permission to search contacts and create notes.
- An Azure AI Speech resource for transcription with speaker diarization.
How can I customize it?
- Change how often it runs, from hourly to every 15 minutes or once a day.
- Point it at a different Drive folder, or filter by naming pattern so only sales calls are processed.
- Adjust the note format, for example adding a talk-time ratio, a coaching tip, or a risk flag.
Frequently asked questions
How does it find the right HubSpot contact for each call?
Can I use this if my recordings live somewhere other than Google Drive?
Will this work with HubSpot Free or Starter?
What if the same recording is picked up twice?
How accurate is the sentiment and next-step extraction?
Related templates
Stop hand-writing recap notes after every sales call.
Connect Google Drive, Azure AI Speech, and HubSpot once, and Geni files a clean recap on the right contact every hour.