🔓 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 Sheets + Slack, daily productivity insights

Lisa Granqvist Partner Workflow Automation Expert

Your day can feel “busy” and still be unproductive. Meetings multiply, overdue tasks quietly pile up, and Slack turns into a constant drip of context-switching you can’t quite measure.

This is where Sheets Slack insights automation helps. Remote workers get a clearer view of focus time. Freelancers stop guessing why deadlines slip. And managers finally get a weekly signal without asking everyone to report.

This workflow pulls data from Google Calendar, Todoist, and Slack, logs it to Google Sheets, then sends a daily coaching summary to Slack (plus a bigger Friday review). You’ll see what it does, what you get, and what to watch out for.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Google Sheets + Slack, daily productivity insights

The Problem: Your “productivity” data is scattered

If you want to understand your work habits, you end up playing detective. Calendar tells you where your time was booked, Todoist shows what’s slipping, and Slack reveals how often you’re getting pulled off track. But none of those tools puts the story together. So you rely on vibes and memory, which is honestly the worst input for planning. The result is predictable: you overbook meetings, under-estimate deep work time, and notice overload only after it’s already burned the week.

The friction compounds. Here’s where it breaks down.

  • You don’t have one place to see meeting hours, overdue tasks, and message volume side-by-side.
  • Manual tracking sounds simple, but it turns into a daily 15-minute chore that gets skipped on the busiest days.
  • Without a history in Google Sheets, you can’t spot patterns like “meeting creep” across a month.
  • Even when you notice a problem, you still have to decide what to change, and that decision fatigue is real.

The Solution: A daily productivity coach that logs and reports for you

This n8n workflow runs automatically every weekday morning (the default is 8 AM). It starts by pulling today’s meetings from Google Calendar, then grabs high-priority and overdue tasks from Todoist, and finally checks recent Slack message activity. Once those inputs are collected, it consolidates them into clean metrics like meeting hours, task counts, and message volume. Then OpenAI analyzes what’s happening and turns it into practical coaching: where your focus blocks are, whether you’re overloaded, and what’s likely to slip. Everything gets logged into Google Sheets for history, and you receive a “Daily Productivity Summary” in Slack. On Fridays, it looks back at the last 7 days from the sheet and delivers a higher-level weekly review.

The workflow begins with a scheduled trigger, so you don’t have to remember anything. Data is collected from Google Calendar, Todoist (via HTTP request), and Slack, then unified and analyzed by OpenAI. The outputs land in two places: a Google Sheet for tracking and a Slack message for action.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you want a daily handle on workload using three sources: Google Calendar, Todoist, and Slack. Manually, it’s easy to burn 10 minutes checking meetings, 10 minutes sorting overdue tasks, and another 10 minutes estimating how “Slack-heavy” the day got, so about 30 minutes per day. With this workflow, it triggers automatically at 8 AM and sends the summary once processing finishes (usually within a few minutes), with the metrics logged to Sheets at the same time. That’s roughly 2.5 hours back each week, and your tracking doesn’t disappear when you get busy.

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
  • Google Sheets to store daily metrics and weekly history
  • Slack to receive your daily and weekly summaries
  • Todoist for priority and overdue task tracking
  • OpenAI API key (get it from the OpenAI dashboard)

Skill level: Intermediate. You’ll connect credentials, select the right sheet, and do light prompt tweaking for tone.

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

How It Works

A weekday morning schedule starts it. n8n runs on weekdays at a set time (8 AM by default), then formats the current date so each query pulls the right window of activity.

Your three “signals” are collected. Google Calendar provides meetings, Todoist provides overdue and high-priority tasks (via an HTTP request), and Slack provides recent message activity. It’s not trying to read your mind. It’s just grabbing the inputs you already generate.

Metrics are consolidated and analyzed. A consolidation step turns raw events into clean counts and totals, then the OpenAI analysis produces insights like “too many meetings to finish top tasks” or “Slack volume suggests constant interruptions.” Simple memory is included so the agent can stay consistent in how it evaluates your patterns over time.

Everything gets recorded and sent where you’ll actually see it. Daily numbers are appended to Google Sheets for history, then a Slack message delivers the daily summary. On Friday, an If check routes the workflow into a weekly mode: it pulls the last 7 days from Sheets, computes weekly stats, then posts a more strategic report to Slack.

You can easily modify the daily schedule to a different time based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Schedule Trigger

This workflow starts on weekday mornings to collect daily productivity data.

  1. Add the Weekday Schedule Trigger node as the workflow trigger.
  2. Set Rule → Interval → Cron Expression to 0 8 * * 1-5 to run at 8:00 AM, Monday–Friday.
  3. Connect Weekday Schedule Trigger to Format Current Date.

Step 2: Connect Google Calendar and Todoist Inputs

Format the date and gather events and tasks for the day.

  1. In Format Current Date, set Operation to formatDate, Date to ={{ $json.timestamp }}, Format to yyyy-MM-dd, and Output Field Name to dateFormatted.
  2. In Retrieve Calendar Events, set Operation to getAll and Return All to true.
  3. In Retrieve Calendar Events, set Options → timeMin to ={{ $json.dateFormatted }}T00:00:00Z and Options → timeMax to ={{ $json.dateFormatted }}T23:59:59Z.
  4. Credential Required: Connect your Google Calendar credentials in Retrieve Calendar Events.
  5. In Retrieve Todoist Tasks, set URL to https://api.todoist.com/rest/v2/tasks, enable Send Query, and set Query Parameters → filter to today | overdue.
  6. Credential Required: Connect your Todoist API credentials in Retrieve Todoist Tasks.

⚠️ Common Pitfall: If Retrieve Calendar Events returns no items, double-check the calendar selection is primary and the date range expressions match your timezone.

