🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Google Calendar + Slack: meeting briefs delivered

Lisa Granqvist Partner Workflow Automation Expert

You know that moment when a meeting starts, everyone’s already talking, and you’re still searching for “who is this person” across email threads and CRM notes. It’s not hard work. It’s just constant context switching, and it quietly wrecks your day.

Account managers feel it most right before client calls. Sales leads get hit when a “quick intro” turns into a live discovery. Founders doing back-to-back partner chats deal with it too. This calendar Slack briefs automation drops your prep into Slack so you stop digging and start the call with actual talking points.

Below is what the workflow does, what you need to run it, and how teams use it to get back about 2 hours a week (sometimes more) without changing their calendar habits.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Google Calendar + Slack: meeting briefs delivered

The Problem: Meeting prep becomes daily scavenger hunts

Meeting prep should be simple. In reality, it turns into five little searches that pile up: check the invite, open the CRM, search Gmail, skim old notes, then try to remember what you promised last time. Do that a few times before lunch and you’re already behind. Worse, you walk into calls missing small details that change everything, like “they’re evaluating vendors this week” or “their champion left the company.” The mental load is the real cost because you’re constantly switching tools instead of thinking.

It adds up fast. And the friction compounds when your calendar is full.

  • Gmail history and CRM notes live in different places, so you end up doing the same searches every week.
  • Prep gets rushed, which means you default to generic questions instead of relevant ones.
  • External attendees slip through the cracks, especially when the invite includes a mix of coworkers and guests.
  • Even when you do the work, there’s no consistent brief format, so you still feel unprepared.

The Solution: Automatic meeting briefs posted to Slack each morning

This workflow runs for you every weekday morning at 6 AM. It pulls today’s Google Calendar events, filters down to meetings with external attendees, and then researches each person using the context you already have. It looks up your past interactions in Gmail, checks prior calendar interactions, and pulls the right relationship history and notes from Attio. If it needs extra company context, it can use Perplexity for quick background research. Then an AI agent turns that into a structured brief with talking points and objectives, and posts it as a clean Slack message so it’s waiting where you already work.

The workflow starts on a weekday schedule and only focuses on meetings that actually need prep. From there, it gathers relationship signals (email + CRM + past meetings) and generates a readable brief. Finally, it formats everything into Slack Block Kit so the message is easy to skim between calls.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you have 3 external meetings today. A normal prep routine might be 10 minutes in Gmail search, 5 minutes in Attio, and 5 minutes skimming the invite and old notes, which is about 20 minutes per meeting. That’s roughly an hour of prep before you’ve done any real work. With this workflow, you spend maybe 2 minutes scanning the Slack brief for each call, so about 10 minutes total. You get nearly an hour back, and you show up sharper.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Calendar to pull today’s meetings automatically.
  • Gmail to summarize relationship and email history.
  • Slack to deliver briefs to your chosen channel.
  • Attio CRM for contact records and notes context.
  • OpenRouter API key (get it from your OpenRouter dashboard) to power the AI models.
  • Perplexity API key (get it from Perplexity API settings) for company research when needed.

Skill level: Intermediate. You’ll connect OAuth accounts, add a few API keys, and edit identifiers like your email and Slack channel ID.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

A weekday morning trigger kicks things off. At 6 AM Monday through Friday, n8n pulls your Google Calendar events for the day and narrows them down to meetings with external attendees.

Context gets gathered from the tools you already use. The workflow checks prior calendar interactions, scans Gmail threads for relationship history, and queries Attio for people records and notes. If the attendee isn’t in your CRM yet, it can create a person record so you don’t lose the trail later.

An AI agent turns scattered data into a briefing. Using multiple models through OpenRouter (plus Perplexity when it needs outside research), the system produces a structured brief with background, talking points, and strategic objectives. It’s designed to be skimmed, not admired.

The output lands in Slack as a formatted message. A code step builds a Slack Block Kit layout, then the workflow posts the final brief to your channel so it’s ready before your first call.

You can easily modify the research depth to match your meeting style based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Schedule Trigger

