# 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.

- Workflow type: agent
- Services: Google Calendar, Real-Time Web Search, Slack
- Categories: Sales, Personal Productivity
- Published: 2026-06-26

## What it does

- 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 you'll need

- 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).

## Prompt

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.

## How to customize

- 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.

## FAQ

### Will it brief my internal one on ones?

No. The agent only includes meetings that have at least one attendee from outside your company. It also skips events you have declined and all day blocks.

### What if a person cannot be confidently identified?

The meeting still appears in the digest with a clear skip note for that attendee, so you know to do a quick lookup yourself before the call.

### How recent is the news in each briefing?

Each briefing pulls company news from the past week so the items you see are fresh enough to actually mention on the call.

### Can I send this to a shared channel instead of my DM?

Yes. You can point the digest at any Slack channel or DM you have access to when you set it up.

### How does the agent know which attendees are external?

It compares each attendee's email domain to the domain of your connected calendar and treats anyone with a different domain as external. No domain list to configure.

Use this prompt in General Input: https://www.generalinput.com/prompts/attendee-research-briefing-for-todays-external-meetings