Beginner~12 min setupCommunication & Project ManagementVerified April 2026
Slack logo
Basecamp logo

How to Automate Daily Standups from Basecamp to Slack with Make

Pull completed tasks, upcoming deadlines, and overdue items from Basecamp projects and post formatted status reports to team Slack channels daily.

Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.

Best for

Remote teams using Basecamp for project management who need daily status visibility without manual reporting

Not ideal for

Teams wanting real-time task notifications — use webhook triggers for instant updates instead

Sync type

scheduled

Use case type

reporting

Real-World Example

💡

A 12-person marketing agency uses this to post daily project summaries to #standup every morning at 8 AM. The report shows tasks completed yesterday, deadlines in the next 3 days, and overdue items across 8 active campaigns. Before automation, the project manager spent 20 minutes each morning manually checking Basecamp and typing updates.

What Will This Cost?

Drag the slider to your expected monthly volume.

/mo
505005K50K

Each platform counts differently — Zapier: 1 task per trigger. Make: 1 operation per module per record. n8n: 1 execution per run.

Prices shown for annual billing. Based on published pricing as of April 2026.

Estimated ROI

1000

min saved/mo

$583

labor value/mo

Free

no platform cost

Based on ~2 min manual effort per operation at $35/hr fully loaded labor cost.

Implementation

Skip the setup

Import this workflow directly into Make

Copy the pre-built Make blueprint and paste it straight into Make. All modules, filters, and field mappings are already configured — you just need to connect your accounts.

Before You Start

Make sure you have everything ready.

Admin access to Basecamp account with projects containing task data
Slack workspace permissions to post messages in target standup channel
Make account with sufficient operations for daily runs (typically 10-20 ops per day)
Basecamp projects with consistent due date usage for accurate deadline reporting

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Task Titlecontent
Project Namebucket.name
6 optional fields▸ show
Assigneeassignee.name
Due Datedue_on
Completed Datecompleted_on
Task Notesnotes
Task Positionposition
Task URLapp_url

Step-by-Step Setup

1

Scenarios > Create a new scenario > Schedule

Create New Scenario

Navigate to your Make dashboard and create a new scenario. Choose the Schedule trigger to run daily reports at a consistent time. Set the interval to Daily and pick your preferred time — most teams run this at 8 AM local time. The Schedule module will be your starting point for the entire workflow.

  1. 1Click 'Create a new scenario' from the dashboard
  2. 2Search for 'Schedule' in the app list
  3. 3Select 'Schedule' and choose 'Every day' interval
  4. 4Set time to 8:00 AM or your team's standup time
What you should see: You should see a Schedule module with a clock icon showing your selected daily time.
Common mistake — Make uses UTC time zones by default — check your scenario settings to match your team's local time zone.
2

Modules > Add > Basecamp > List To-dos

Connect Basecamp Account

Add a Basecamp module after your Schedule trigger. Choose 'List To-dos' to pull task data from your projects. You'll need to authenticate with your Basecamp account — Make will redirect you to Basecamp's authorization page. Select the Basecamp account that contains your project data.

  1. 1Click the + button after the Schedule module
  2. 2Search for 'Basecamp' and select it
  3. 3Choose 'List To-dos' from the actions list
  4. 4Click 'Add' next to Connection and authorize your Basecamp account
What you should see: The Basecamp module shows 'Connection verified' with a green checkmark.
Common mistake — If you have multiple Basecamp accounts, double-check you're connecting the one with your active projects.
Make settings
Connection
Choose a connection…Add
click Add
Slack
Log in to authorize
Authorize Make
popup window
Connected
green checkmark
3

Basecamp > List To-dos > Project Selection

Configure Project Selection

Select which Basecamp projects to include in your daily reports. You can choose specific projects or pull from all accessible projects. For most teams, selecting 2-5 active projects works better than including archived or inactive ones. The module will fetch to-dos from all selected projects in a single operation.

  1. 1In the Project field, choose 'Select from list'
  2. 2Check the boxes for active projects you want in daily reports
  3. 3Leave 'Completed' field empty to get both complete and incomplete tasks
  4. 4Set 'Limit' to 50 to avoid overwhelming reports