Set the weekday schedule that kicks off the meeting briefing workflow.

  1. Open Weekday Schedule Trigger and set the Cron Expression to 0 6 * * 1-5.
  2. Verify the trigger connects to Retrieve Today's Calendar Events in the canvas.

Step 2: Connect Google Calendar and Slack

Pull today’s events and post alerts when there are no external meetings.

  1. In Retrieve Today's Calendar Events, set Time Min to {{ $today }} and Time Max to {{ $today.plus({ day: 1 }) }}.
  2. Set Calendar to your primary calendar (replace [YOUR_EMAIL]).
  3. Credential Required: Connect your googleCalendarOAuth2Api credentials in Retrieve Today's Calendar Events.
  4. In Post No-Meeting Notice, confirm the Text value is Good morning! No external meetings scheduled for today. Enjoy your focus time! and select your Slack channel.
  5. Credential Required: Connect your slackOAuth2Api credentials in Post No-Meeting Notice.

Step 3: Filter and Split External Meetings

Ensure only meetings with external attendees are processed and split into individual items.

  1. In Filter External Meetings, verify the condition checks attendees with {{ $json.attendees }} and uses the exists operation.
  2. In Validate External Meetings, confirm the condition checks {{ $json.id }} with the exists operation to detect valid meetings.
  3. In Split Meetings List, set Field To Split Out to id and keep Include as allOtherFields.

⚠️ Common Pitfall: If your calendar events do not include attendees, Filter External Meetings will filter them out and Post No-Meeting Notice will run instead.

Step 4: Set Up AI Research for Meeting Prep

Configure the AI agent, language models, and tools that collect CRM and history context.

  1. Open Meeting Research Assistant and keep the Text prompt as defined, including attendee filtering with {{ $json.attendees.filter(a => a.email !== '[YOUR_EMAIL]').map(a => a.email).join(', ') }}.
  2. Ensure Meeting Data Interpreter remains connected as the output parser for Meeting Research Assistant; credentials are not needed on the parser sub-node.
  3. Connect language models for the agent: Primary Language Model and Backup Language Model both use OpenRouter. Credential Required: Connect your openRouterApi credentials in each model node.
  4. Connect the tool nodes used by Meeting Research Assistant: Lookup Calendar History, Scan Gmail History, Perplexity Research Utility, Attio Notes List Tool, Attio People Search Tool, and Attio Notes Read Tool.
  5. Credential Required: Connect googleCalendarOAuth2Api in Lookup Calendar History and gmailOAuth2 in Scan Gmail History.
  6. Credential Required: Connect perplexityApi in Perplexity Research Utility.
  7. Credential Required: Connect httpBearerAuth in Attio Notes List Tool, Attio People Search Tool, and Attio Notes Read Tool.

Note: The tool nodes are attached to Meeting Research Assistant, so ensure credentials are added to those tool nodes while the AI logic remains in the parent agent.

Step 5: Build CRM Records and Meeting Prep Notes

Prepare per-attendee CRM entries and attach meeting prep notes using Attio.

  1. In Compose Meeting Brief, keep the code that outputs markdown and structured from the AI data.
  2. Compose Meeting Brief outputs to both Select External Attendees and Aggregate Meeting Briefs in parallel.
  3. In Select External Attendees, set the attendees assignment to {{ $('Split Meetings List').item.json.attendees.filter(a => a.email !== '[YOUR_EMAIL]') }}.
  4. In Split Attendee Records, set Field To Split Out to attendees.
  5. Credential Required: Connect httpBearerAuth credentials in Locate CRM Person, Create CRM Person Record, and Create Meeting Prep Entry.
  6. Verify Locate CRM Person uses the JSON body filter with {{ $json.attendees.email }} and Create CRM Person Record uses the same email field.
  7. In Create Meeting Prep Entry, keep content set to {{ JSON.stringify($('Compose Meeting Brief').item.json.markdown).slice(1,-1) }} and format to markdown.

Step 6: Optimize Summaries and Build Slack Output

