Attendee research briefing for today's external meetings
Every weekday at 7:30am, get a Slack digest with a short briefing for each external meeting: who's attending, what their company does, recent news, and a suggested opener.
Every weekday at 7:30am in my local time zone, prep me for the day's external meetings by researching each outside attendee and the company they work at, then deliver one consolidated briefing to my Slack DM. Build this as an agent workflow.
Trigger: a cron schedule that fires Monday through Friday at 7:30am in my local time zone.
Step 1. Use Google Calendar's List Events on my primary calendar for today (timeMin = start of today in my time zone, timeMax = end of today, singleEvents = true, orderBy = startTime). Drop events I have declined, all day blocks, and events that have no other attendees. Treat the email address of the connected calendar account as my own domain (everything after the @), so I never have to configure an internal domain list.
Step 2. For each remaining event, classify attendees: anyone whose email domain matches mine is internal, anyone with a different domain is external. Also ignore common free mail domains (gmail.com, outlook.com, yahoo.com, hotmail.com, icloud.com, aol.com, proton.me, protonmail.com) when picking a company for the meeting, but still treat that person as an external attendee to research. Drop any meeting where no qualifying external attendee remains.
Step 3. For each remaining meeting, pick the most likely company by looking at the most common external corporate email domain across the attendees (e.g. jane@acme.com -> Acme). If multiple external domains tie, use the organizer's domain first. Reduce the bare second level domain to a company name hint.
Step 4. For each external attendee on each meeting, call Real-Time Web Search's Search operation with a query like "<First Last> <Company>" to confirm who they are and capture a role (title) and a one line on what the company does. Then call Real-Time Web Search's Search a second time per company, scoped to the past week using the tbs=qdr:w token, to pull 2 to 3 recent newsworthy items about that company (funding, leadership changes, product launches, partnerships, layoffs, earnings, lawsuits, regulatory action). Keep source URLs so you can cite them inline. If a person cannot be confidently identified, note that explicitly and move on instead of guessing.
Step 5. Synthesize one short briefing per qualifying meeting with these fields, in this order: (1) meeting title and start time in my local time zone, (2) who is attending from outside and their role at the company, (3) a one line on what the company does, (4) 2 to 3 recent newsworthy items from the past week with inline source links, (5) a suggested conversation opener that ties to one of those news items. Cap each meeting briefing to roughly 120 words so the digest stays scannable on mobile. Tone is factual and skimmable, no filler. If an external attendee could not be identified, include a clear skip note for that person inside the briefing rather than dropping the meeting.
Step 6. Combine every meeting briefing into a single Slack message, ordered chronologically by meeting start time. Format with Slack mrkdwn: *bold* the meeting title line, use <url|source> for inline citations, and put a thin separator between meetings. Send it with Slack's Send a Message to my own DM. To resolve the DM channel, first call Slack Open a Conversation with my own user id, then Send a Message to the channel it returns. Send exactly one message, not one per meeting. If there are no qualifying external meetings today, send a short note saying the day looks internal only.
Setup inputs to ask me for: the Slack destination (default: my own DM), the run time (default 7:30am weekdays in my local time zone), the news lookback (default 1 week via tbs=qdr:w), and the per meeting word cap (default 120). Do not require an internal domain list. Skip the run entirely if there are zero qualifying external meetings today.
Additional information
What does this prompt do?
- Pulls today's events from your Google Calendar each weekday morning and keeps only meetings that include at least one attendee from outside your company.
- Researches each outside attendee by name and company, captures a one line on what the company does, and surfaces two or three newsworthy items from the past week.
- Drafts a short briefing per meeting with the time, who is attending and their role, the company snapshot, the recent news with source links, and a suggested conversation opener tied to it.
- Bundles every briefing into one chronological Slack DM, capped at about 120 words per meeting so the full day fits on a phone before your first call.
What do I need to use this?
- A Google account with the calendar you use for work meetings.
- A Slack workspace where the digest should land (your own DMs work well).
- A Real-Time Web Search account for the attendee and company news lookups (the starter tier is enough to begin).
How can I customize it?
- Shift the run time, the delivery days, or swap the Slack destination from your DM to a shared sales prep channel.
- Tighten or loosen the recent news window, or change how many news items each briefing includes.
- Adjust the word cap per meeting if you prefer fuller briefings on desktop or shorter ones on mobile.
Frequently asked questions
Will it brief my internal one on ones?
What if a person cannot be confidently identified?
How recent is the news in each briefing?
Can I send this to a shared channel instead of my DM?
How does the agent know which attendees are external?
Related templates
Walk into every external meeting already briefed.
Connect Google Calendar, Real-Time Web Search, and Slack once, and Geni delivers a per meeting briefing every weekday morning before your first call.