A twice-daily Slack and email digest, with links back
How I'm building a 09:00 and 14:00 digest of Slack mentions and Gmail for a team lead at Chimpy: the trigger, polling, links back, and why LinkedIn is out.
Run a scheduled workflow at 09:00 and 14:00. Each run pulls the Slack DMs and mentions and the Gmail threads since the last run, has a language model write one line per sender (who, what they want, what they're waiting on), and puts a direct link on every line. Two reads a day instead of forty checks. I'm building this for a team lead at Chimpy now, September 2026. Here's how.
What a team lead at Chimpy asked for
Chimpy is Europe's largest powerbank rental service, based in Zürich, running since 2013 on reusable, solar-charged powerbanks. The team lead I work with runs on Google Workspace and Slack. Their brief was short. I'll quote it, because it's better than anything I'd write:
An automation that runs twice a day and compiles a digest of: Slack messages I received or was tagged in; work-related emails (Gmail). The digest should summarize who reached out and what they want, and include direct links back to each Slack thread or email so I can jump straight there. LinkedIn is a nice-to-have. Flag if it's feasible given LinkedIn's API restrictions, but Slack and email are the priority and must work.
Two things in that brief are right. They asked for links, not for an assistant that answers. And they asked me to flag what isn't feasible.
This digest is one of four workflows in the same job. The other three are a meeting recap posted to Slack in two clicks, invoice PDFs filed into Drive, and a one-key cleanup for dictated text. The whole job is in the Chimpy case study. All four are being built now, September 2026. Nothing is finished or measured yet, so every time figure here is an estimate and says so.
Why two fixed times beat checking all day
The problem isn't the number of messages. It's the number of times you look.
Microsoft's 2025 Work Trend Index found that people using Microsoft 365 are interrupted every 2 minutes by a meeting, an email or a notification. The average worker gets 117 emails a day, most skimmed in under 60 seconds, and 153 Teams messages per weekday. Swap Teams for Slack if that's what your team runs on. The shape is the same.
Then there's what each look costs. Gloria Mark at UC Irvine has measured screen attention for two decades. Her figure for the last few years is 47 seconds on a screen before switching, down from two and a half minutes in 2004, and about 25 and a half minutes to get back to the interrupted task. She also found we're as likely to interrupt ourselves as to be interrupted by something else. The glance at Slack is a self-interruption, and it costs the same as the other kind.
So the check is cheap and the restart is not. Twenty checks a day is twenty restarts. Two fixed times is two restarts, and between them the inbox is closed. The digest doesn't make anything disappear. It moves the reading to a time you chose, and it tells you what's in the pile before you open it.
How it runs, from trigger to link
Five steps, none of them clever.
Trigger. A schedule node fires at 09:00 and 14:00, Monday to Friday. One detail bites people here: n8n's Schedule Trigger runs on the workflow's time zone if you set one, otherwise on the instance's, and the default for a self-hosted instance is America/New York. Set the workflow to the client's zone, Europe/Zurich here, or the morning digest lands mid-afternoon.
Slack. The workflow reads the timestamp of the last successful run, then pulls every DM and every message that mentions the client since then. Each Slack message has a permalink. That permalink goes on the line.
Gmail. Polled on schedule, not push. Gmail does offer push notifications through Cloud Pub/Sub, but Google's own guide says you must call the watch method at least every 7 days or updates stop, and that for user-owned mailboxes polling is still the recommended approach. For something that runs twice a day, push solves a problem I don't have. At 09:00 the workflow lists threads newer than the last run, and each thread gets its Gmail link.
Summarise. A language model reads the messages and writes one line per sender: who, what they want, what they're waiting on from you. I use Claude for this step. It reads and writes the digest, nothing else.
Deliver. The digest posts as a Slack DM to the client, which is one call to chat.postMessage with their user ID as the channel. Only after that post succeeds does the last-run marker move forward. If a run fails, the next one picks up the same messages. Nothing gets swallowed.
The build is not the hard part. Keeping it running is: tokens expire, someone renames a channel, a mailbox gets a new label. That's why I sell this as a fixed-price build with a monthly retainer, and the shape of that is on the implementation page.
Needs a reply, FYI, waiting on you
A digest that's just a list of messages is Slack again, in a different font. The value is in the sorting.
Mine has three headings, always in this order. Under "Needs a reply": people who asked you something and are waiting. Under "FYI": messages that mention you but ask for nothing, one line each. Under "Waiting on you": things you said you'd do in an earlier thread and haven't, as far as the messages show.
Say it's Tuesday's 09:00 run. It reads something like this:
- Needs a reply. Anna, #marketing: wants your sign-off on the poster copy before Thursday's print run. Link. Jonas, DM: asks if the Berlin venue got the second delivery, no answer since Friday. Link.
- FYI. Three mentions in #ops about the new pickup points, no question in them. Links.
- Waiting on you. Supplier email from Monday, where you wrote "I'll send the PO today". No PO in the thread. Link.
Grouped by sender, not by message. If Jonas sent four messages on the same thing, that's one line. The model gets a hard cap on length, because a digest longer than a screen doesn't get read, and then you're back to checking Slack.
Every line links back. That's not decoration. The line is a pointer, and the thread is the truth.
What it cannot do, starting with LinkedIn
The client asked me to flag whether LinkedIn was feasible. It isn't, and I'd rather say so in writing than let it sit in a nice-to-have column.
LinkedIn's official API gives every developer three open permissions: profile, email, and posting on the member's behalf. None of them reads messages. The permissions that could, the compliance ones, are marked "Access is closed and may not be requested" in LinkedIn's own documentation. So there is no LinkedIn inbox in this digest. Two honest options remain. LinkedIn sends its own email notifications for new messages, and those land in Gmail, so the email side of the digest picks them up, with a link to the notification and from there to LinkedIn. Or you read LinkedIn by hand at the same two times. Unofficial scrapers exist. They break LinkedIn's terms and get accounts restricted, and I don't build on them.
Three more limits, all deliberate.
It does not reply for you. No drafts in your outbox, no reactions, nothing marked read. Your colleagues hear from you, not from a summary of you.
It cannot know a message is urgent when the sender didn't say so. "Quick question" from a customer might be the biggest order of the quarter. The digest gives you the line and the link, and the judgement stays with you. That's the reason every line has a link.
It cannot tell you if five hours between reads is too long for your job. The Chimpy brief asked for twice a day, so that's what it does. If you're the one on call for support, or your customers expect an answer inside the hour, twice a day is the wrong shape and I'd tell you so on the call.
The time back, as an estimate
I'll show the sum, and I'll label it: this is an estimate for one person, to be replaced by a measured number after 30 days in use.
Say you check Slack and email every 20 minutes across an 8-hour day. That's 24 checks. Call each one 2 minutes, including the time to find your place again. That's 48 minutes a day. Two digest reads at 5 minutes each is 10 minutes. Roughly 38 minutes a day back, which is just over 3 hours a week.
That's the small number. The larger one is the 24 interruptions that didn't happen, and I won't put a figure on it, because multiplying 24 by Gloria Mark's 25 and a half minutes gives a number bigger than the working day and nobody should believe it. Fewer restarts is the real win. The minutes are what I can count.
Across all four Chimpy workflows, my estimate is roughly 5 to 6 hours a week for one person. The arithmetic for each is in the case study, and the meeting recap post covers the two-click recap.
Do this this week
You don't need the build to test the idea. Do this first.
- Pick two times and tell your team. 09:00 and 14:00, or whatever fits your day. Put it in your Slack status.
- Close the tabs between them. Notifications off, Slack closed, mail closed. One week.
- Count your checks for one day before you start. A tally on paper. Your number replaces my 24, and it's the number that decides whether the build is worth it.
- Write tomorrow's digest by hand at 09:00. Ten minutes: who reached out, what they want, three headings. If a hand-written version helps, the automated one will. If it doesn't, no workflow will fix that.
If Slack's own tools cover you, use them. Slack Workflow Builder runs workflows on a schedule on paid plans and can post a message, so a scheduled "digest time" reminder is a few clicks. What it won't do is read your DMs and your Gmail and write the summary. That's where the build starts.
I'm a licensed plumber who builds this kind of thing for small teams now, and if I had to hand one of the four Chimpy workflows to any founder, ops lead or marketing lead, it would be this one. The order to build them in is in four automations a small team should build first. If you want a second pair of eyes on your own count, book a growth call. Thirty minutes, free, and if the answer is "pick two times and close the tab", I'll say so.
Questions people ask
Can I build a Slack and email digest without code?
Partly. Slack Workflow Builder runs workflows on a schedule on paid plans and can post a message, so a twice-daily reminder is a few clicks. It does not read your DMs and mentions, does not read Gmail, and does not write the summary. For that you need a workflow tool such as n8n talking to the Slack and Gmail APIs, with a language model for the summary step.
Why two fixed times instead of real-time notifications?
Because each look costs a restart. Microsoft's 2025 Work Trend Index found people interrupted every 2 minutes, with 117 emails and 153 Teams messages a day. Gloria Mark's research at UC Irvine puts the time to get back to an interrupted task at about 25 and a half minutes. Two reads a day means two restarts instead of dozens, and the messages are still there when you read.
Can the digest include LinkedIn messages?
Not through the official API. LinkedIn's open permissions are profile, email and posting; nothing reads the inbox, and the compliance permissions that could are marked closed and may not be requested, per LinkedIn's developer documentation. The workaround is LinkedIn's own email notifications, which land in Gmail and get picked up there. I don't build on unofficial scrapers.
Should the Gmail side use push notifications or polling?
Polling, on the same schedule as the digest. Gmail push runs through Cloud Pub/Sub and needs the watch call renewed at least every 7 days, and Google's push guide says polling is still the recommended approach for user-owned devices. For two runs a day, listing threads newer than the last run is simpler and has fewer ways to break.
How much time does a twice-daily digest save?
An estimate, not a measurement. Say you check Slack and email every 20 minutes across an 8-hour day: 24 checks at 2 minutes is 48 minutes. Two digest reads at 5 minutes is 10. Roughly 38 minutes a day, just over 3 hours a week, for one person. I'll replace this with a measured figure after 30 days in use.
Sources
- 1.Microsoft Work Trend Index 2025: Breaking down the infinite workday · Interrupted every 2 minutes; 117 emails a day, most skimmed in under 60 seconds; 153 Teams messages per weekday
- 2.University of California: Can't pay attention? You're not alone (Gloria Mark) · 47 seconds average attention on a screen; about 25 and a half minutes to return to an interrupted task; we interrupt ourselves as often as we're interrupted
- 3.Gmail API: Push notifications · Watch must be renewed at least every 7 days; polling is still the recommended approach for user-owned devices
- 4.n8n docs: Schedule Trigger node · Runs on the workflow time zone if set, else the instance time zone; self-hosted default is America/New York
- 5.LinkedIn developer docs: Getting access · Open permissions are profile, email and w_member_social; compliance access is closed and may not be requested
- 6.Slack API: chat.postMessage · Pass a user ID as channel to send a 1:1 DM
- 7.Slack help: Guide to Workflow Builder · Workflows can start on a schedule; available on paid plans
- 8.Chimpy: About us · Europe's largest powerbank rental service, since 2013, reusable solar-charged powerbanks

Written by Ivar André Knutsen
I build and run AI systems, internal tools and workflow automation. You work directly with me from the first conversation through implementation and support. About Ivar
Want this looked at in your business?
We look at where you want the business to go, what is slowing you down and where AI could make a useful difference. You get a clear recommendation: a tool to try, a focused automation, a broader system or a closer look at the process. Any build is scoped and quoted before work starts. Free, no obligation.
Single automations are quoted on the call: a setup fee plus a monthly retainer to run them. Full systems start at $4,500, fixed scope, fixed price.
Book a free 30-minute call