Daily Slack briefing for tomorrow's external meetings
Every weekday at 6pm, get a Slack message with a one-screen brief on every external meeting you have tomorrow: who they are, what they sell, and talking points.
Every weekday at 6pm in my local timezone, I want an agent to send me a Slack briefing for tomorrow's external meetings.
Trigger: cron, Monday through Friday at 18:00 in my timezone.
Step 1. Pull tomorrow's calendar. Call Google Calendar's List Events on my primary calendar with timeMin set to tomorrow 00:00 and timeMax set to tomorrow 23:59 in my timezone, singleEvents=true so recurring events are expanded, and orderBy=startTime.
Step 2. Filter the events. Drop anything that is a solo block (no other attendees, or only me), anything where every attendee email belongs to my own company domain, and anything that is clearly a recurring internal standup (look at the summary and the recurring rule). Keep meetings that have at least one attendee whose email domain is different from mine.
Step 3. Identify external companies. For each surviving meeting, take the attendees whose email domain is external. Group them by domain. For each unique external domain, treat that as one company to research. If an attendee uses a known free or personal email provider (gmail.com, yahoo.com, outlook.com, hotmail.com, icloud.com, proton.me, and similar), do not treat their domain as a company; instead flag that meeting as 'attendee with personal email' in the final brief.
Step 4. Skip recently briefed companies. Keep a small running memory of which company domains have been briefed in the last 14 days. If a company is in that list, skip the research and just include a one-line 'already briefed on <date>' note for the meeting instead of a full section.
Step 5. Research each new company. For every unique external company:
Call Context.dev Retrieve Brand Data by Email with one of the attendee work emails. If Context.dev rejects the email as free or disposable, fall back to Retrieve Brand Data by Domain using the email's domain.
From the brand record, capture: company name, one-line description, industry, NAICS code, headquarters location, primary website, and the most useful socials (LinkedIn and X if present).
Pick the company's pricing page if one is exposed in the brand links, otherwise their main product or solutions page, otherwise their homepage. Call Context.dev Scrape Markdown on that URL to get current product positioning.
From the scraped markdown, write a 1 to 2 sentence summary of what they actually sell today and draft 2 to 3 talking points or discovery questions tailored to that meeting.
Step 6. Send the brief. Call Slack Send a Message to my personal briefing channel (I will tell you the channel during setup) with a single message containing one compact section per meeting, in chronological order. Each section should include:
Meeting time (in my timezone) and title.
External attendees: names and emails.
Company one-liner, industry, NAICS code, HQ, website, LinkedIn.
What they sell today (from the scraped page).
2 to 3 talking points or discovery questions.
If a meeting has no resolvable company (only personal emails, or both lookups failed), include a short stub with the meeting title, time, attendees, and a note that the company could not be identified. If there are zero external meetings tomorrow, send a one-line Slack message saying 'No external meetings tomorrow' instead of skipping silently.
Formatting: one Slack message, mrkdwn-friendly, dividers between meetings, bold the meeting time and company name. Keep each section tight so the whole brief fits on one mobile screen scroll per meeting.
Additional information
What does this prompt do?
- Reads tomorrow's events from your Google Calendar each weekday evening and filters out solo blocks, internal-only meetings, and recurring standups.
- For every remaining meeting, looks up the external attendees' company: industry, NAICS code, location, socials, website, and a short description.
- Scans the company's pricing or product page so the brief reflects what they actually sell today, not last year's positioning.
- Sends one tidy Slack message at 6pm with a section per meeting: time, attendees, company one-liner, what they sell, and 2 to 3 talking points to open with.
- Skips any company you were already briefed on in the last 14 days so the same account never gets recapped twice in a sprint.
What do I need to use this?
- A Google account with your work calendar connected.
- A Context.dev account for the company research and page scraping.
- A Slack workspace where the briefing should land (a personal channel or DM works well).
How can I customize it?
- Change the send time or the days it runs (for example, weeknights at 8pm, or Sunday night for the week ahead).
- Adjust the Slack destination, swap to a DM, or send to a shared deal channel.
- Tune what counts as 'external', what to skip (recruiter calls, interviews, internal syncs), and how recently a company has to have been briefed before it gets skipped.
- Tell the agent what kind of talking points you want: discovery questions, pricing angles, product hooks, or a custom mix.
Frequently asked questions
Does this work if my calendar has both internal and external meetings?
What happens when an attendee uses a Gmail or Outlook personal address?
Will it spam me if I have the same company on the calendar every week?
Can I change when the brief gets sent?
How fresh is the company information?
Walk into every external meeting already prepped.
Connect Google Calendar, Context.dev, and Slack once, and Geni sends you a per-meeting brief every weekday at 6pm.