Connectors

/

Granola

/

Log a Granola meeting as a HubSpot meeting
Write
Cross-Connector

Get Granola meetings onto the HubSpot timeline

For sales reps who take notes in Granola and want each meeting logged in HubSpot with the right contacts and deal, by asking their AI assistant.

Try PopdockAI free
Get a live demo
Log a Granola meeting as a HubSpot meeting
Log yesterday's Granola meeting Northwind pilot kickoff in HubSpot.
I found the Granola note Northwind pilot kickoff, 2026-10-29, with 4 attendees. - Contacts: Dana Whitfield, Lee Chen - Company: Northwind Traders - Deal: Northwind pilot - Not in HubSpot: 2 attendees, both internal - Summary: 120 words, ending Source: Granola note 8812 Shall I log this meeting?
Granola
Sample figures. Your results come from your own account.
granola-get-note
granola-get-attendee
hubspot-get-contacts
hubspot-get-deals
hubspot-get-meetings
hubspot-add-meeting
hubspot-add-engagement-meeting
hubspot-add-note
hubspot-add-contact

On this page

The problem

The problem

The prompt

Who it's for

How it works

Tools used

Connector

Granola

Granola
Run it on your own Granola data.

Connect Granola, pick your AI tool and paste the prompt.

Try PopdockAI free

The problem

Meetings Granola captured never reach HubSpot

HubSpot only knows about a Granola meeting if someone copies the summary across and links the right contacts, company and deal. Checking it is not already logged takes more time, so many meetings never reach the CRM.

Without PopdockAI

  • Copy the summary out of Granola
  • Find each attendee's HubSpot contact
  • Work out which deal it was about
  • Check the meeting is not already logged

With PopdockAI

  • Attendees are matched to HubSpot contacts by email
  • A deal is proposed only when one clearly fits
  • It stops if the meeting is already logged
  • You review the draft, and it writes only on your yes

The prompt

Use this prompt

Copy it into any AI tool connected to PopdockAI. Swap the values in braces for your own.

Prompt
**Objective:** Log the Granola meeting whose title contains `{meeting-title}` (created in the last `{lookback-days}` days, default 30) as a meeting in HubSpot, associated with the attendees' HubSpot contacts, their companies and, where one clearly applies, the open deal. Nothing is written until the user confirms.

**Step 1: Find the meeting (Granola)**

Call `granola-get-note` with title.contains set to the meeting title and created.from set to today minus the lookback days. If more than one note matches, list them (id, title, scheduled-start, created-at) and stop for the user to choose. If none match, say so and stop. Keep id, title, scheduled-start, scheduled-end, created-at and summary.

**Step 2: Attendees (Granola)**

Call `granola-get-attendee` with note-id set to the note id. Keep each attendee's name and email.

**Step 3: Match in HubSpot**

For each attendee email, call `hubspot-get-contacts` with email set to that address. Join on email, ignoring case. Keep record-id and company-id. An attendee with no match is not associated; list them as "Not in HubSpot" (usually internal staff or new people) and continue. If no attendee matches at all, report that and stop: there is nothing to associate the meeting with.

For each distinct company-id, call `hubspot-get-deals` with company-id set to it and keep deals whose deal-stage-name is not a closed stage. If exactly one open deal's deal-name matches the meeting title or summary, propose it. If several could match, list them and let the user pick one or none. Never guess a deal.

**Step 4: Check it is not already logged (HubSpot)**

Call `hubspot-get-meetings` with contact-id set to the first matched contact's record-id and meeting-start-time.from / meeting-start-time.to set to the day before and the day after the Granola scheduled-start (or created-at when scheduled-start is empty). If a meeting with a similar meeting-name comes back, show it and stop: the meeting is already logged.

**Step 5: Draft and confirm**

Show the draft:

* title: the Granola title
* timestamp and start-time: the scheduled-start (or created-at); end-time: the scheduled-end if present
* outcome: COMPLETED
* body: the Granola summary condensed to 150 words or fewer, ending with "Source: Granola note <id>"
* contact-ids, company-ids and deal-ids: the matched record-ids, comma-separated

Ask for explicit confirmation. Do nothing further without a clear yes. If the user asks for changes, redraft and ask again.

**Step 6: Write (only after yes)**

Call `hubspot-add-meeting` once with the approved values and report the returned id. Then call `hubspot-get-meetings` as in Step 4 and confirm the new meeting appears.

