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

How to Send Basecamp Urgent Items to Slack with Power Automate

Automatically detect high-priority Basecamp messages and to-dos, then trigger instant Slack notifications to project managers.

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

Best for

Teams managing client projects in Basecamp who need instant alerts for urgent issues posted during off-hours

Not ideal for

Teams wanting two-way sync or real-time webhooks - Basecamp's API limitations force 5-minute polling delays

Sync type

scheduled

Use case type

notification

Real-World Example

πŸ’‘

A 12-person design agency runs client projects in Basecamp. When clients post messages containing 'URGENT' or 'ASAP', the flow immediately pings the #client-alerts Slack channel and DMs the project manager. Before automation, urgent requests sat unnoticed for hours because PMs only checked Basecamp twice daily.

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.

Basecamp 3 account with admin access to projects you want to monitor
Slack workspace with permission to install apps and post to target channels
SharePoint site or Dataverse environment to store processed item tracking
Power Automate license (included with Microsoft 365 or standalone)

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Recording ID
Project Name
Item Title
Creator Email
Item URL
Item Content
1 optional fieldβ–Έ show
Created Date

Step-by-Step Setup

1

My flows > + New flow > Automated cloud flow

Create automated cloud flow

Navigate to make.powerautomate.com and sign in with your Microsoft account. Click 'My flows' in the left sidebar, then '+ New flow' at the top. Select 'Automated cloud flow' from the dropdown menu. Name your flow 'Basecamp Emergency Escalation' and leave the trigger selection blank for now.

  1. 1Click 'My flows' in the left navigation
  2. 2Click '+ New flow' button at the top
  3. 3Select 'Automated cloud flow'
  4. 4Enter flow name: 'Basecamp Emergency Escalation'
  5. 5Click 'Create' without selecting a trigger
βœ“ What you should see: You should see a blank flow canvas with 'Choose your flow's trigger' at the top.
2

Flow canvas > Choose trigger > Search 'Recurrence'

Add Basecamp recurrence trigger

Click the trigger box and search for 'Recurrence' in the connector search. Select the Recurrence trigger since Basecamp doesn't support webhooks in Power Automate. Set the interval to 5 minutes - this balances responsiveness with API rate limits. Basecamp allows 1,728 requests per day per integration.

  1. 1Click 'Choose your flow's trigger'
  2. 2Search for 'Recurrence' and select it
  3. 3Set Interval to '5'
  4. 4Set Frequency to 'Minute'
  5. 5Click 'New step'
βœ“ What you should see: A purple Recurrence box appears showing 'Every 5 minutes' with a green checkmark.
⚠
Common mistake β€” Don't set this below 5 minutes or you'll hit Basecamp's rate limit of 50 requests per 10-second window.
Power Automate
+
click +
search apps
Slack
SL
Slack
Add Basecamp recurrence trig…
Slack
SL
module added
3

New step > Search 'Basecamp 3' > Get recordings

Connect to Basecamp

Add a new step and search for 'Basecamp 3' in the connectors list. Select 'Get recordings' action - this retrieves recent activity from your Basecamp projects. You'll need to authenticate with your Basecamp account credentials. Make sure your account has access to all projects you want to monitor.

  1. 1Click '+ New step'
  2. 2Search for 'Basecamp 3'
  3. 3Select 'Get recordings' action
  4. 4Click 'Sign in' and authenticate with Basecamp
  5. 5Select your Basecamp account from the dropdown
βœ“ What you should see: The Basecamp 3 connector shows 'Connected' status with your account name displayed.
⚠
Common mistake β€” If you don't see 'Basecamp 3', your tenant might have restricted connectors - check with your Microsoft admin.
4

Get recordings > Project parameters

Configure Basecamp project scope

In the Get recordings action, you need to specify which projects to monitor. Leave the Project ID field blank to monitor all projects, or enter specific project IDs separated by commas. Set the 'since' parameter to filter recent items - use the expression builder to subtract 10 minutes from the current time to catch items you might have missed.

  1. 1Leave 'Project ID' blank to monitor all projects
  2. 2Click the 'Since' field
  3. 3Click 'Expression' tab
  4. 4Enter: addMinutes(utcNow(), -10)
  5. 5Click 'OK'
βœ“ What you should see: The Since field shows your expression, and Project ID shows 'Select a value' if monitoring all projects.
⚠
Common mistake β€” The 10-minute lookback prevents missing items if the flow runs late, but creates duplicate risk that we'll handle later.
5

