🔓 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 to Slack, a daily schedule briefing

Lisa Granqvist Partner Workflow Automation Expert

Your day starts with good intentions. Then it turns into tab hopping, half-read invites, and that “wait, was that moved?” feeling right before a meeting.

This calendar Slack briefing automation is a relief for team leads trying to keep mornings calm, and it helps marketers and ops folks who live in Slack but still miss calendar changes. You get one clean message at 6am with today’s schedule, so you stop hunting and start working.

Below you’ll see the workflow, what it automates, what results to expect, and what you need to run it without turning your morning into a mini IT project.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Google Calendar to Slack, a daily schedule briefing

The Problem: Mornings Get Messy When Your Schedule Lives in 10 Places

Most missed meetings aren’t caused by laziness. They happen because the calendar is “over there,” while your team’s real work happens in Slack. You glance at Google Calendar once, then you’re buried in messages, tasks, and client pings. Meanwhile, invites shift, Zoom links change, and that one internal check-in you actually needed to attend gets lost in the noise. The cost is subtle but constant: a few minutes here, a late join there, an awkward “sorry, I didn’t see the update,” and a day that starts behind.

It adds up fast. Here’s where it breaks down in real teams.

  • You check your calendar, then don’t check it again until it’s already too late.
  • Rescheduled events get missed because Slack is open and Calendar isn’t.
  • People ask “What’s on today?” in channels, and someone has to reply manually.
  • Your day starts reactive because you didn’t see the shape of your schedule early.

The Solution: A Daily Google Calendar Summary Posted to Slack

This n8n workflow runs automatically every morning at 6am. It pulls your events from Google Calendar, figures out which ones belong to “today,” and then formats them into a simple briefing that is easy to scan in Slack. Behind the scenes, it cleans up date and time fields, maps the event details you actually care about, and builds a single message that reads like a human wrote it. Finally, it posts that summary into your chosen Slack channel (or as a DM), so your schedule shows up where your attention already is.

The workflow starts with a scheduled trigger. It retrieves calendar events, filters them to today’s date, formats times consistently, and then publishes one Slack message with the day’s agenda. No copying. No morning scramble.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you have 8 meetings on a typical day. Manually, you might check Google Calendar first thing (5 minutes), re-check after a few Slack interruptions (another 5), and then search for details or links at least once (maybe 5 more). That’s about 15 minutes, and it happens almost without noticing. With this workflow, you spend roughly 0 minutes hunting: the 6am Slack message shows the full agenda, and you only open Calendar when you need to change something.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Calendar for retrieving your day’s events
  • Slack to deliver the morning briefing message
  • Google OAuth credentials (create in Google Cloud Console)

Skill level: Beginner. You’ll connect accounts, pick a calendar, and choose where in Slack the briefing should land.

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

How It Works

A scheduled morning trigger runs at 6am. Cron starts the workflow automatically, so it happens before you’re even properly online.

Today’s date is calculated and standardized. A Function node computes “today,” then Date/Time formatting makes sure comparisons are consistent (important if you’ve ever had timezone weirdness).

Your Google Calendar events are pulled and cleaned up. The workflow retrieves events, formats event dates, maps the fields you need (title, start time, and other details), and merges them with the “today” value to filter out anything not happening today.

A single Slack summary message is built and posted. Event times are formatted for readability, a summary is assembled, and Slack receives one briefing instead of a pile of notifications.

You can easily modify the delivery destination (DM vs. channel) and the message format to match how your team likes to work. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Scheduled Morning Trigger

This workflow starts on a daily schedule and immediately branches into two parallel paths.

  1. Add the Scheduled Morning Trigger node as your trigger.
  2. Set Trigger Times to run at hour: 6.
  3. Confirm that Scheduled Morning Trigger outputs to both Retrieve Calendar Events and Compute Today Values in parallel.

Running the two branches in parallel ensures event data and today’s date formatting are ready at the same time.

Step 2: Connect Google Calendar and Normalize Event Dates

Pull all calendar events and standardize the event date format for comparisons later in the flow.

  1. Open Retrieve Calendar Events and set Calendar to [YOUR_EMAIL], Operation to getAll, and Return All to true.
  2. Credential Required: Connect your googleCalendarOAuth2Api credentials in Retrieve Calendar Events.
  3. In Format Event Date, set Value to ={{$json["start"]["dateTime"]}}, To Format to DD/MM/YYYY, and Data Property Name to Event Start Date Only.
  4. Ensure Format Event Date uses the To Timezone option Asia/Qatar.

⚠️ Common Pitfall: If your calendar uses a different timezone, update the To Timezone option in Format Event Date to match your locale.

