

How to Create Basecamp Tasks from Slack Messages with Power Automate
Automatically convert Slack messages into Basecamp tasks with proper assignment and due dates when specific keywords or emoji reactions are detected.
Steps and UI details are based on platform versions at time of writing β check each platform for the latest interface.
Best for
Teams that discuss action items in Slack but track deliverables in Basecamp project management.
Not ideal for
Teams that need complex task hierarchies or dependencies β use native Basecamp task creation instead.
Sync type
real-timeUse case type
routingReal-World Example
A 12-person marketing agency uses this to convert Slack messages marked with π emoji into Basecamp tasks. Before automation, project managers manually copied 8-10 action items per day from client channels into Basecamp, taking 15 minutes each morning. Now tasks appear in the right project within 30 seconds of emoji reaction.
What Will This Cost?
Drag the slider to your expected monthly volume.
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
Import this workflow directly into Power Automate
Copy the pre-built Power Automate blueprint and paste it straight into Power Automate. 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.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Task Title | content | |
| Project ID | bucket | |
| To-do List | parent | |
| Message Timestamp | ||
| Channel Name | ||
4 optional fieldsβΈ show
| Task Notes | notes |
| Assignee | assignee_ids |
| Due Date | due_on |
| Creator Name |
Step-by-Step Setup
My flows > New flow > Automated cloud flow
Create New Automated Flow
Log into make.powerautomate.com and click My flows in the left sidebar. Click New flow > Automated cloud flow from the dropdown. Name it 'Slack to Basecamp Tasks' and search for 'Slack' in the trigger list. Select 'When a reaction is added to a message' trigger since emoji reactions work better than keyword detection for this use case.
- 1Click 'My flows' in the left navigation
- 2Click 'New flow' button and select 'Automated cloud flow'
- 3Enter 'Slack to Basecamp Tasks' as the flow name
- 4Search for 'Slack' and select 'When a reaction is added to a message'
- 5Click 'Create' to proceed
Slack Trigger > Sign in
Connect Slack Account
Click 'Sign in' on the Slack trigger. You'll be redirected to Slack's OAuth screen where you need admin permissions to install the Power Automate app. Grant access to read messages, channels, and reactions. The connection will show your workspace name once successful.
- 1Click 'Sign in' on the Slack trigger card
- 2Select your Slack workspace from the list
- 3Click 'Allow' to grant Power Automate permissions
- 4Verify the connection shows your workspace name
Slack Trigger > Parameters
Configure Reaction Trigger
Set the Channel field to the specific channel where tasks are discussed, like #client-projects. Leave Team blank to use your default workspace. For Reaction, enter 'clipboard' (the name for π emoji) or 'white_check_mark' for β . Test the trigger by adding the emoji to a message in that channel.
- 1Click the Channel dropdown and select your target channel
- 2Leave Team field empty for default workspace
- 3Enter 'clipboard' in the Reaction field
- 4Click 'Save' to store the configuration
New step > Slack > Get message
Add Get Message Action
Click New step and search for 'Slack'. Add the 'Get message' action to retrieve the full message content that was reacted to. This gives you the message text, timestamp, and user who posted it. Use the Message Timestamp from the trigger as the input.
- 1Click '+ New step' below the trigger
- 2Search for 'Slack' and select 'Get message'
- 3Set Channel to the same channel from the trigger
- 4Click Message Timestamp field and select it from dynamic content
- 5Save the action
channel: {{channel}}
ts: {{ts}}
New step > Basecamp > Create a to-do
Connect Basecamp Account
Click New step and search for 'Basecamp'. Select 'Create a to-do' action. You'll need to sign into your Basecamp account and grant permissions to create and modify projects. Basecamp will ask which account to connect if you have multiple.
- 1Click '+ New step' and search for 'Basecamp'
- 2Select 'Create a to-do' from the action list
- 3Click 'Sign in' to authenticate
- 4Choose your Basecamp account if prompted
- 5Grant permissions to manage projects
Basecamp Action > Project and To-do List
Configure Basecamp Project
Set the Project dropdown to your target project where tasks should be created. Choose the specific To-do List within that project β most teams use 'Current Tasks' or 'Action Items'. You can map this dynamically later if you manage multiple projects from one Slack channel.
- 1Click the Project dropdown and select your target project
- 2Choose the appropriate To-do List from the dropdown
- 3Note the project ID for reference if needed later
Basecamp Action > Task Details
Map Message Content to Task
Set the Content field (task title) to the Text from the Get message action. This uses the actual Slack message as your task name. Add a Notes field with context like 'Created from Slack message by' and include the User Display Name from the trigger. Set Due Date if your team uses deadlines.
- 1Click in Content field and select 'Text' from Get message
- 2Click in Notes field and type 'Created from Slack by: '
- 3Add 'User Display Name' from the trigger after your text
- 4Set Due Date if your workflow requires it
Basecamp Action > Assignee
Add Task Assignment Logic
Use the Assignee field to automatically assign tasks. You can set a default assignee or use expressions to assign based on the Slack channel or user who reacted. Create a condition that checks the channel name and assigns to different team members accordingly.
- 1Click the Assignee dropdown to see available team members
- 2Select a default assignee or leave blank for unassigned
- 3Consider adding a condition step before this for dynamic assignment
Flow > Save > Test
Test the Complete Flow
Save your flow and go to your configured Slack channel. Post a test message like 'Update client proposal by Friday' and add the π emoji reaction. Check your Basecamp project within 2-3 minutes to confirm the task was created with correct title, notes, and assignment.
- 1Click 'Save' at the top of your flow
- 2Go to your Slack channel and post a test message
- 3React with the configured emoji (π)
- 4Check Basecamp project for the new task
- 5Verify all fields populated correctly
Flow > Turn on
Enable Flow and Monitor
Turn on your flow using the toggle switch in the top right. Monitor the run history for the first few days to catch any failures. Common issues include permissions errors when team members from other Slack workspaces react, or Basecamp API rate limits during busy periods.
- 1Click the toggle switch to turn the flow on
- 2Go to 'Run history' to monitor executions
- 3Check for any failed runs and review error messages
- 4Adjust permissions if needed
Use Power Automate expressions to extract due dates from message text and parse channel names for dynamic project assignment. Paste this in the expression editor when configuring due dates and project selection.
JavaScript β Code Step// Extract due date from message textβΈ Show code
// Extract due date from message text if( contains(triggerBody()?['text'], 'by Friday'),
... expand to see full code
// Extract due date from message text
if(
contains(triggerBody()?['text'], 'by Friday'),
addDays(utcNow(), sub(5, dayOfWeek(utcNow()))),
if(
contains(triggerBody()?['text'], 'next week'),
addDays(utcNow(), 7),
null
)
)
// Dynamic project assignment based on channel
switch(
triggerBody()?['channel_name'],
'client-acme', '12345678',
'client-beta', '23456789',
'marketing', '34567890',
'internal', '45678901',
'12345678' // default project ID
)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
Use Power Automate for this if your team already lives in Microsoft 365 and wants emoji-triggered task creation without coding. The Slack connector handles webhook subscriptions automatically and Basecamp integration works reliably at 50-100 tasks per day. Skip this platform if you need complex message parsing β Make handles regex and text extraction better.
At 30 task creations per month, you'll use 60 Power Automate runs (trigger + action). That fits the free tier of 750 runs monthly. At 200+ tasks, you're looking at $15/month for the full version. Zapier costs $30/month for the same volume and Make is $9/month but requires more setup complexity.
Zapier's Slack trigger fires faster and has better emoji name detection. Make offers superior message parsing with regex functions for extracting due dates from text. n8n gives you full message threading context that Power Automate misses. Pipedream handles Basecamp rate limiting more gracefully with built-in retry logic. But Power Automate wins for teams already paying for Office 365 β the integration is free and connects to your existing user directory.
You'll hit message formatting issues with threaded replies and file attachments that return null content. Basecamp's API rate limit is 50 requests per 10 seconds, so busy Slack channels will queue up task creation. The emoji reaction trigger doesn't distinguish between team members and external guests, potentially creating tasks from people outside your organization.
Ideas for what to build next
- βAdd Due Date Parsing β Use expressions to extract dates from phrases like 'by Friday' or 'next Tuesday' in Slack messages and set Basecamp due dates automatically.
- βCreate Reverse Notification β Set up a second flow that posts to Slack when Basecamp tasks are completed, closing the feedback loop for the team.
- βMulti-Channel Routing β Expand to monitor multiple Slack channels and route tasks to different Basecamp projects based on channel names or keywords.
Related guides
How to Create Notion Tasks from Slack with Pipedream
~15 min setup
How to Create Notion Tasks from Slack with Power Automate
~15 min setup
How to Create Notion Tasks from Slack with n8n
~20 min setup
How to Create Notion Tasks from Slack Messages with Zapier
~8 min setup
How to Create Notion Tasks from Slack Messages with Make
~12 min setup
How to Share Notion Meeting Notes to Slack with Pipedream
~15 min setup