New step > Filter array

Filter for urgent messages

Add a 'Filter array' action to identify urgent items. This checks message content for keywords like 'URGENT', 'EMERGENCY', 'ASAP', or 'HIGH PRIORITY'. The filter examines both the title and excerpt fields from Basecamp recordings. You'll build a complex condition using the 'or' operator to catch various urgency indicators.

  1. 1Click '+ New step' and search 'Filter array'
  2. 2Set 'From' to 'value' from Get recordings
  3. 3Click 'Edit in advanced mode'
  4. 4Enter the filter expression for urgent keywords
  5. 5Save the filter configuration
βœ“ What you should see: Filter array shows 'From: value' and your filter expression in advanced mode.
⚠
Common mistake β€” Don't filter by Basecamp's built-in priority field - most users don't set it consistently.
Slack
SL
trigger
filter
Condition
= "Urgent"
yes β€” passes through
no β€” skipped
Basecamp
BA
notified
6

New step > SharePoint > Get items

Add duplicate prevention

Create a SharePoint list or use Dataverse to track processed items. Add a 'Get items' action to check if the current Basecamp recording ID already exists. This prevents sending duplicate Slack notifications when the same urgent item appears in multiple polling cycles. Store the recording ID and timestamp for each processed item.

  1. 1Click '+ New step' and search 'SharePoint'
  2. 2Select 'Get items' action
  3. 3Choose your SharePoint site
  4. 4Select or create 'Processed Items' list
  5. 5Add filter: ID eq 'recording_id_from_basecamp'
βœ“ What you should see: SharePoint connection established with your site and list selected in the dropdown.
⚠
Common mistake β€” Create the SharePoint list first with columns for Recording ID (text) and Processed Date (date/time).
7

New step > Control > Condition

Add condition for new items

Insert a Condition control to check if the SharePoint query returned any results. If the list is empty (length equals 0), the item is new and should trigger a Slack notification. This prevents duplicate alerts while ensuring new urgent items get immediate attention. The condition branches your flow into 'Yes' and 'No' paths.

  1. 1Click '+ New step' and search 'Condition'
  2. 2Set left value to 'length' of SharePoint items
  3. 3Set operator to 'is equal to'
  4. 4Set right value to '0'
  5. 5Continue building the 'Yes' branch
βœ“ What you should see: A diamond-shaped condition appears with 'Yes' and 'No' branches below it.
⚠
Common mistake β€” Filters are the most common place setups break. Double-check the field name and value exactly match what your app sends β€” a single capital letter difference will block everything.
8

Yes branch > New step > Slack > Post message

Configure Slack notification