Step 3: Compute Today’s Date and Compare Against Events

This branch calculates today’s date, formats it, and merges it with event data to filter only today’s events.

  1. In Compute Today Values, keep the provided Function Code to set date_today and day_today.
  2. In Format Today Date, set Value to ={{$json["date_today"]}}, To Format to DD/MM/YYYY, and Data Property Name to Today's Date.
  3. Ensure Format Today Date uses To Timezone set to Asia/Qatar.
  4. Use Combine Dates with Mode set to multiplex to merge event data and today’s date.
  5. In Compare Event Day, configure the string comparison: Value 1 = {{$json["Event Date"]}} and Value 2 = {{$json["Today's Date"]}}.

⚠️ Common Pitfall: In Map Event Fields, the field Today's Date is set to =. Make sure this doesn’t overwrite the date coming from Format Today Date when the items are merged.

Step 4: Map Event Fields and Build the Slack Summary

Prepare the event fields for display, format times, and generate the Slack message content.

  1. In Map Event Fields, set fields with expressions: Event Name ={{$json["summary"]}}, Event Date ={{$json["Event Start Date Only"]}}, Gcal URL ={{$json["htmlLink"]}}, Location ={{$json["location"]}}, and Start Time ={{$json["start"]["dateTime"]}}.
  2. In Prepare Message Items, set Name to ={{$json["Event Name"]}}, Time to ={{$json["Start Time"]}}, and URL to ={{$json["Gcal URL"]}}.
  3. In Format Event Time, set Value to ={{$json["Time"]}}, To Format to HH:mm, and Data Property Name to Time with To Timezone Asia/Qatar.
  4. Keep the Build Slack Summary Function Code as provided to assemble the final message text.

Step 5: Configure the Slack Output

Send the compiled summary to your Slack channel.

  1. In Post Slack Alert, set Text to ={{$json["message"]}}.
  2. Set Channel to virtual-assistant.
  3. Credential Required: Connect your slackApi credentials in Post Slack Alert.

Step 6: Test and Activate Your Workflow

Run a full test to confirm today’s events are summarized and posted to Slack.

  1. Click Execute Workflow to run the flow manually.
  2. Verify that Compare Event Day only passes events matching today’s date.
  3. Confirm that Post Slack Alert posts a message formatted like: event name, time, and URL.
  4. When satisfied, toggle the workflow to Active to run daily at the scheduled time.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Calendar credentials can expire or need specific permissions. If things break, check the Google account connection in n8n’s Credentials screen first.
  • If you tweak the workflow to include waits (or your calendar has lots of events), processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • AI summaries can drift into generic wording if you don’t guide them. Add a short “house style” line to the message-building prompt early so you aren’t rewriting the briefing every day.

Frequently Asked Questions

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

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

Do I need coding skills to automate calendar Slack briefings?

No. You’ll mostly be connecting accounts and choosing which calendar and Slack channel to use.

Is n8n free to use for this calendar Slack briefing 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 OpenAI usage if you keep the AI steps enabled (usually just pennies a day for a short summary).

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 briefing workflow for a different delivery time or channel?

Yes, and it’s straightforward. Change the Scheduled Morning Trigger (Cron) to your preferred time, then adjust the Post Slack Alert node to send to a different channel or as a DM. Common customizations include grouping events by “morning/afternoon,” showing locations/Zoom links, or excluding certain calendars like personal blocks.

Why is my Google Calendar connection failing in this workflow?

Usually it’s expired OAuth access or the wrong Google account connected. Reconnect the Google Calendar credential in n8n, then confirm the calendar you’re querying is shared with that account. Also check that the Google Calendar node has permission to read events and that you didn’t hit a Google API quota with unusually high volume.

How many events can this calendar Slack briefing automation handle?

For most small teams, “a lot more than you’ll ever schedule in a day.” On n8n Cloud, it depends on your monthly execution limits, and if you self-host it mainly depends on your server. Practically, dozens of events in a single day is fine, but if you’re pulling across many calendars you may want to filter earlier to keep the message readable.

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

Sometimes. If you want one daily message with filtering, formatting, and a bit of logic (like “today only” checks), n8n tends to be easier to grow with because you can branch and transform data without paying extra for every little step. Zapier or Make can absolutely do a version of this, but the workflow often becomes a chain of small modules that’s harder to maintain. n8n also gives you a self-host option, which matters once you start running lots of automations. If you’re unsure, Talk to an automation expert and we’ll point you to the simplest option for your setup.

Once this is live, your day starts with clarity instead of scavenger hunts. The workflow handles the repetitive stuff so you can move faster (and show up on time).

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