/
/
Put every Chorus conversation on the HubSpot timeline
For sales teams who record calls in Chorus and want them logged in HubSpot against the right company and deal, by asking their AI assistant.
On this page
Connector
Connect Chorus, pick your AI tool and paste the prompt.
The problem
The HubSpot timeline misses many customer conversations
Chorus records every call and meeting, but HubSpot only shows them if someone logs each one against the right company, deal and contacts. Going through a week of conversations and checking what is already logged is slow, so the timeline misses many.
Without PopdockAI
- Go through a week of Chorus conversations
- Match each account to a company and deal
- Check what is already logged
- Log each call or meeting by hand
With PopdockAI
- Up to 20 recent conversations are read
- Company, deal and contacts are matched, deals only when exactly one fits
- Conversations already in HubSpot are skipped
- Only those you choose are logged and checked
The prompt
Use this prompt
Copy it into any AI tool connected to PopdockAI. Swap the values in braces for your own.
**Objective:** Find Chorus conversations from the last {lookback-days} days (default 7) that are not logged in HubSpot and, after I approve them, log each one as a HubSpot call or meeting associated with its company, its deal and its customer-side attendees. If {user-email} is given, only that rep's conversations.
**Step 1: List the conversations in Chorus**
Call `chorus-get-engagements` with date.from = today minus the lookback days and user-email = {user-email} if it was given. Keep conversation-id, date, time, duration, subject, account-name, opportunity-name, user-name, conversation-type and meeting-summary. If more than 20 come back, keep the 20 most recent and say how many were left out. If none come back, say so and stop.
**Step 2: Find the company and deal in HubSpot**
For each distinct account-name, call `hubspot-get-companies` with company-name = that name, then company-name.contains with its distinctive part if nothing matched. If none or several match, mark that account's conversations "Not matched" and do not log them. For a conversation with an opportunity-name, call `hubspot-get-deals` with company-id = the company's record-id and deal-name = the opportunity-name (then deal-name.contains); use the deal only if exactly one matches.
**Step 3: Skip what is already logged**
For each conversation, with a window from the day before its date to the day after:
* call `hubspot-get-calls` with company-id = the record-id and activity-date.from / activity-date.to = the window;
* call `hubspot-get-meetings` with company-id = the record-id and meeting-start-time.from / meeting-start-time.to = the window.
If either returns a record whose title, name or summary resembles the Chorus subject or mentions the conversation-id, the conversation is already logged; drop it.
**Step 4: Attendees**
For each remaining conversation, call `chorus-get-conversation-participants` with conversation-id. For each external participant with an email, call `hubspot-get-contacts` with email = that email and keep the record-id. Participants with no HubSpot contact are named in the body but not associated.
**Step 5: Review**
Show a numbered table: date, subject, account, rep, conversation-type, the HubSpot tool it will be logged with (`hubspot-add-call` for calls, `hubspot-add-meeting` for meetings and video conferences), and the company, deal and contacts it will be associated with. Ask which to log, by number, "all" or "none". Write nothing until I answer.
**Step 6: Log the approved conversations**
For each approved conversation make exactly one call:
* A call: `hubspot-add-call` with title = the subject, timestamp = the conversation date, status COMPLETED, duration in milliseconds (convert from the Chorus duration; if its unit is unclear, leave duration out and say so), body = the meeting-summary condensed to five sentences or fewer followed by "Chorus conversation <conversation-id>", and company-ids, deal-ids and contact-ids as comma-separated record-ids.
* A meeting: `hubspot-add-meeting` with title = the subject, timestamp and start-time = the conversation date and time, outcome COMPLETED, the same body, and the same associations.
Report each returned id. Then repeat the Step 3 read for that conversation and confirm the activity now appears.
**Rules & Guidelines:**
* `chorus-get-engagements` and `chorus-get-conversation-participants` are on the Chorus server. `hubspot-get-companies`, `hubspot-get-deals`, `hubspot-get-calls`, `hubspot-get-meetings`, `hubspot-get-contacts`, `hubspot-add-call` and `hubspot-add-meeting` are on the HubSpot server.
* The only writes are `hubspot-add-call` or `hubspot-add-meeting`, once per approved conversation. Call no other write tool: no other hubspot-add, hubspot-update, hubspot-rename, hubspot-remove, hubspot-subscribe, hubspot-unsubscribe or hubspot-import tool (including `hubspot-add-engagement-call`, `hubspot-add-engagement-meeting`, `hubspot-add-contact` and `hubspot-add-company`).
* Never call a Chorus write tool (`chorus-add-moment`, `chorus-update-moment`, `chorus-add-playlist-moment`, `chorus-update-playlist-moment`, `chorus-create-playlist`, `chorus-update-playlist`, `chorus-export-recordings`, `chorus-export-scorecards`).
* Do not set owner-id unless I give a numeric HubSpot owner ID; the rep's name goes in the body.
**Validation:**
* Chorus and HubSpot dates may be in different time zones; keep the one-day window either side.
* If the meeting-summary is empty, log the subject, date and attendee names only, and say so.
* If a write fails, report it and continue with the next conversation; do not retry it.Who it's for
One answer, three teams that use it
Account executives
Catch up on a week of logging
See your unlogged calls in one table and log the ones you pick.
Log my Chorus calls and meetings from the last 5 days that are not in HubSpot.
Sales managers
Fill gaps for one rep
Run it for a rep to bring their HubSpot timeline up to date.
Which of Priya Shah's Chorus conversations this week are missing from HubSpot? Log the ones I pick.
Revenue operations
Keep the timeline complete
Calls and meetings land on the right company, deal and contacts, so reports reflect real activity.
Log the last 10 days of Chorus conversations to HubSpot, skipping anything already logged.
How it works
What PopdockAI does when you ask
Your AI assistant reads recent Chorus conversations and lines them up with HubSpot. Unmatched accounts are listed and not logged, and nothing is written until you choose.
01
Read
It reads recent Chorus conversations, optionally for one rep.
02
Match
It finds the HubSpot company, deal and contacts, and skips conversations already logged.
03
Review
You see a numbered table and choose which to log.
04
Log
It logs each as a call or meeting with a short summary and checks it appears.
What PopdockAI provides
The tools behind the answer
Ready made tools for Chorus and one secure connection to your AI tool. No code, no exports.
chorus-get-engagements
hubspot-get-companies
hubspot-get-deals
hubspot-get-calls
hubspot-get-meetings
chorus-get-conversation-participants
hubspot-get-contacts
hubspot-add-call
hubspot-add-meeting
hubspot-add-engagement-call
hubspot-add-engagement-meeting
hubspot-add-contact
hubspot-add-company
This report is built from Get data tools only. PopdockAI applies the row, field and parameter rules your admin sets, and every query is written to the audit trail.
The outcome
Every conversation on the HubSpot timeline, once
Related use cases
More ways to put this data to work
One prompt template with infinite possibilities.
Your AI assistant adapts its approach, tone, and capabilities to match each unique context while you maintain a single, manageable workflow.
Join forward-thinking companies that are transforming their operations with intelligent, secure AI automation.

.webp)
