

How to Broadcast Trello Updates to Slack with n8n
Automatically post Trello card movements and comments to Slack channels when cards change status or receive updates.
Steps and UI details are based on platform versions at time of writing β check each platform for the latest interface.
Best for
Development teams that want instant Slack notifications when Trello cards move between lists or get commented on
Not ideal for
Teams that prefer daily digest summaries or only need notifications for specific card types
Sync type
real-timeUse case type
notificationReal-World Example
A 12-person product team uses this to notify #product-updates when cards move to 'In Review' or 'Done' on their feature board. Before automation, team members checked Trello manually throughout the day and missed status changes for hours. Now the whole team sees progress instantly without context switching.
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 n8n
Copy the pre-built n8n blueprint and paste it straight into n8n. 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 | ||
| Card Name | ||
| Action Type | ||
| Target List | ||
| Card URL | ||
| Member Name | ||
3 optional fieldsβΈ show
| Source List | |
| Comment Text | |
| Board Name |
Step-by-Step Setup
Workflows > + Create > New Workflow
Create new n8n workflow
Log into your n8n instance and create a fresh workflow. You'll see the blank canvas with a Start node already placed. This workflow will listen for Trello webhooks and format messages for Slack. Click the Start node to begin configuration.
- 1Click the purple + Create button
- 2Select 'New Workflow' from the dropdown
- 3Name it 'Trello to Slack Broadcaster'
- 4Click the Start node to configure
Node > Delete > Add Node > Trello Trigger
Replace Start with Trello Webhook
Delete the Start node and add a Trello Trigger node. This creates a webhook endpoint that Trello will ping whenever cards change. Select 'Card Updated' as the trigger event since this covers both list moves and comments. The webhook URL will generate automatically.
- 1Delete the Start node using the trash icon
- 2Click the + button to add a node
- 3Search for 'Trello Trigger' and select it
- 4Choose 'Card Updated' from the Event dropdown
Trello Trigger > Credential > Create New
Connect Trello account
Click the Credential dropdown and create a new Trello connection. You'll need to authorize n8n to access your Trello boards. This requires your Trello API key and token, which you can get from the Trello developer portal. The connection stays active across all your Trello nodes.
- 1Click 'Create New' next to Credential
- 2Select 'Trello API' as credential type
- 3Visit trello.com/app-key to get your API key
- 4Generate a token and paste both values
- 5Test the connection and save
Trello Trigger > Board > Select Board
Configure board and webhook
Select the Trello board you want to monitor from the Board dropdown. Copy the webhook URL from the node details. You'll register this URL with Trello in the next step. The webhook will fire for any card changes on this specific board only.
- 1Select your target board from the Board dropdown
- 2Copy the webhook URL from the 'Webhook URLs' section
- 3Leave other settings at default
- 4Save the node configuration
External API > Trello Webhooks > POST /webhooks
Register webhook with Trello
Use Trello's webhook API to register your n8n endpoint. Make a POST request to Trello's webhook endpoint with your board ID and n8n webhook URL. You can do this via Postman, curl, or Trello's API explorer. The webhook starts working immediately after registration.
- 1Get your board ID from the Trello board URL
- 2Make a POST to https://api.trello.com/1/webhooks
- 3Include callbackURL (your n8n URL), idModel (board ID), and credentials
- 4Verify you get a 200 response with webhook details
Add Node > Slack > Send Message
Add Slack node
Connect a Slack node to send messages when Trello cards update. Choose 'Send Message' as the operation. You'll configure the channel and message content in the following steps. The Slack node can post to any channel your bot has access to.
- 1Click the + button after the Trello Trigger
- 2Search for and select 'Slack'
- 3Choose 'Send Message' from the Operation dropdown
- 4Connect it to the Trello Trigger output
Slack > Credential > Create New > OAuth2
Connect Slack workspace
Create a new Slack credential using OAuth2. This opens a popup to authorize n8n access to your Slack workspace. Choose a bot token with channels:write and chat:write permissions. The connection lets you post messages to any public channel or private channels where the bot is added.
- 1Click 'Create New' next to Credential
- 2Select 'Slack OAuth2 API' credential type
- 3Click 'Connect my account' to start OAuth flow
- 4Authorize n8n in the Slack popup
- 5Confirm the green connection success message
Slack > Channel > Text
Configure message content
Set up the Slack message template using Trello webhook data. Reference card name, list changes, and member actions from the Trello payload. Use expressions to format the message with card links and action details. The message should clearly explain what happened and who did it.
- 1Select your target Slack channel from the dropdown
- 2Click in the Text field to open the expression editor
- 3Build message using {{ $json.action.data.card.name }} syntax
- 4Add card URL and action details to the message
- 5Preview the message format
Add Node > IF > Configure Conditions
Add conditional logic
Insert an IF node between Trello and Slack to filter which updates get posted. Configure conditions for specific list moves or comment additions. This prevents spam from minor card edits. You can filter by action type, list names, or member changes.
- 1Add an IF node between Trello Trigger and Slack
- 2Set condition to check action.type equals 'updateCard'
- 3Add second condition for list changes or comments
- 4Connect True branch to Slack node
- 5Leave False branch empty to ignore unwanted updates
Workflow > Save > Test Workflow > Activate
Test and activate workflow
Save the workflow and test it by moving a Trello card or adding a comment. Check that the webhook fires and Slack receives the message. Review the execution log to debug any issues. Once working, activate the workflow to handle live events.
- 1Click Save in the top right
- 2Move a test card in your Trello board
- 3Check the Executions tab for webhook activity
- 4Verify message appears in your Slack channel
- 5Toggle the workflow to Active status
This code formats different Trello actions into readable Slack messages and handles missing data gracefully. Paste it into a Function node between the IF node and Slack node.
JavaScript β Code Nodeconst action = $input.all()[0].json.action;βΈ Show code
const action = $input.all()[0].json.action; const card = action.data.card; const member = action.memberCreator;
... expand to see full code
const action = $input.all()[0].json.action;
const card = action.data.card;
const member = action.memberCreator;
let message = '';
let emoji = 'π';
// Handle different action types
switch(action.type) {
case 'updateCard':
if (action.data.listBefore && action.data.listAfter) {
// Card moved between lists
message = `${emoji} ${member.fullName} moved '${card.name}' from ${action.data.listBefore.name} β ${action.data.listAfter.name}`;
emoji = action.data.listAfter.name.toLowerCase().includes('done') ? 'β
' : 'π';
} else if (action.data.old && action.data.old.name) {
// Card renamed
message = `${emoji} ${member.fullName} renamed card '${action.data.old.name}' to '${card.name}'`;
}
break;
case 'commentCard':
const comment = action.data.text.length > 100 ?
action.data.text.substring(0, 100) + '...' : action.data.text;
message = `π¬ ${member.fullName} commented on '${card.name}': ${comment}`;
break;
case 'addMemberToCard':
const addedMember = action.data.member;
message = `π€ ${member.fullName} assigned ${addedMember.fullName} to '${card.name}'`;
break;
default:
message = `${emoji} ${member.fullName} updated '${card.name}'`;
}
// Add card link if available
if (card.shortUrl) {
message += ` | <${card.shortUrl}|View Card>`;
}
return {
channel: '#product-updates',
text: message,
username: 'Trello Bot',
icon_emoji: emoji
};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 n8n for this if you need custom message formatting or complex filtering logic that basic webhook tools can't handle. The Function node lets you parse Trello's messy webhook payloads and create readable Slack messages with proper emoji, formatting, and conditional content. n8n also handles webhook registration programmatically, unlike Zapier which requires manual setup for each board. Skip n8n if you just want basic 'card moved' notifications - Slack's native Trello integration does that simpler.
This workflow costs nothing on n8n's free tier until you hit serious volume. Each card move triggers one execution, so a team making 500 card moves per month stays free. Compare that to Zapier at $20/month for the same volume or Make at $9/month. n8n wins on cost but requires more technical setup than plug-and-play alternatives.
Zapier handles Trello webhooks more reliably with automatic re-registration when they expire. Make's visual webhook debugger helps troubleshoot payload issues faster than n8n's execution logs. Power Automate integrates better with Microsoft Teams if that's your chat platform. Pipedream offers better error handling for webhook failures. But n8n gives you the most control over message formatting and filtering logic without hitting API limits on custom functions.
You'll hit Trello's webhook quirks regardless of platform. Webhooks expire after 30 days of inactivity, even if you're actively using them. Card moves sometimes trigger duplicate webhooks within seconds. Comment notifications arrive with different payload structure than list changes, breaking your message templates. The webhook registration API occasionally returns 200 but doesn't actually create the webhook, so test thoroughly.
Ideas for what to build next
- βAdd digest mode β Create a scheduled workflow that sends daily summaries of card movements instead of individual notifications.
- βBi-directional sync β Add Slack slash commands that can update Trello card status or add comments directly from chat.
- βMulti-board monitoring β Extend workflow to handle webhooks from multiple Trello boards and route messages to different Slack channels based on project.
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