🔓 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

Gmail + Google Calendar to Slack, one morning brief

Lisa Granqvist Partner Workflow Automation Expert

Your day starts in three places. Gmail, Google Calendar, and whatever Slack channel your team uses to coordinate. The problem is you still have to manually stitch it all together, and you usually realize what you missed after it matters.

This Slack morning brief automation hits marketing managers hard, but agency owners and ops leads feel it too. You walk in and instantly know which email threads need attention and which meetings are actually happening today.

This guide breaks down what the workflow does, what you need to connect, and how to think about customizing it so it fits your team instead of forcing new habits.

How This Automation Works

Here’s the complete workflow you’ll be setting up:

n8n Workflow Template: Gmail + Google Calendar to Slack, one morning brief

Why This Matters: Your “Morning Scan” Is a Trap

The “quick check” routine sounds harmless: skim unread emails, glance at today’s calendar, then jump into work. But it quietly steals focus. You bounce between tabs, open a thread, forget why you opened it, and miss the meeting that was buried under three invites. Worse, it’s inconsistent. Some mornings you’re thorough. Other mornings you’re reacting to pings from teammates who saw something you didn’t. That whiplash creates mistakes, slow replies, and a day that feels behind before it even starts.

It adds up fast. Here’s where it usually breaks down.

  • You read the wrong emails first because inbox order is not priority order.
  • Calendar changes happen overnight, so yesterday’s plan is already outdated.
  • Important senders get lost in noise, especially when you’re copied on everything.
  • Even if you “check,” you still don’t share context with the team, so people duplicate work.

What You’ll Build: A Daily Slack Briefing From Gmail + Calendar

This workflow runs automatically on a morning schedule and posts one clean briefing to Slack. First it pulls unread Gmail messages from the last 7 days, then compares them against a filter list you maintain in Google Sheets (names, email addresses, and subject keywords). Only the emails you care about make the cut. In parallel, it fetches today’s Google Calendar events and summarizes what’s coming up. Finally, an AI agent (Gemini in this workflow) turns both piles of raw data into concise bullet summaries, merges them, formats the message, and posts it to the Slack channel you choose. You start the day with clarity instead of scavenger-hunting.

The workflow begins with a scheduled Cron trigger. From there, Gmail and Google Calendar are summarized separately, then combined into one Slack-ready payload. The end result is a single message your team can scan in under a minute.

What You’re Building

Expected Results

Say you start each day by scanning Gmail (about 20 minutes) and your calendar (another 10 minutes), then you paste highlights into Slack (5 more). That’s roughly 35 minutes per weekday. With this workflow, you spend maybe 5 minutes maintaining your Google Sheets filter list when needed, and the daily “scan” becomes a Slack message delivered automatically. Over a normal week, that’s close to 3 hours back, plus fewer dropped threads.

Before You Start

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Gmail for fetching unread emails from inbox.
  • Google Calendar to pull today’s scheduled events.
  • Google Sheets to store the filter list.
  • Slack to deliver the morning briefing to a channel.
  • Gemini AI credentials (get it from Google AI Studio / your Gemini provider account).

Skill level: Beginner. You will connect accounts, choose a Slack channel, and edit one Google Sheet.

Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).

Step by Step

A scheduled morning trigger kicks everything off. The Cron node runs at your chosen time (like 8:30am on weekdays), so nobody has to remember to “run the report.”

Your inbox gets collected, then trimmed down to what matters. The workflow retrieves unread Gmail messages from the last 7 days, pulls your filter list from Google Sheets, normalizes the sheet data, and applies the rules so you’re not summarizing junk.

Your day’s meetings are summarized separately. Google Calendar events for the current day are fetched and formatted into readable blocks, then an AI agent turns it into a quick digest you can scan.

Everything is merged and posted to Slack. Email summary + calendar summary get combined, a Slack payload is assembled, and a single message lands in the channel your team already watches.

You can easily modify the filter logic to match your workflow (priority clients, specific internal threads, or certain subject patterns). See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Scheduled Morning Trigger

Set the schedule that starts the workflow each morning and note the parallel branch execution.

  1. Add and open Scheduled Morning Trigger.
  2. Set Trigger Times to run at 08:00 (hour 8).
  3. Confirm the execution path: Scheduled Morning Trigger outputs to both Retrieve Unread Emails and Calendar Summary Agent in parallel.

Step 2: Connect Gmail and Google Sheets

Configure email retrieval and load the filter list from Google Sheets to control which emails are summarized.

  1. Open Retrieve Unread Emails and set Operation to getAll, Limit to 100, and Simple to false.
  2. In Filters, set Label IDs to INBOX, Read Status to unread, and Received After to {{ $today.minus({ days: 7 }).toISODate() }}.
  3. Open Pull Filter List and select the spreadsheet by setting Document ID to = and choosing a Sheet Name.
  4. Review Normalize Sheet Data to confirm it consolidates columns into emails, name, and subjects.

Credential Required: Connect your Google Gmail OAuth2 credentials for Retrieve Unread Emails and your Google Sheets OAuth2 credentials for Pull Filter List.

