SLog sales meetings and next steps in the CRM
Reads sales meetings since the last run in Bridge, updates each buyer in HubSpot, and logs a note with needs, next steps and owners.
Outcome
Every external attendee of a sales meeting since the last run, created or updated in HubSpot.
A HubSpot note on each contact with the meeting date, needs, objections, next step and its owner.
The list of meetings logged, and the attendees that were skipped and why.
How it works
BList the meetings, by Search meetings by Bridge
Browse meetings from
sinceto now. Keep eachrecapId, title, date and participants.
BRead each meeting, by Get meeting details by Bridge
Keep the meetings that match
sales_terms, with their summary, action items and the participants outsideown_domain, with names, titles and emails. Skip meetings with no transcript.Write the CRM update, by Your agent
For each meeting, draft a note: date, attendees, needs, objections, the next step, who owns it and when it is due. Show the notes to the user.
HFind the records, by Search CRM records by HubSpot
Search contacts by each attendee's email. Keep the matches and their IDs.
HUpdate the contacts, by Create or update contacts by HubSpot
Create or update each attendee, matched on email, with name, title and company. Keep each contact ID.
HLog the meeting, by Create a note by HubSpot
Attach each approved note to its attendees' contact IDs, timestamped at the meeting start.
You'll be asked for
When the last run happened
e.g. 2026-10-16
Your company's email domain, so your own people are not logged
e.g. acme.com
Words that mark a sales meeting in its title or transcript
e.g. demo, discovery, pricing
meetings-to-crm.mdView markdown
Log sales meetings and next steps in the CRM
Reads sales meetings since the last run in Bridge, updates each buyer in HubSpot, and logs a note with needs, next steps and owners.
Set up the tools below, then run the steps in order for the user, carrying each step's results into the next. The run is done when the user has the outcome below.
Outcome
- Every external attendee of a sales meeting since the last run, created or updated in HubSpot.
- A HubSpot note on each contact with the meeting date, needs, objections, next step and its owner.
- The list of meetings logged, and the attendees that were skipped and why.
Inputs
Ask the user for these before you start.
since: when the last run happened, e.g. 2026-10-16own_domain: your company's email domain, so your own people are not logged, e.g. acme.comsales_terms: words that mark a sales meeting in its title or transcript, e.g. demo, discovery, pricing
Set up
Bridge (tool:bridge/search-meetings, tool:bridge/get-meeting-details)
Use the MCP server. Add it to your agent's MCP settings, then sign in when asked.
{ "mcpServers": { "bridge": { "url": "https://api.meetonbridge.com/mcp" } } }
- Search meetings: call the MCP tool
search_meetings - Get meeting details: call the MCP tool
get_meeting_details
Note: Needs a paid Bridge plan (Professional or above); not on the free Starter plan or a trial. At sign-in the user grants read, or read and write, access. Call get_bridge_context first for the tools the plan and connection allow.
Notes:
- Search meetings: Omit
queryto browse by date or participant. Pass a returnedrecapIdtoget_meeting_detailsfor the full meeting.
HubSpot (tool:hubspot/search-crm-records, tool:hubspot/upsert-contacts, tool:hubspot/create-note)
For each call, use the first option your agent supports that lists it.
Notes:
- Search CRM records: The MCP tool takes up to five groups of six filters and returns up to 200 records per page.
- Create or update contacts: Matches each contact on
idProperty,emailor a custom unique property. On MCP,manage_crm_objectswaits for the user to confirm the proposed changes before it writes. - Create a note:
hs_timestampis required; attach the note to existing records with anassociationsobject.
MCP (official, remote)
Add this server to your agent's MCP settings, then sign in when asked.
{ "mcpServers": { "hubspot": { "url": "https://mcp.hubspot.com" } } }
- Search CRM records: call the MCP tool
search_crm_objects - Create or update contacts: call the MCP tool
manage_crm_objects
API (official)
- Base URL: https://api.hubapi.com
- Search CRM records:
POST /crm/objects/2026-09/{objectType}/search - Create or update contacts:
POST /crm/objects/2026-09/contacts/batch/upsert - Create a note:
POST /crm/objects/2026-09/notes - Auth: send the header
Authorization: Bearer $HUBSPOT_API_KEY
Note: Use a service key or an app's static access token with the CRM scopes the calls need; paths carry a dated version such as 2026-09.
Before step 1, confirm access to each service with its cheapest read-only call, like a list or a search. Never send or change anything to test access.
Steps
- List the meetings with Search meetings (Bridge). Browse meetings from
sinceto now. Keep eachrecapId, title, date and participants. - Read each meeting with Get meeting details (Bridge). Keep the meetings that match
sales_terms, with their summary, action items and the participants outsideown_domain, with names, titles and emails. Skip meetings with no transcript. - Write the CRM update yourself. For each meeting, draft a note: date, attendees, needs, objections, the next step, who owns it and when it is due. Show the notes to the user.
- Find the records with Search CRM records (HubSpot). Search contacts by each attendee's email. Keep the matches and their IDs.
- Update the contacts with Create or update contacts (HubSpot). Create or update each attendee, matched on email, with name, title and company. Keep each contact ID.
- Log the meeting with Create a note (HubSpot). Attach each approved note to its attendees' contact IDs, timestamped at the meeting start.
Notes
Built on HubSpot. For Salesforce, use salesforce/search-records, salesforce/update-record and salesforce/create-record; for Attio, attio/upsert-record and attio/create-note.
Run it daily with since set to the previous run.
Rules
- Use only the services set up above. The read-only calls they need, like listing ids or polling for results, are fine.
- Ask the user before anything that sends messages, costs money, or changes data, and say how many records it touches. One approval covers a batch the user has seen.
- Never print API keys.