Weekday Outlook meeting prep brief with HubSpot context
Every weekday at 7:30am, Geni reads your Outlook calendar, pulls HubSpot context for every external attendee, and emails you a single ranked prep brief.
Integrations
Microsoft Outlook
HubSpot
Type
Categories
- Sales
- Personal Productivity
Build me a weekday morning meeting prep brief that runs on a cron schedule, every Monday through Friday at 7:30am in my local time zone.
Step 1: Pull the next 24 hours of meetings from Microsoft Outlook using List Calendar View (not List Events) so recurring series are expanded into actual instances. Use my primary calendar.
Step 2: For each event, identify external attendees by comparing each attendee's email domain against my internal domain (or domains) which I will configure at setup. Skip meetings that have no external attendees, and skip 1:1s where the single external attendee has no HubSpot match.
Step 3: For every external attendee, look them up in HubSpot using Get Contact with idProperty=email. If Get Contact misses, fall back to Search Contacts by email. From the contact, pull associated company (Get Company), open deals (Get Deal or List Deals filtered by association), and the three most recent notes (List Notes filtered to that contact). Capture company name, contact title, last activity date, deal name, deal stage, deal amount, and a short snippet from the most recent note.
Step 4: Draft a single prep brief covering every qualifying meeting in chronological order. For each meeting include: time and title, attendees with roles and companies, deal stage and amount where applicable, recent context (last touch and most relevant note), three suggested talking points tailored to the deal stage and recent activity, and any open tasks or action items I owe them. Keep it skimmable. Bullets, not paragraphs. Bold the meeting titles.
Step 5: Deliver the brief via Microsoft Outlook Send Mail to my own email address with the subject "Meeting prep · {today's date}". If I prefer to review before sending, use Create Draft Message instead so it lands in my Drafts folder.
Skip the entire run gracefully if there are no qualifying meetings (don't email me an empty brief). Log which meetings were skipped and why, so I can audit the filter rules.
What it does
- Runs every weekday morning on a cron schedule and lists the next 24 hours of Outlook calendar events, expanding recurring meetings into actual instances.
- For each meeting, identifies external attendees (anyone outside your domain) and looks them up in HubSpot to pull company, last touch, open deals, and recent notes.
- Drafts a single prep brief covering every meeting in order with attendees and roles, deal stage, recent context, suggested talking points, and any open tasks.
- Delivers the brief via Outlook Send Mail to your inbox, or stages it as an Outlook draft if you want to review before sending.
What you’ll need
- A Microsoft Outlook account connected with Calendars.Read and Mail.Send (or Mail.ReadWrite for drafts) scopes.
- A HubSpot account connected with crm.objects.contacts.read, crm.objects.deals.read, and crm.objects.notes.read scopes.
- Your internal email domain (or domains) so the agent can tell external attendees apart from coworkers.
- A delivery preference: send straight to your inbox, or stage as a draft for review.
How to customize it
- Change the cron to a different time or cadence (6am local time, Monday only, twice a day, etc.).
- Adjust the lookahead window from 24 hours to the rest of the workday, the next 48 hours, or just morning meetings.
- Tune skip rules: skip internal-only meetings, 1:1s with no HubSpot match, focus blocks, or events under 15 minutes.
- Swap delivery from Outlook Send Mail to Create Draft Message, or add a Teams or Slack copy for redundancy.
Use cases
- Meeting Workflows
- Daily Digests
- AI Reports