In the 'Yes' branch, add a Slack 'Post message' action. Connect your Slack workspace and select the target channel for urgent notifications. Build a formatted message including the Basecamp project name, item title, creator, and a direct link back to Basecamp. Use Slack's block formatting for better readability.

  1. 1Click 'Add an action' in the Yes branch
  2. 2Search for 'Slack' and select 'Post message'
  3. 3Authenticate with your Slack workspace
  4. 4Select channel (e.g., #client-alerts)
  5. 5Build message with Basecamp dynamic content
βœ“ What you should see: Slack shows 'Connected' with your workspace name and channel selected.
⚠
Common mistake β€” Test with a private channel first to avoid spamming your team during setup.
9

Yes branch > New step > Slack > Send direct message

Add direct message to project manager

Add another Slack action to send a direct message to the project manager. You'll need to map Basecamp project creators or assignees to Slack user IDs. Create a lookup table using a SharePoint list or hardcode common mappings. Include more detailed context in the DM since it's going directly to the responsible person.

  1. 1Click 'Add an action' in the Yes branch
  2. 2Select Slack 'Send direct message'
  3. 3Map Basecamp creator to Slack user
  4. 4Compose detailed message with project context
  5. 5Include direct link to Basecamp item
βœ“ What you should see: Second Slack action configured for direct messaging with user mapping.
⚠
Common mistake β€” Slack user IDs look like U01234ABCD - don't use display names or email addresses.
message template
πŸ”” New Record: {{text}} {{user}}
channel: {{channel}}
ts: {{ts}}
#sales
πŸ”” New Record: Jane Smith
Company: Acme Corp
10

Yes branch > New step > SharePoint > Create item

Record processed item

Still in the 'Yes' branch, add a SharePoint 'Create item' action to log this notification. Store the Basecamp recording ID, project name, processed timestamp, and Slack message status. This prevents future duplicate notifications and provides an audit trail of all escalated items.

  1. 1Click 'Add an action' in the Yes branch
  2. 2Select SharePoint 'Create item'
  3. 3Choose your 'Processed Items' list
  4. 4Map Recording ID from Basecamp
  5. 5Set Processed Date to utcNow()
βœ“ What you should see: SharePoint create action configured with fields mapped from Basecamp data.
11

Flow header > Save > Test

Test and activate flow

Save your flow and run a test. Create a test message in Basecamp containing 'URGENT TEST' and wait 5 minutes for the next polling cycle. Check your Slack channel and DMs for the notification. Review the SharePoint list to confirm the item was logged. Once verified, turn on the flow to begin monitoring.

  1. 1Click 'Save' in the flow header
  2. 2Click 'Test' and select 'Manually'
  3. 3Create urgent test item in Basecamp
  4. 4Wait for next 5-minute cycle
  5. 5Verify Slack notifications arrived
βœ“ What you should see: Flow shows 'Your flow ran successfully' with green checkmarks on all actions.
⚠
Common mistake β€” If testing fails, check the flow run history for detailed error messages on each step.

Use this Power Fx expression in your Filter array action to catch urgent keywords while handling case sensitivity and partial matches. Paste it in the advanced mode filter expression.

Copy this templateor(
β–Έ Show code
or(
  contains(toLower(item()?['title']), 'urgent'),
  contains(toLower(item()?['title']), 'emergency'),

... expand to see full code

or(
  contains(toLower(item()?['title']), 'urgent'),
  contains(toLower(item()?['title']), 'emergency'),
  contains(toLower(item()?['title']), 'asap'),
  contains(toLower(item()?['excerpt']), 'urgent'),
  contains(toLower(item()?['excerpt']), 'emergency'),
  contains(toLower(item()?['excerpt']), 'high priority'),
  contains(toLower(item()?['excerpt']), 'critical'),
  startsWith(toLower(item()?['title']), '!!!'),
  contains(toLower(item()?['title']), 'down'),
  contains(toLower(item()?['excerpt']), 'broken')
)
Power Automate
β–Ά Test flow
executed
βœ“
Slack
βœ“
Basecamp
Basecamp
πŸ”” notification
received

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 you're already deep in the Microsoft ecosystem and need SharePoint for tracking processed items. The built-in Basecamp 3 connector saves setup time compared to webhook alternatives. Skip Power Automate if you need real-time alerts - Zapier's webhook support reacts in seconds versus Power Automate's 5-minute polling delay.

Cost

This workflow costs 288 runs per day (every 5 minutes) plus one additional run per urgent item detected. At 20 urgent items monthly, you're looking at 8,660 total runs. That burns through the free 2,000 runs instantly - you'll need the $15/month plan. Zapier handles the same volume for $20/month but triggers instantly. Make offers 1,000 operations monthly free, making it cheaper for low-volume urgent items.

Tradeoffs

Zapier's Basecamp webhook triggers instantly when messages are posted, while Power Automate forces polling delays. Make's visual builder handles complex keyword filtering better than Power Automate's expression syntax. n8n gives you full control over duplicate detection logic without needing SharePoint. Pipedream's code-first approach handles Basecamp's API quirks more gracefully. But Power Automate wins if your IT team already manages SharePoint permissions and you need audit trails in familiar Microsoft tools.

You'll hit Basecamp's rate limits if you monitor too many projects simultaneously - the API allows 50 requests per 10-second window. Large message threads trigger multiple notifications because Basecamp's recording API returns each comment separately. Slack user ID mapping breaks when people change email addresses, causing DM delivery failures that fail silently.

Ideas for what to build next

  • β†’
    Add severity levels β€” Create different Slack channels for HIGH, MEDIUM, and LOW priority based on keyword matching. Route critical items to #emergency and standard urgent items to #alerts.
  • β†’
    Build escalation chains β€” If no response in Slack within 15 minutes, send SMS via Twilio or create PagerDuty incidents for true emergencies.
  • β†’
    Create summary reports β€” Send weekly digest of all escalated items to management showing response times and resolution status from Basecamp and Slack thread tracking.

Related guides

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