Every 15 min, checks upcoming events
Get a research brief before every external meeting
An hour before any meeting with people outside your company, you get an email about who they are, recent news and what you last discussed.
- Runs
- Every 15 min, checks upcoming events
- Apps
- Gmail, Google Calendar
- AI
- Yes, uses the built-in AI allowance
- Access
- Calendar read; Gmail gmail.modify (read + send)
Send this to your assistant
Create a ClickRuntime automation: an hour before any calendar meeting with external guests, research their company and recent news and email me a short brief, including our past emails.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A sales lead has five or six calls a day with prospects, partners and customers. Preparing properly means looking up the company, skimming recent news and finding the last email thread, which takes fifteen minutes per meeting she does not have. Most days she walks in with only what she remembers.
This automation does the preparation for her. An hour before each external meeting, a short brief arrives in her inbox with the company background, anything newsworthy and a summary of past conversations.
What you get out of it
Walk into every meeting prepared
Knowing about the prospect's recent funding round or new product makes for a better first five minutes and a more relevant conversation.
Pick up where you left off
A summary of past emails reminds you what was promised, what was asked and where the deal stands.
Time back before each call
The fifteen minutes of searching before each meeting is done for you, which adds up across a busy week.
Only for meetings that need it
Internal meetings are skipped, so the briefs you get are always for conversations with people outside your company.
How it works
What happens, step by step
Every 15 minutes ClickRuntime checks your Google Calendar for meetings starting in about an hour.
It keeps meetings with guests from outside your company and skips any it has already briefed you on.
It looks up each guest's company website, recent news and your past emails with that company.
AI writes a short brief covering who they are, what is new and where things stand.
The brief is emailed to you before the meeting starts.
Before it runs live
- Connect Google through your own Google app (a one-time, 10-minute setup), so it works with your own Gmail
- Connect Google Calendar
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Run it at a different time, more or less often, or only on weekdays
- Change what the AI looks for, or how it writes the result
- Add another app, for example also send it to Slack
- Combine it with other Gmail and Google Calendar steps into one automation
Under the hood
The code that runs this automation
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from datetime import datetime, timedelta, timezone
from clickruntime import on_trigger, credentials, http, state, notify, ai
MY_DOMAIN = "yourcompany.com"
@on_trigger
def run(event):
creds = Credentials(credentials.connection("google", "work"))
now = datetime.now(timezone.utc)
events = build("calendar", "v3", credentials=creds, cache_discovery=False).events().list(
calendarId="primary", timeMin=(now + timedelta(minutes=45)).isoformat(),
timeMax=(now + timedelta(minutes=75)).isoformat(), singleEvents=True).execute().get("items", [])
done = set(state.get("briefed") or [])
gmail = build("gmail", "v1", credentials=creds, cache_discovery=False)
for ev in events:
domains = {a["email"].split("@")[1] for a in ev.get("attendees", []) if not a["email"].endswith(MY_DOMAIN)}
if not domains or ev["id"] in done:
continue
dom = sorted(domains)[0]
site = http.get(f"https://{dom}", timeout=10).text[:6000]
news = http.get("https://news.google.com/rss/search", params={"q": dom}).text[:4000]
ids = gmail.users().messages().list(userId="me", q=f"from:{dom} OR to:{dom}", maxResults=5).execute().get("messages", [])
past = [gmail.users().messages().get(userId="me", id=m["id"]).execute()["snippet"] for m in ids]
brief = ai.generate(["Write a short pre-meeting brief: who they are, recent news, where our conversation stands.",
site, news, "\n".join(past)], max_output_tokens=600).text
notify.email_me(f"Brief: {ev.get('summary', dom)}", brief)
done.add(ev["id"])
state.set("briefed", list(done)[-200:])
return {"meetings": len(events)}FAQ
Common questions
How does it know which meetings are external?
Where does the company information come from?
Can I get the brief earlier than an hour before?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Build a daily timesheet from your calendar and sent email
Each evening you get a timesheet of the day grouped by client, built from your meetings and sent emails.
See how it worksDraft follow-ups for prospects who have gone quiet
Each morning you get ready-to-send follow-up drafts in Gmail for prospects who have not replied in a week, plus a slot in your calendar to send them.
See how it worksSend an agenda the day before Sprint Planning
Attendees get an agenda built from your notes the day before each Sprint Planning meeting.
See how it worksKeep exploring
Set up “Get a research brief before every external meeting” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.