Step 3: Collect Slack Data and Consolidate Metrics

Pull Slack activity and consolidate all sources into a single metrics object.

  1. Configure Retrieve Slack Messages with Operation set to getAll.
  2. Credential Required: Connect your Slack credentials in Retrieve Slack Messages.
  3. Verify Retrieve Calendar Events connects to Retrieve Todoist Tasks, which connects to Retrieve Slack Messages, then to Consolidate Metrics (sequential flow).
  4. In Consolidate Metrics, keep the provided JavaScript Code to aggregate meetings, tasks, and Slack usage into a single object.

Tip: The Consolidate Metrics node assumes meetings are 30 minutes by multiplying count by 0.5. Adjust that logic if your meeting durations differ.

Step 4: Set Up AI Insights and Daily Summary

Use AI to generate insights and summaries, then store the daily metrics.

  1. Configure AI Productivity Insights with Resource set to chat and Operation to message.
  2. Credential Required: Connect your OpenAI credentials in AI Productivity Insights.
  3. In Record Daily Metrics, set Operation to append and map columns using expressions:
  4. Set Columns → date to ={{ $json.date }}, tasksCount to ={{ $json.tasks.highPriority.length + $json.tasks.normal.length }}, meetingHours to ={{ $json.meetingsToday.length * 0.5 }}, and slackMessages to ={{ $json.slackUsage.totalMessages }}.
  5. Credential Required: Connect your Google Sheets credentials in Record Daily Metrics and select the correct Document and Sheet.
  6. Configure Create Daily Summary with Resource set to chat and Operation to message.
  7. Credential Required: Connect your OpenAI credentials in Create Daily Summary.

Step 5: Configure Daily and Weekly Slack Outputs

Send daily summaries to Slack and branch to weekly reporting on Fridays.

  1. In Post Daily Summary to Slack, set Text to =📊 **Daily Productivity Summary** - {{ $node['Consolidate Metrics'].json.date }} {{ $json.choices[0].message.content }}.
  2. Credential Required: Connect your Slack credentials in Post Daily Summary to Slack.
  3. Configure Friday Condition Check with the condition Left Value ={{ $json.weekday }} equals Right Value 5.
  4. In Retrieve Last 7 Days Data, set Operation to getAll and select the same Google Sheet used for daily metrics.
  5. Credential Required: Connect your Google Sheets credentials in Retrieve Last 7 Days Data.

⚠️ Common Pitfall: If Friday Condition Check is not triggering, confirm Consolidate Metrics outputs a valid weekday number and that the flow passes through Post Daily Summary to Slack first.

Step 6: Generate and Post the Weekly Report

Compute weekly statistics and publish a weekly report to Slack when it’s Friday.

  1. In Compute Weekly Statistics, keep the provided JavaScript Code to compute weekly aggregates and the week range.
  2. Configure Create Weekly Report with Resource set to chat and Operation to message.
  3. Credential Required: Connect your OpenAI credentials in Create Weekly Report.
  4. In Post Weekly Report to Slack, set Text to =📈 **Weekly Productivity Report** - {{ $node['Compute Weekly Statistics'].json.weekRange }} {{ $json.choices[0].message.content }} @channel.
  5. Credential Required: Connect your Slack credentials in Post Weekly Report to Slack.

Step 7: Test and Activate Your Workflow

Run a manual test to confirm the daily summary posts and weekly report triggers on Friday.

  1. Click Execute Workflow to run the flow from Weekday Schedule Trigger.
  2. Verify Post Daily Summary to Slack sends a message containing the date and AI-generated content.
  3. On a Friday test run, confirm Friday Condition Check routes to Retrieve Last 7 Days Data and ends with Post Weekly Report to Slack.
  4. Check the Google Sheet to ensure Record Daily Metrics appended a new row with date, task count, meeting hours, and Slack messages.
  5. Toggle the workflow Active to enable scheduled production runs.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google credentials can expire or need specific permissions. If things break, check your Google OAuth consent and the Calendar/Sheets API scopes in your n8n credentials first.
  • 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 Sheets Slack insights automation?

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

Do I need coding skills to automate Sheets Slack insights?

No. You’ll mostly connect accounts and select your Google Sheet and Slack channel.

Is n8n free to use for this Sheets Slack insights 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 API costs (usually a few cents per day for a single user).

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 Sheets Slack insights workflow for a stricter (or friendlier) coaching tone?

Yes, and it’s one of the best tweaks you can make. Update the system prompt in the AI Productivity Insights node and the Create Daily Summary node so the voice is consistent. Common customizations include making the advice more direct, adding rules like “protect a 2-hour focus block,” and tailoring the summary format for a specific Slack channel.

Why is my Slack connection failing in this workflow?

Usually it’s an expired token or missing workspace permissions. Reconnect your Slack credential in n8n and confirm the workflow is allowed to read message history and post to the target channel. If it fails only on busy days, you might be hitting Slack API limits, so reduce the message lookback window or run the workflow a bit less often.

How many daily records can this Sheets Slack insights automation handle?

A lot more than one person will ever need. For a single user, it’s typically one execution per day plus one on Fridays, and Google Sheets will handle that history for years.

Is this Sheets Slack insights automation better than using Zapier or Make?

It depends on how deep you want the analysis to go. Zapier and Make are great for simple “pull X, send Y” flows, and they can be quicker for basic 2-step automations. This workflow leans on branching (weekday vs. Friday), data consolidation, and AI prompts that you’ll probably want to iterate on, and n8n tends to be more flexible there. Also, self-hosting removes the “every run costs more” feeling when you expand the workflow later. If you’re unsure, Talk to an automation expert and explain what you want to measure.

Once this is running, you stop guessing and start adjusting based on real signals. The workflow handles the repetitive tracking so you can spend your attention where it actually matters.

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