Daily Basecamp morning digest in Slack
Every weekday at 9am ET, get a single Slack message summarizing your overdue, due today, and due this week Basecamp to-dos so you can start without opening Basecamp.
Integrations
Basecamp
Slack
Type
Categories
- Personal Productivity
- Operations
Every weekday at 9am America/New_York, build a personal Basecamp digest and post it to my Slack. The trigger is a cron schedule: Monday through Friday at 09:00 ET.
Pull my assignments from Basecamp using the Get Due Assignments operation. I need three buckets: overdue, due today, and due this week. Basecamp's Get Due Assignments natively scopes by due date, so call it for each scope rather than filtering client-side. Treat the assignments as 'mine' based on the authenticated Basecamp user.
If all three buckets are empty, do nothing. Do not post a 'nothing to do' message. The whole point is to skip noisy days.
Otherwise, format a single Slack message in Slack mrkdwn with this structure: a one-line opening summary like '3 overdue, 5 due today, 7 due this week across 4 projects', then a section per non-empty bucket in this order: Overdue, Today, This Week. Inside each section, group items by Basecamp project (project name as a subheader), and list each to-do as a bullet with the to-do title linked to its Basecamp URL using Slack's <url|text> link syntax. Show the due date next to each item. Within the Overdue section, prefix any to-do that has been overdue for more than 3 calendar days with a 🔥 emoji and the number of days overdue, so stale items are easy to spot.
Post the message to Slack using the Send a Message operation. The destination should be configurable: either my personal DM (conversation with myself) or a specific channel I choose at setup. Send it as a single top-level message, not a thread reply. Keep it as one message even if the lists are long; truncate gracefully only if Slack's message size limit would otherwise be exceeded.
Use the Slack user OAuth integration (slug: slack), not slackbot. The message should be sent as me so it lands cleanly in my own DM. Use the Basecamp integration (slug: basecamp) for the to-do data.
Configurable inputs I want exposed: schedule time and timezone (default 09:00 America/New_York, weekdays), Slack destination (channel ID or DM), and the 'stale overdue' threshold in days (default 3).
What it does
- Pulls every Basecamp to-do assigned to you, grouped into overdue, due today, and due this week.
- Posts one clean Slack message with sections per bucket, each item linking back to Basecamp.
- Groups items by project and flags anything stuck overdue for more than three days so it does not slip again.
- Stays silent on quiet days. If nothing is overdue or due, nothing gets posted.
What you’ll need
- A Basecamp 3 account where to-dos are assigned to you.
- A Slack workspace, and a channel or DM you want the digest posted in.
- A weekday morning you would like the message to land at, in your timezone.
How to customize it
- Move the schedule to a different time, switch to daily including weekends, or run it twice a day.
- Send the digest to a private DM, a personal channel, or a shared team channel.
- Change the overdue threshold from three days to whatever counts as stale on your team.
Use cases
- Daily Digests
- Notifications & Alerts