What you should see: You should see your selected project names displayed in the Project field.
4

Modules > Add > Tools > Filter

Add Date Filtering

Add a Filter module to only process tasks relevant to your standup timeframe. Set up three conditions: completed tasks from yesterday, upcoming tasks due within 3 days, and overdue tasks. This prevents your Slack report from including old or irrelevant task data. The filter uses Basecamp's due_on and completed_on fields.

  1. 1Click + after the Basecamp module and select 'Filter'
  2. 2Add condition: completed_on equals {{yesterday}}
  3. 3Add OR condition: due_on is between {{today}} and {{addDays(today; 3)}}
  4. 4Add OR condition: due_on is less than {{today}} AND completed_on is empty
What you should see: The Filter shows three OR conditions covering completed, upcoming, and overdue tasks.
Common mistake — Basecamp's completed_on field is null for incomplete tasks — use 'is empty' rather than checking for false.
Slack
SL
trigger
filter
Condition
matches criteria?
yes — passes through
no — skipped
Basecamp
BA
notified
5

Modules > Add > Tools > Array aggregator

Group Tasks by Status

Add an Array aggregator to organize filtered tasks into categories. This groups your tasks into Completed Yesterday, Due Soon, and Overdue sections for the Slack message. Configure three separate aggregations based on the date conditions from your filter. Each group will become a section in your final report.

  1. 1Add Array aggregator after the Filter
  2. 2Set Source Module to the Basecamp List To-dos
  3. 3Choose 'Group by' and select a formula for task status
  4. 4Use if(completed_on; 'Completed'; if(due_on < today; 'Overdue'; 'Due Soon'))
What you should see: The aggregator shows it will group tasks by Completed, Overdue, and Due Soon categories.
Common mistake — If tasks have no due dates, they'll show as 'Due Soon' — add a null check if you want to handle undated tasks differently.
6

Modules > Add > Tools > Set Variable

Format Slack Message

Add a Set Variable module to build your formatted Slack message. Use Slack's markdown formatting to create clean sections with bullet points and task details. Include project names, task titles, assignees, and due dates. The message should be scannable and highlight the most important information for standup discussions.

  1. 1Add Set Variable after the Array aggregator
  2. 2Name the variable 'standupMessage'
  3. 3Build message with markdown: *Completed Yesterday:* followed by task list
  4. 4Add sections for *Due This Week:* and *Overdue:* with relevant tasks
What you should see: The variable preview shows a formatted message with proper Slack markdown and task details.
Common mistake — Map fields using the variable picker — don't type field names manually. Hand-typed variable names often have invisible spacing errors that produce blank output.
Message template
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}
7

Modules > Add > Slack > Send a Message

Connect Slack Account

Add a Slack module and choose 'Send a Message' action. Authenticate with your Slack workspace — you'll need permissions to post in your target channel. Make will request access to send messages on your behalf. Choose the connection that matches the workspace where your team's standup channel exists.

  1. 1Click + and search for Slack
  2. 2Select 'Send a Message' from the actions
  3. 3Click 'Add' next to Connection
  4. 4Authorize Make to access your Slack workspace
What you should see: Slack module shows 'Connection verified' with your workspace name displayed.
Common mistake — Make sure you're connecting to the right Slack workspace if you're in multiple organizations.
8

Slack > Send a Message > Message Configuration

Configure Slack Message Settings

Select your standup channel and configure the message format. Set the channel to your team's daily standup channel — usually something like #standup or #daily-updates. Use the formatted message variable from your Set Variable module. Enable 'Parse' to render the markdown formatting properly in Slack.

  1. 1Select your standup channel from the Channel dropdown
  2. 2In Text field, insert the standupMessage variable
  3. 3Set 'Parse' to 'mrkdwn' for markdown formatting
  4. 4Leave Username empty to post as the authenticated user
What you should see: The message preview shows your formatted standup report with proper channel and formatting settings.
Common mistake — If your target channel doesn't appear, check that the connected Slack user has access to post in that channel.
Message template
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}
9

Scenario > Run once

