Intermediate~15 min setupCommunication & Project ManagementVerified April 2026
Slack logo
Basecamp logo

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-time

Use case type

routing

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

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

Slack admin permissions to install Power Automate app in your workspace
Basecamp account with project admin access for creating tasks
Microsoft 365 license that includes Power Automate (or standalone license)
Access to the specific Slack channel and Basecamp project for testing

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Task Titlecontent
Project IDbucket
To-do Listparent
Message Timestamp
Channel Name
4 optional fieldsβ–Έ show
Task Notesnotes
Assigneeassignee_ids
Due Datedue_on
Creator Name

Step-by-Step Setup

1

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.

  1. 1Click 'My flows' in the left navigation
  2. 2Click 'New flow' button and select 'Automated cloud flow'
  3. 3Enter 'Slack to Basecamp Tasks' as the flow name
  4. 4Search for 'Slack' and select 'When a reaction is added to a message'
  5. 5Click 'Create' to proceed
βœ“ What you should see: You should see the Slack trigger configured as your starting point with connection setup required.
⚠
Common mistake β€” The 'When a message is posted' trigger fires too often and will burn through your monthly runs quickly.
2

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.

  1. 1Click 'Sign in' on the Slack trigger card
  2. 2Select your Slack workspace from the list
  3. 3Click 'Allow' to grant Power Automate permissions
  4. 4Verify the connection shows your workspace name
βœ“ What you should see: The trigger should display your Slack workspace name and show a green checkmark indicating successful connection.
⚠
Common mistake β€” You need admin rights in the Slack workspace to install apps β€” regular members will see an error.
Power Automate settings
Connection
Choose a connection…Add
click Add
Slack
Log in to authorize
Authorize Power Automate
popup window
βœ“
Connected
green checkmark
3

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.

  1. 1Click the Channel dropdown and select your target channel
  2. 2Leave Team field empty for default workspace
  3. 3Enter 'clipboard' in the Reaction field
  4. 4Click 'Save' to store the configuration
βœ“ What you should see: The trigger should show your selected channel name and the reaction emoji you specified.
⚠
Common mistake β€” Emoji names must match Slack's internal format β€” 'thumbs_up' not 'πŸ‘' or the trigger won't fire.
Power Automate
+
click +
search apps
Slack
SL
Slack
Configure Reaction Trigger
Slack
SL
module added
4

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.

  1. 1Click '+ New step' below the trigger
  2. 2Search for 'Slack' and select 'Get message'
  3. 3Set Channel to the same channel from the trigger
  4. 4Click Message Timestamp field and select it from dynamic content
  5. 5Save the action
βœ“ What you should see: The Get message action should show your channel and the Message Timestamp field populated from the trigger.
⚠
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 Record: {{text}} {{user}}
channel: {{channel}}
ts: {{ts}}
#sales
πŸ”” New Record: Jane Smith
Company: Acme Corp
5

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.

  1. 1Click '+ New step' and search for 'Basecamp'
  2. 2Select 'Create a to-do' from the action list
  3. 3Click 'Sign in' to authenticate
  4. 4Choose your Basecamp account if prompted
  5. 5Grant permissions to manage projects
βœ“ What you should see: The Basecamp action should show your account name and display the to-do creation form.
⚠
Common mistake β€” Basecamp requires a paid account β€” free trials work but personal Basecamp accounts may have limited API access.
6

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.

  1. 1Click the Project dropdown and select your target project
  2. 2Choose the appropriate To-do List from the dropdown
  3. 3Note the project ID for reference if needed later
βœ“ What you should see: Both dropdowns should show your selected project and to-do list names clearly.
⚠
Common mistake β€” If projects don't appear, your Basecamp user lacks admin access to those specific projects.
7

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.

  1. 1Click in Content field and select 'Text' from Get message
  2. 2Click in Notes field and type 'Created from Slack by: '
  3. 3Add 'User Display Name' from the trigger after your text
  4. 4Set Due Date if your workflow requires it
βœ“ What you should see: Content should show the Slack message text and Notes should combine your text with the Slack username.
⚠
Common mistake β€” Long Slack messages get truncated in Basecamp task titles β€” consider using substring() for messages over 100 characters.
Slack fields
text
user
channel
ts
thread_ts
available as variables:
1.props.text
1.props.user
1.props.channel
1.props.ts
1.props.thread_ts
8

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.

  1. 1Click the Assignee dropdown to see available team members
  2. 2Select a default assignee or leave blank for unassigned
  3. 3Consider adding a condition step before this for dynamic assignment
βœ“ What you should see: The assignee field should show your selected team member or remain empty for manual assignment.
⚠
Common mistake β€” Assignees must be active Basecamp users in that specific project β€” inactive users will cause the flow to fail.
9

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.

  1. 1Click 'Save' at the top of your flow
  2. 2Go to your Slack channel and post a test message
  3. 3React with the configured emoji (πŸ“‹)
  4. 4Check Basecamp project for the new task
  5. 5Verify all fields populated correctly
βœ“ What you should see: A new task should appear in your Basecamp to-do list matching the Slack message content.
Power Automate
β–Ά Test flow
executed
βœ“
Slack
βœ“
Basecamp
Basecamp
πŸ”” notification
received
10

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.

  1. 1Click the toggle switch to turn the flow on
  2. 2Go to 'Run history' to monitor executions
  3. 3Check for any failed runs and review error messages
  4. 4Adjust permissions if needed
βœ“ What you should see: The flow should show 'On' status and successful runs should appear in the run history.
⚠
Common mistake β€” Failed runs don't retry automatically β€” you'll need to manually fix issues and rerun or the tasks will be lost.

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

VerdictWhy n8n for this workflow

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.

Cost

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.

Tradeoffs

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

Was this guide helpful?
← Slack + Basecamp overviewPower Automate profile β†’