

How to Send Emergency Issue Escalation with Pipedream
Automatically send urgent Slack notifications when high-priority items are posted in Basecamp projects.
Steps and UI details are based on platform versions at time of writing β check each platform for the latest interface.
Best for
Teams who need instant Slack alerts when critical issues are posted in Basecamp
Not ideal for
Teams that prefer batched daily summaries instead of real-time notifications
Sync type
real-timeUse case type
notificationReal-World Example
A 25-person agency uses this to notify #emergencies in Slack whenever a Basecamp message contains words like 'urgent', 'critical', or 'down'. Before automation, project managers checked Basecamp every 30 minutes and critical client issues sat unnoticed for hours. Now escalations reach the right people within 10 seconds.
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 Pipedream
Copy the pre-built Pipedream blueprint and paste it straight into Pipedream. 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 | ||
| Message Content | ||
| Author Name | ||
| Project Name | ||
| Message Timestamp | ||
| Basecamp URL | ||
| Slack Channel | ||
2 optional fieldsβΈ show
| Emergency Keywords | |
| DM Recipient |
Step-by-Step Setup
Workflows > New > HTTP/Webhook Requests
Create new Pipedream workflow
Log into pipedream.com and click the green New button in the top left. Select HTTP/Webhook Requests as your trigger source. This creates an instant webhook URL that Basecamp will call when messages are posted. Copy the webhook URL from the trigger step - you'll need it for Basecamp setup.
- 1Click the green 'New' button in top left
- 2Select 'HTTP/Webhook Requests' from the trigger list
- 3Copy the webhook URL that appears
- 4Click 'Save and continue'
Basecamp Project > Campfire > Gear Icon > Configure integrations
Connect Basecamp webhook
In your Basecamp project, go to Campfire (the chat section) and click the gear icon. Select Configure integrations and choose Webhook. Paste your Pipedream webhook URL and check the Messages option. This tells Basecamp to POST to Pipedream whenever someone posts a message.
- 1Open your Basecamp project
- 2Click on Campfire in the left sidebar
- 3Click the gear icon in the top right
- 4Select 'Configure integrations'
- 5Choose 'Webhook' from the list
- 6Paste your Pipedream webhook URL
- 7Check the 'Messages' checkbox
- 8Click 'Add this webhook'
Basecamp Campfire > Pipedream Workflow
Test the webhook connection
Post a test message in your Basecamp Campfire containing the word 'urgent'. Switch back to Pipedream and refresh your workflow. You should see webhook data appear in the trigger step with message content, author details, and project information. This confirms Basecamp is sending data correctly.
- 1Go to your Basecamp Campfire
- 2Type 'This is an urgent test message'
- 3Press Enter to send
- 4Switch back to Pipedream
- 5Refresh your workflow page
- 6Click on the trigger step
Workflow > + > Code (Node.js)
Add keyword detection step
Click the + button below your trigger to add a new step. Choose Code (Node.js) from the list. This step will check if the message contains emergency keywords like 'urgent', 'critical', 'down', or 'emergency'. Only matching messages will continue to Slack notification.
- 1Click the + button below the trigger step
- 2Select 'Code (Node.js)' from the app list
- 3Name the step 'Check Emergency Keywords'
- 4Clear the default code in the editor
Code Step > Editor
Configure keyword detection logic
Paste the emergency detection code into your Node.js step. This code extracts the message content, converts it to lowercase, and checks for critical keywords. If found, it passes the data forward with an emergency flag. If not found, it exits early without triggering Slack.
- 1Paste the keyword detection code
- 2Click 'Test' to run against your test message
- 3Verify it detects 'urgent' in your test
- 4Click 'Save'
Workflow > + > Slack > Send Message to Channel
Connect your Slack account
Click the + button to add another step and select Slack from the apps list. Choose 'Send Message to Channel' as the action. Pipedream will prompt you to connect your Slack workspace. Click Connect and authorize Pipedream to post messages on your behalf.
- 1Click + to add a new step
- 2Search for and select 'Slack'
- 3Choose 'Send Message to Channel'
- 4Click 'Connect an account'
- 5Authorize Pipedream in your Slack workspace
Slack Step > Configuration
Configure Slack message details
Select your emergency channel from the Channel dropdown - typically something like #emergencies or #urgent. Set the Username to 'Basecamp Alert' so team members know the source. Configure the message text to include the original message content, author name, and project details from the webhook data.
- 1Select your emergency channel from the dropdown
- 2Set Username to 'Basecamp Alert'
- 3In the Text field, click the + icon
- 4Select message content from the webhook data
- 5Add author and project information
Workflow > + > Slack > Send Direct Message
Add direct message backup
Click + to add a final step for critical escalation. Add another Slack action but choose 'Send Direct Message' this time. Configure it to DM your project manager or team lead when emergencies are detected. This ensures someone always gets notified even if they miss the channel notification.
- 1Add another Slack step
- 2Choose 'Send Direct Message'
- 3Use the same Slack connection
- 4Select your project manager from the User dropdown
- 5Configure message text with urgency indicator
channel: {{channel}}
ts: {{ts}}
Workflow > Deploy > Basecamp Test
Test end-to-end workflow
Deploy your workflow by clicking the Deploy button in the top right. Return to Basecamp and post another message containing 'critical issue with client site'. Within 10 seconds, you should see notifications in both your Slack channel and as a direct message. Check that all message details transferred correctly.
- 1Click the blue 'Deploy' button
- 2Go back to Basecamp Campfire
- 3Post 'critical issue with client site down'
- 4Check your Slack emergency channel
- 5Verify the direct message was sent
Add this code to your keyword detection step to handle multiple emergency levels and route them to different Slack channels based on severity.
JavaScript β Code Stepexport default defineComponent({βΈ Show code
export default defineComponent({
async run({ steps, $ }) {
const message = steps.trigger.event.recording?.content || steps.trigger.event.content || '';... expand to see full code
export default defineComponent({
async run({ steps, $ }) {
const message = steps.trigger.event.recording?.content || steps.trigger.event.content || '';
const messageText = message.toLowerCase();
// Define emergency levels with keywords and channels
const emergencyLevels = {
critical: {
keywords: ['down', 'offline', 'critical', 'emergency', 'urgent'],
channel: '#critical-alerts',
emoji: 'π¨'
},
high: {
keywords: ['issue', 'problem', 'help needed', 'asap'],
channel: '#high-priority',
emoji: 'β οΈ'
}
};
// Check each level for matches
for (const [level, config] of Object.entries(emergencyLevels)) {
const matchedKeywords = config.keywords.filter(keyword =>
messageText.includes(keyword)
);
if (matchedKeywords.length > 0) {
return {
is_emergency: true,
level: level,
matched_keywords: matchedKeywords,
target_channel: config.channel,
emoji: config.emoji,
original_data: steps.trigger.event
};
}
}
// No emergency keywords found
$.respond('No emergency keywords detected');
return;
}
});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 Pipedream for this if you need instant webhook processing and want to customize the emergency detection logic with real code. The Node.js steps let you build sophisticated keyword matching, route different emergency levels to different channels, and add custom formatting that template-based platforms can't handle. Skip Pipedream if you just want basic keyword alerts without coding - Zapier's built-in formatter handles simple text matching fine.
This costs virtually nothing in Pipedream credits. Each emergency escalation uses 2-3 credits (webhook trigger + code step + Slack action), so even 100 emergencies per month costs under $2. Make charges $9/month minimum for real-time webhooks. Zapier's instant trigger requires their $20/month plan. Power Automate charges per flow run but Office 365 includes 2,000 monthly runs free.
Make beats Pipedream for visual workflow building - dragging modules is faster than writing code for simple routing logic. Zapier wins on Slack formatting with their rich message composer that handles buttons and blocks without coding. N8N matches Pipedream's coding flexibility but requires self-hosting. Power Automate integrates better if you're already in the Microsoft ecosystem. But Pipedream's instant webhooks and unlimited free testing make it the best choice for emergency workflows where every second counts.
You'll hit Basecamp's webhook retry logic if Pipedream goes down - they'll retry failed deliveries for 24 hours before giving up. Slack rate limits kick in at 1 message per second per channel, so rapid-fire emergencies might queue up. The biggest gotcha: Basecamp webhooks include HTML formatting in message content, so your keyword detection needs to strip tags or search raw text fields. Private Slack channels require manual bot invitation that's easy to forget during setup.
Ideas for what to build next
- βAdd SMS backup for critical alerts β Use Twilio in Pipedream to send text messages when 'critical' or 'down' keywords are detected in case team members miss Slack notifications.
- βCreate digest for non-emergency mentions β Set up a separate workflow to collect non-urgent Basecamp messages and send daily summaries to a different Slack channel.
- βBuild response tracking β Add Slack buttons to emergency alerts so team members can acknowledge they're handling the issue, preventing duplicate responses.
Related guides
How to Share Notion Meeting Notes to Slack with Pipedream
~15 min setup
How to Share Notion Meeting Notes to Slack with Power Automate
~15 min setup
How to Share Notion Meeting Notes to Slack with n8n
~20 min setup
How to Send Notion Meeting Notes to Slack with Zapier
~8 min setup
How to Share Notion Meeting Notes to Slack with Make
~12 min setup
How to Create Notion Tasks from Slack with Pipedream
~15 min setup