Daily Basecamp morning digest in Slack

By General Input

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

Agentic Task

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).

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredChat quality review board for LiveChat support leadsWin back no-show and cancelled appointments every morningLive Loop returns analytics with product-level drill-downNewsletter pre-flight and approval board for Mailjet sendsTurn a prospect spreadsheet into personalized sequence enrollmentsMailjet email delivery lookup console for support teamsCatch feature flags that never got switched on in productionKajabi customer support console for member access fixes