⚠️ Common Pitfall: The Google Sheet must have columns named Email, Name, and Subject to match the logic in Normalize Sheet Data.

Step 3: Set Up Calendar Summarization with AI

Configure the AI calendar summary path that uses Gemini and the calendar tool.

  1. Open Gemini Chat Engine and connect it as the language model for both Calendar Summary Agent and Email Summary Agent.
  2. In Calendar Summary Agent, keep the Prompt Type as define and ensure the summary instructions match the current Text field.
  3. Configure Fetch Calendar Events with Operation set to getAll, Time Min to {{ $today.toISO() }}, and Time Max to {{ $today.plus({days: 1}).toISO() }}.
  4. Verify that Calendar Summary Agent outputs to Format Calendar Blocks.

Credential Required: Connect your Google Gemini credentials in Gemini Chat Engine. Fetch Calendar Events is connected as an AI tool for Calendar Summary Agent—add Google Calendar credentials to Calendar Summary Agent (not the tool node).

Step 4: Filter and Summarize Emails with AI

Use the filter list to select emails, summarize them with AI, and format for Slack blocks.

  1. In Apply Email Filter, keep the JavaScript logic that filters by blocked emails, subjects, and name from Normalize Sheet Data and references Retrieve Unread Emails.
  2. Open Email Summary Agent and confirm the Text prompt generates JSON summaries using {{ $json.text }}, {{ $json.from.value[0].name }}, and {{ $json.subject }}.
  3. Review Format Email Blocks to ensure it parses JSON and builds Slack blocks.

⚠️ Common Pitfall: The output from Email Summary Agent must be valid JSON or Format Email Blocks will fail to parse it.

Step 5: Assemble and Send the Slack Digest

Merge the email and calendar summaries, build the final Slack payload, and post the message.

  1. Confirm Format Email Blocks and Format Calendar Blocks both feed into Combine Summaries in parallel.
  2. Open Assemble Slack Payload and verify it flattens all incoming blocks into a single array.
  3. In Post Slack Message, set Message Type to block, choose the Channel, and set Blocks UI to {{ '{ "blocks": ' + JSON.stringify($json.blocks) + ' }' }}.

Credential Required: Connect your Slack OAuth2 credentials in Post Slack Message.

Step 6: Test and Activate Your Workflow

Validate the workflow with a manual run, then enable the schedule for production use.

  1. Click Execute Workflow to run the flow manually from Scheduled Morning Trigger.
  2. Verify that Post Slack Message sends a message containing both email and calendar Slack blocks.
  3. If the output is correct, toggle the workflow to Active to run daily at 08:00.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Troubleshooting Tips

  • Google credentials (Gmail, Google Calendar, and Google Sheets) can expire or need specific permissions. If things break, check the n8n Credentials section and re-auth the Google account first.
  • If you’re using AI summarization with external models, processing times vary. Bump up any wait/timeout settings (or simplify the prompt) if downstream nodes fail because the summary came back empty.
  • Slack posts can fail quietly when the channel ID is wrong or the bot isn’t invited. Double-check the channel ID in the Slack node and confirm the app has permission to post in that channel.

Quick Answers

What’s the setup time for this Slack morning brief automation?

About 30 minutes if your Google and Slack accounts are ready.

Is coding required for this morning brief workflow?

No. You’ll connect credentials and edit a Google Sheet filter list. The built-in code steps are already included in the workflow.

Is n8n free to use for this Slack morning brief 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 Gemini/OpenAI-style model usage, which is usually a few cents per day at typical volumes.

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 modify this Slack morning brief workflow for different use cases?

Yes, and you should. Most people customize the Google Sheets filter columns (Name, Email, Subject) and tweak the “Apply Email Filter” logic to match how their inbox is structured. You can also adjust the AI agent prompt so the summary comes out in your preferred format, like “Top 5 threads” plus “Meetings that require prep.” If you want to send the brief to a different place, swap the Slack node for email or Telegram while keeping the same summaries.

Why is my Slack connection failing in this workflow?

Usually the bot isn’t invited to the channel, or the channel ID in the “Post Slack Message” node is wrong. Reconnect the Slack credential in n8n, then confirm the app has permission to post where you’re sending the brief. If it works in one channel but not another, it’s almost always a channel access issue.

What volume can this Slack morning brief workflow process?

A normal inbox volume is fine, but if you’re trying to summarize hundreds of emails at once, you’ll want stricter filters and shorter prompts.

Is this Slack morning brief automation better than using Zapier or Make?

For this use case, n8n is often the better fit because the workflow has branching, filtering, and formatting steps that get clunky (and expensive) in simpler tools. You can keep everything in one place: pull from Gmail, read Google Sheets, summarize with an AI agent, then format a Slack-ready payload. Self-hosting also matters if you want unlimited runs without worrying about task counts. Zapier or Make can still work if you only need “calendar events → Slack message” without the filtering and summarization. Talk to an automation expert if you want help choosing.

Once it’s live, your day starts with one message and a clear plan. The workflow handles the scanning so you can get into real work faster.

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