Test the Scenario

Run your scenario manually to verify the complete workflow. Check that tasks are filtered correctly, grouped properly, and the Slack message appears in your target channel with good formatting. Look for any missing tasks, broken formatting, or permission errors. The test run processes real data from your Basecamp projects.

  1. 1Click 'Run once' at the bottom of the scenario
  2. 2Watch each module execute and check for errors
  3. 3Verify the Slack message appears in your target channel
  4. 4Check that task counts and details look accurate
What you should see: A formatted standup report appears in your Slack channel with tasks properly categorized.
Common mistake — The test will post to your actual Slack channel — warn your team or use a test channel for initial runs.
Make
▶ Run once
executed
Slack
Basecamp
Basecamp
🔔 notification
received
10

Scenario > Scheduling > On

Activate Daily Schedule

Turn on the scenario scheduling to run automatically every day. Verify the schedule timing matches your team's needs — most teams prefer reports before their actual standup meeting starts. The scenario will now run daily without manual intervention, pulling fresh Basecamp data and posting updated reports to Slack.

  1. 1Click the 'Scheduling' toggle to ON
  2. 2Verify the daily time setting is correct
  3. 3Check that the scenario shows 'Active' status
  4. 4Save the scenario with a clear name like 'Daily Basecamp Standup'
What you should see: The scenario shows 'Active' with a green scheduling indicator and your chosen daily time.
Common mistake — Confirm your workflow timezone matches your business timezone — n8n uses the instance timezone by default. Also verify the workflow is saved and set to Active, since Schedule Triggers won't fire on inactive workflows.

Scaling Beyond 50+ tasks per day across all projects+ Records

If your volume exceeds 50+ tasks per day across all projects records, apply these adjustments.

1

Batch by Project

Split processing into separate scenarios per major project to avoid timeout issues. Run them with 5-minute staggered start times.

2

Limit Task History

Only pull tasks modified in the last 7 days rather than all project tasks. Use Basecamp's 'since' parameter to reduce API calls.

3

Cache Project Data

Store project names and IDs in a data store to avoid repeated project lookup calls. Update the cache weekly rather than daily.

4

Paginate Large Results

Set reasonable limits (25-50 tasks) and add pagination logic if your projects have hundreds of active tasks.

Going live

Production Checklist

Before you turn this on for real, confirm each item.

Troubleshooting

Common errors and how to fix them.

Frequently Asked Questions

Common questions about this workflow.

Analysis

VerdictWhy Make for this workflow

Use Make for this if you need flexible task filtering and custom message formatting. Make handles date comparisons and conditional logic better than Zapier's basic filters. The Array aggregator lets you group tasks by status without writing code. Skip Make if you just want simple task notifications — Zapier's Basecamp trigger fires faster for single-task updates.

Cost

This runs 8-12 operations daily depending on your task volume. At 250 tasks/month across projects, you'll use roughly 300 operations monthly. That's free on Make's plan. Zapier charges $20/month at this volume since each task check counts as a separate zap run. Make saves you $240 annually here.

Tradeoffs

Zapier's Basecamp integration updates faster with webhooks for real-time notifications. Power Automate has better date formatting functions and handles timezones more reliably. n8n gives you full JavaScript control for complex task logic and custom filtering. Pipedream offers superior error handling and retry logic for API failures. But Make's visual Array aggregator and message builder beat all of them for this daily digest format.

You'll hit Basecamp's nested data structure issues — assignee and project info sits in sub-objects that Make sometimes can't map automatically. Task notes get truncated weirdly if they contain special characters. The biggest gotcha: Basecamp's completed_on field stays null for incomplete tasks forever, but due_on can change randomly when people reschedule, breaking your overdue logic unexpectedly.

Ideas for what to build next

  • Add Weekend Skip LogicModify schedule to skip weekends and holidays when your team doesn't work.
  • Create Team Member SummariesSend individual task summaries to team members via DM before the group standup.
  • Include Time Tracking DataPull Basecamp time entries to show hours worked alongside completed tasks.

Related guides

Was this guide helpful?
Slack + Basecamp overviewMake profile →