**Rules & Guidelines:**

* `granola-get-note` and `granola-get-attendee` are on the Granola server. `hubspot-get-contacts`, `hubspot-get-deals`, `hubspot-get-meetings` and `hubspot-add-meeting` are on the HubSpot server.
* The only write is `hubspot-add-meeting`, called once, after confirmation. 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-meeting`, `hubspot-add-note` and `hubspot-add-contact`). The Granola server is only read.
* Do not set owner-id unless the user gives a numeric HubSpot owner ID.
* Do not put transcript text in the body unless the user asks for it.

**Validation:**

* If the summary is empty, offer a body with the title, date and attendee names only.
* If the read-back in Step 6 does not show the meeting, say the write may have failed and show the draft. Do not write it a second time.

Who it's for

One answer, three teams that use it

Account executives

Log calls without copying notes

The meeting lands on the right contacts and deal with a clean summary.

Log today's Granola meeting Contoso pricing review in HubSpot.

Sales managers

Keep deal timelines complete

Meetings are linked to a deal only when one clearly fits, so the timeline stays accurate.

Log the Fabrikam discovery call from Tuesday in HubSpot against the right deal.

Customer success managers

Record customer meetings once

It checks the meeting is not already logged, so the timeline never doubles up.

Add the Northwind Traders quarterly review from Granola to HubSpot if it is not already there.

How it works

What PopdockAI does when you ask

You name the meeting and your AI assistant drafts the HubSpot meeting with its links. Nothing is written until you say yes, and the meeting is read back afterwards.

01

Find

It finds the Granola note and its attendees.

Your AI tool

02

Match

It matches attendees to HubSpot contacts and proposes an open deal only when one clearly fits.

hubspot-get-contacts
hubspot-get-deals

03

Confirm

You review the draft meeting, summary and links, and say yes.

No items found.

04

Log

It creates the HubSpot meeting and reads it back to confirm.

Your AI tool

What PopdockAI provides

The tools behind the answer

Ready made tools for Granola and one secure connection to your AI tool. No code, no exports.

get-data

granola-get-note

Returns Granola meeting notes with their summaries and metadata. Filter by date range, title or owner to find the meetings you need.
get-data

granola-get-attendee

Returns the people who attended each Granola meeting note, so you can see who was actually in the room.
get-data

hubspot-get-contacts

Returns contact records from HubSpot CRM, with email, phone, company, lifecycle stage, lead status, owner and location from the HubSpot connector. Filter by company id, state region, contact owner, email, last name, create date, company name, record id, lifecycle stage, lead status.
get-data

hubspot-get-deals

Returns deals from HubSpot CRM, with amount, stage, pipeline, close date, owner and associated company and contact from the HubSpot connector. Filter by pipeline name, close date, deal stage name, deal type, record id, company id, deal name, amount, deal owner.
get-data

hubspot-get-meetings

Returns meetings logged in HubSpot, with name, start and end times, outcome, location and associated records from the HubSpot connector. Filter by activity assigned to, contact id, company id, deal id, meeting start time, meeting name, meeting outcome.
run-action

hubspot-add-meeting

Logs a meeting in HubSpot and returns the new meeting's ID. Required: Date. Optional: Title, Description, Start, End, Location, Outcome, Owner ID, Company IDs, Contact IDs, Deal IDs. Writes to HubSpot.
run-action

hubspot-add-engagement-meeting

Logs a meeting in HubSpot and returns the new engagement meeting's ID. Required: Date. Optional: Title, Description, Start, End, Location, Outcome, Owner ID, Company IDs, Contact IDs, Deal IDs. Writes to HubSpot.
run-action

hubspot-add-note

Creates a note in HubSpot and returns the new note's ID. Required: Date. Optional: Note, Owner ID, Company IDs, Contact IDs, Deal IDs. Writes to HubSpot.
run-action

hubspot-add-contact

Creates a contact in HubSpot and returns the new contact's ID. Requires email. Optional: phone, last name, company name, first name, lead status, lifecycle stage, owner id, job title.
Read only.Nothing in Granola Changes

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.

How Popdock AI secures your data

The outcome

Every meeting on the right HubSpot timeline

Try PopdockAI free
Get a live demo

Related use cases

More ways to put this data to work

All Ramp use cases

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.

Try PopdockAI Free
See Documentation