Aggregate all meeting briefs, optimize the summaries, and format Slack Block Kit content.

  1. In Aggregate Meeting Briefs, ensure it aggregates the markdown field for all meetings.
  2. Open Optimize Meeting Summaries and confirm the prompt uses {{ $json.markdown.length }} and {{ $json.markdown.join('\\n\\n---NEXT MEETING---\\n\\n') }}.
  3. Ensure Brief Structure Decoder is connected as the output parser for Optimize Meeting Summaries; credentials belong to the language model, not the parser sub-node.
  4. Connect language models for optimization: Secondary Language Model and Optimizer Language Model use OpenRouter. Credential Required: Connect your openRouterApi credentials in each model node.
  5. In Brief Parser Model, confirm the model google/gemini-2.5-flash and add openRouterApi credentials.
  6. In Build Slack Block Kit, keep the code that creates blocksUi and passes it to Dispatch Slack Brief.
  7. In Dispatch Slack Brief, set Blocks UI to {{ $json.blocksUi }} and choose your channel.
  8. Credential Required: Connect slackOAuth2Api credentials in Dispatch Slack Brief.

Step 7: Test and Activate Your Workflow

Run a manual test to verify the end-to-end briefing process, then activate for daily use.

  1. Click Execute Workflow to run a manual test from Weekday Schedule Trigger.
  2. Successful execution should either post Post No-Meeting Notice to Slack or generate meeting briefs in Attio and a Slack Block Kit message via Dispatch Slack Brief.
  3. Check that Create Meeting Prep Entry creates a markdown note attached to each person in Attio.
  4. When results look correct, toggle the workflow to Active to run automatically on weekdays at 6:00 AM.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Calendar OAuth credentials can expire or be missing scopes. If events stop loading, check the Google credential in n8n first and re-authorize it.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.

Frequently Asked Questions

How long does it take to set up this calendar Slack briefs automation?

About 30 minutes if your credentials are ready.

Do I need coding skills to automate calendar Slack briefs?

No. You’ll mostly connect accounts and paste a few IDs and API keys.

Is n8n free to use for this calendar Slack briefs workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenRouter usage (usually a few dollars a month for light briefing) plus any Perplexity API costs if you rely on external research heavily.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I customize this calendar Slack briefs workflow for deeper company research?

Yes, and honestly it’s one of the best tweaks to make. Update the Meeting Research Assistant prompt to emphasize what you care about (recent news, funding, tech stack, competitor mentions), then lean more on the Perplexity Research Utility when the CRM and Gmail context is thin. You can also adjust the “Optimize Meeting Summaries” agent to produce shorter briefs for quick calls and longer briefs for high-stakes meetings.

Why is my Slack connection failing in this workflow?

Usually it’s the bot token not having permission to post in the target channel. Double-check the Slack app scopes, confirm the bot is invited to the channel, then verify the channel ID you pasted matches the one you’re using in both Slack nodes. If it worked once and stopped, re-auth the Slack credential in n8n because tokens can be revoked.

How many meetings can this calendar Slack briefs automation handle?

For most small teams, “a full day of meetings” is fine. On n8n Cloud Starter you’re working within your monthly execution limits, while self-hosting has no hard execution cap (it mostly depends on your server). Practically, each meeting creates several API calls (Gmail, Attio, models), so if you’re briefing dozens of meetings daily, you may want to add batching and tighter filters.

Is this calendar Slack briefs automation better than using Zapier or Make?

Often, yes, because the logic is more complex than a simple “calendar event → message.” This workflow does branching, attendee splitting, CRM lookups, optional record creation, and multi-stage AI formatting, which is the kind of thing that gets expensive or awkward in Zapier. n8n also lets you self-host for unlimited executions, which matters when you run it every weekday. That said, if you only want a basic reminder and a link to the event, Zapier or Make can be quicker. Talk to an automation expert if you want help picking the cleanest approach.

Your calendar stays the same. Your mornings don’t. The workflow handles the repetitive prep so you can focus on the conversation in front of you.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal