Intermediate~20 min setupCommunication & Project ManagementVerified April 2026
Slack logo
Trello logo

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

Use case type

notification

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

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

Trello workspace admin access to register webhooks on target boards
Slack workspace permissions to install apps and create bot tokens
n8n instance running with public webhook endpoints enabled
Trello API key and token from trello.com/app-key

Field Mapping

Map these fields between your apps.

FieldAPI 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

1

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.

  1. 1Click the purple + Create button
  2. 2Select 'New Workflow' from the dropdown
  3. 3Name it 'Trello to Slack Broadcaster'
  4. 4Click the Start node to configure
βœ“ What you should see: You should see an empty workflow canvas with a Start node and the node panel open on the right.
2

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.

  1. 1Delete the Start node using the trash icon
  2. 2Click the + button to add a node
  3. 3Search for 'Trello Trigger' and select it
  4. 4Choose 'Card Updated' from the Event dropdown
βœ“ What you should see: You should see a Trello Trigger node with a webhook URL displayed in the configuration panel.
⚠
Common mistake β€” The webhook URL won't work until you save and activate the workflow first.
3

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.

  1. 1Click 'Create New' next to Credential
  2. 2Select 'Trello API' as credential type
  3. 3Visit trello.com/app-key to get your API key
  4. 4Generate a token and paste both values
  5. 5Test the connection and save
βœ“ What you should see: You should see a green 'Connection tested successfully' message and your Trello boards appear in the Board dropdown.
n8n settings
Connection
Choose a connection…Add
click Add
Slack
Log in to authorize
Authorize n8n
popup window
βœ“
Connected
green checkmark
4

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.

  1. 1Select your target board from the Board dropdown
  2. 2Copy the webhook URL from the 'Webhook URLs' section
  3. 3Leave other settings at default
  4. 4Save the node configuration
βœ“ What you should see: You should see the selected board name and a webhook URL that starts with your n8n domain.
⚠
Common mistake β€” Each board needs its own webhook registration - you can't monitor multiple boards with one webhook.
5

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.

  1. 1Get your board ID from the Trello board URL
  2. 2Make a POST to https://api.trello.com/1/webhooks
  3. 3Include callbackURL (your n8n URL), idModel (board ID), and credentials
  4. 4Verify you get a 200 response with webhook details
βœ“ What you should see: You should receive a JSON response with the webhook ID and confirmation that it's active.
⚠
Common mistake β€” Trello webhooks expire after 30 days if not used, but n8n will automatically refresh them.
6

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.

  1. 1Click the + button after the Trello Trigger
  2. 2Search for and select 'Slack'
  3. 3Choose 'Send Message' from the Operation dropdown
  4. 4Connect it to the Trello Trigger output
βœ“ What you should see: You should see a Slack node connected to your Trello Trigger with message configuration options visible.
7

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.

  1. 1Click 'Create New' next to Credential
  2. 2Select 'Slack OAuth2 API' credential type
  3. 3Click 'Connect my account' to start OAuth flow
  4. 4Authorize n8n in the Slack popup
  5. 5Confirm the green connection success message
βœ“ What you should see: You should see 'Connected to Slack as [your-workspace-name]' and channel options populate in the dropdown.
⚠
Common mistake β€” Make sure your Slack bot has permission to post in the target channels before testing.
8

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.

  1. 1Select your target Slack channel from the dropdown
  2. 2Click in the Text field to open the expression editor
  3. 3Build message using {{ $json.action.data.card.name }} syntax
  4. 4Add card URL and action details to the message
  5. 5Preview the message format
βœ“ What you should see: You should see a message template that references Trello data fields and formats them for Slack readability.
⚠
Common mistake β€” Test with a card move first - comment webhooks have different data structure than list moves.
9

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.

  1. 1Add an IF node between Trello Trigger and Slack
  2. 2Set condition to check action.type equals 'updateCard'
  3. 3Add second condition for list changes or comments
  4. 4Connect True branch to Slack node
  5. 5Leave False branch empty to ignore unwanted updates
βœ“ What you should see: You should see an IF node that only passes through card moves between specific lists or new comments.
⚠
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.
Slack
SL
trigger
filter
Condition
matches criteria?
yes β€” passes through
no β€” skipped
Trello
TR
notified
10

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.

  1. 1Click Save in the top right
  2. 2Move a test card in your Trello board
  3. 3Check the Executions tab for webhook activity
  4. 4Verify message appears in your Slack channel
  5. 5Toggle the workflow to Active status
βœ“ What you should see: You should see successful execution logs and a formatted message in your Slack channel matching the card movement.
⚠
Common mistake β€” Webhook deliveries can take 10-30 seconds depending on Trello's processing time.

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
};
n8n
β–Ά Run once
executed
βœ“
Slack
βœ“
Trello
Trello
πŸ”” 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 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.

Cost

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.

Tradeoffs

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

Was this guide helpful?
← Slack + Trello overviewn8n profile β†’