Skip to content

On a schedule

Get a Teams briefing before important meetings

Before each meeting with external attendees, you get a Teams message summarising your recent Outlook emails with them.

Runs
On a schedule
Apps
Microsoft Teams, Outlook
AI
Yes, uses the built-in AI allowance
Access
Calendars.Read, Mail.Read, ChatMessage.Send

Send this to your assistant

Create a ClickRuntime automation: every 30 minutes, for meetings starting soon, find my recent Outlook emails with the attendees, summarise them with AI, and send me a Teams briefing.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

An account manager has back-to-back client calls. Before each one there is a scramble through Outlook to remember what was last promised, what the client complained about and which invoice is still open. Often there is no time, and the call starts with an awkward catch-up.

This automation checks your calendar every 30 minutes. For meetings starting soon with people outside your company, it finds your recent emails with those attendees and has AI summarise them into a short briefing sent to you in Teams.

What you get out of it

  • Walk in prepared

    Open questions, recent promises and the tone of the last exchange are in front of you before the call. Clients notice when you remember the details.

  • No digging through your inbox

    The briefing pulls the relevant threads for you. Five minutes of searching per meeting adds up across a busy week.

  • Only meetings that need it

    Internal meetings are skipped, and each meeting gets one briefing. Your Teams chat does not fill up with noise.

  • Useful for handovers

    Covering for a colleague's client meeting is easier with a summary of the recent history. The briefing gives you context you would otherwise not have.

How it works

What happens, step by step

  1. Every 30 minutes, ClickRuntime looks at your Outlook calendar for meetings starting in the next hour.

  2. It skips internal meetings and any meeting it has already briefed you on.

  3. For each remaining meeting, it finds your recent emails with the attendees, and AI summarises them into a short briefing.

  4. The briefing is sent to you as a Teams message before the meeting starts.

Before it runs live

  • Connect Microsoft Teams
  • Connect Outlook

What you get

RunsOn a schedule
Get a Teams briefing before important meetingstoday, 9:00Succeeded
Teams · Meeting briefingsBriefing: Northwind quarterly review. Open item: revised SLA promised by Friday; invoice 1043 still unpaid.

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • 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 Microsoft Teams and Outlook steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
pre_meeting_briefings_for_important_meetings.pyexample
from datetime import datetime, timedelta, timezone
from clickruntime import on_trigger, credentials, http, state, ai

DOMAIN = "contoso.com"
CHAT_ID = "your-teams-chat-id"
GRAPH = "https://graph.microsoft.com/v1.0"

@on_trigger
def run(event):
    h = {"Authorization": f"Bearer {credentials.connection('microsoft', 'work')}"}
    now = datetime.now(timezone.utc)
    meetings = http.get(f"{GRAPH}/me/calendarView", headers=h, params={"startDateTime": now.isoformat(), "endDateTime": (now + timedelta(hours=1)).isoformat()}).json()["value"]
    done, sent = set(state.get("briefed") or []), 0
    for m in meetings:
        emails = [a["emailAddress"]["address"] for a in m.get("attendees", []) if not a["emailAddress"]["address"].endswith("@" + DOMAIN)]
        if m["id"] in done or not emails:
            continue
        msgs = http.get(f"{GRAPH}/me/messages", headers=h, params={"$search": f'"participants:{emails[0]}"', "$top": 15, "$select": "subject,bodyPreview,from"}).json()["value"]
        history = "\n".join(f"{x['from']['emailAddress']['address']}: {x['subject']} - {x['bodyPreview'][:300]}" for x in msgs)
        try:
            brief = ai.generate(f"Meeting: {m['subject']}\nRecent emails:\n{history}", system="Brief me in 5 bullets: open items, promises, tone.", max_output_tokens=300).text
        except ai.AIError:
            brief = "Recent subjects:\n" + "\n".join(x["subject"] for x in msgs[:5])
        http.post(f"{GRAPH}/chats/{CHAT_ID}/messages", headers=h, json={"body": {"content": f"Briefing: {m['subject']}\n{brief}"}})
        done.add(m["id"])
        sent += 1
    state.set("briefed", list(done)[-200:])
    return {"briefings": sent}

FAQ

Common questions

Which meetings get a briefing?
Meetings starting within the next hour that include at least one attendee outside your own email domain. You can also limit it to meetings with a certain word in the title or category.
How far back does it look in my email?
It reads the most recent emails with each attendee, up to about 15 messages per meeting. That is usually the last few weeks of conversation.
Where does the briefing appear?
In a Teams chat, where you see it on desktop and mobile before you join the call. It includes the meeting title, time and attendees.
What permissions does it need?
Calendars.Read, Mail.Read, ChatMessage.Send. Nothing else in your accounts is used.
Does it need AI?
Yes. It uses ClickRuntime's built-in AI, so you don't need an OpenAI or Anthropic key. Every plan includes a monthly AI allowance.
How many runs does it use?
One run each time it runs (on a schedule). Checks that find nothing to do and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Get a Teams briefing before important meetings” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.