

How to Create Trello Cards from Slack Messages with Power Automate
Automatically convert Slack messages with specific keywords or reactions into Trello cards with full message context and thread details.
Steps and UI details are based on platform versions at time of writing β check each platform for the latest interface.
Best for
Microsoft 365 teams who need instant project visibility when decisions get made in Slack channels.
Not ideal for
Teams wanting complex message filtering logic or custom card templates beyond basic field mapping.
Sync type
real-timeUse case type
notificationReal-World Example
A 25-person marketing agency uses this to track client requests that come through #client-feedback Slack channel. When someone adds a π― reaction to a message, Power Automate creates a Trello card in their 'Client Requests' board with the full message text and client name. Before automation, project managers missed 30% of client requests buried in Slack threads.
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 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.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Card Name | ||
| Message Timestamp | ||
| Board Assignment | ||
| List Placement | ||
4 optional fieldsβΈ show
| Card Description | |
| Source Channel | |
| Message Author | |
| Permalink |
Step-by-Step Setup
Create > Automated cloud flow > Slack
Create new automated flow
Navigate to make.powerautomate.com and sign in with your Microsoft account. Click 'Create' in the left sidebar, then select 'Automated cloud flow'. Name your flow 'Slack to Trello Cards' and search for 'Slack' in the trigger selection. Choose 'When a message is posted to a channel' as your starting trigger.
- 1Click 'Create' in the left navigation
- 2Select 'Automated cloud flow'
- 3Type 'Slack to Trello Cards' as flow name
- 4Search for 'Slack' in the trigger box
- 5Choose 'When a message is posted to a channel'
Slack trigger > Sign in
Connect your Slack workspace
Click 'Sign in' next to the Slack connection field. This opens a new browser tab asking for Slack permissions. Select your workspace from the dropdown and click 'Allow' to grant Power Automate access to read messages and channel information. The connection process takes about 30 seconds to complete.
- 1Click 'Sign in' in the Slack trigger configuration
- 2Select your Slack workspace from the dropdown
- 3Click 'Allow' to grant permissions
- 4Wait for the green connection confirmation
Slack trigger > Team > Channel
Configure channel monitoring
Select your Slack team from the Team dropdown, then choose the specific channel you want to monitor from the Channel dropdown. The channel list shows all public channels you have access to. Private channels only appear if you're already a member. For keyword-based triggers, you'll add filtering logic in the next step.
- 1Select your workspace from the Team dropdown
- 2Choose the target channel from Channel dropdown
- 3Note the channel ID that appears in parentheses
- 4Click outside the dropdown to confirm selection
New step > Control > Condition
Add keyword filtering condition
Click '+ New step' below the Slack trigger and search for 'Control'. Select the 'Condition' action to add message filtering logic. This prevents every message from creating Trello cards. Set up the condition to check if the message text contains specific keywords like 'task', 'todo', or 'action item' that indicate a card should be created.
- 1Click '+ New step' under the Slack trigger
- 2Search for 'Control' in the connector list
- 3Select 'Condition' from the actions
- 4Click in the left value box to open dynamic content
Condition > Choose a value > Dynamic content > Text
Configure keyword detection logic
In the condition's left value field, select 'Text' from the dynamic content panel under the Slack section. Change the operator from 'is equal to' to 'contains'. In the right value field, type your trigger keyword like 'create card' or 'action item'. You can add multiple conditions using 'Add' to check for different keywords or reaction emojis.
- 1Click the left 'Choose a value' field
- 2Select 'Text' from Slack dynamic content
- 3Change operator dropdown to 'contains'
- 4Type 'create card' in the right value field
- 5Click 'Add' to include additional keyword checks
Condition Yes > Add an action > Trello > Create a card
Connect to Trello
In the 'Yes' branch of your condition, click 'Add an action' and search for 'Trello'. Select 'Create a card' from the Trello actions list. Click 'Sign in' to connect your Trello account. Power Automate redirects to Trello where you'll authorize access to your boards and cards. The authentication process includes selecting which Trello workspace to connect.
- 1Click 'Add an action' in the Yes branch
- 2Search for and select 'Trello'
- 3Choose 'Create a card' action
- 4Click 'Sign in' for Trello connection
- 5Authorize Power Automate in the Trello popup
Create a card > Board > List
Select target board and list
Choose your destination Trello board from the Board dropdown. All boards you have access to appear in this list, including shared boards. After selecting a board, the List dropdown populates with that board's lists. Choose the list where new cards should appear, typically 'To Do', 'Backlog', or 'Incoming Requests' depending on your board structure.
- 1Select target board from Board dropdown
- 2Wait for List dropdown to populate
- 3Choose the destination list (e.g., 'To Do')
- 4Verify the correct board and list are selected
Create a card > Name > Dynamic content
Map message content to card fields
Configure the card creation fields using Slack message data. Click in the Name field and select dynamic content to build a card title. Use a combination of the channel name and timestamp, or extract the first few words from the message text. For the Description field, include the full message text, author name, and a link back to the original Slack message for context.
- 1Click in the Name field
- 2Select 'Channel' and 'Timestamp' from dynamic content
- 3Format as 'Action from #[Channel] - [Timestamp]'
- 4Click in Description field
- 5Add 'Text', 'User', and 'Permalink' from Slack data
Insert new step > Trello > Get cards in a list
Add duplicate prevention logic
Above the Trello action, add another step to check for existing cards. Click 'Insert a new step' between the condition and Trello action. Search for 'Trello' and select 'Get cards in a list'. Configure it to search your target list, then add another condition to check if a card with the same Slack message timestamp already exists. This prevents duplicate cards from the same message.
- 1Click 'Insert a new step' before the Trello action
- 2Search for 'Trello' and select 'Get cards in a list'
- 3Select the same board and list as your create action
- 4Add another condition to check for existing timestamps
- 5Move the create card action inside the new condition's 'No' branch
Save > Test > Manually
Test and activate the flow
Click 'Save' in the top right to save your flow configuration. Then click 'Test' and choose 'Manually' to test with a real Slack message. Go to your configured Slack channel and post a message containing your trigger keyword. Return to Power Automate within 2-3 minutes to see the test results and verify the Trello card was created correctly.
- 1Click 'Save' in the top toolbar
- 2Click 'Test' next to the Save button
- 3Select 'Manually' test option
- 4Post a test message in your Slack channel
- 5Check the flow run history for results
Add this expression in a Compose step before the Trello action to clean message formatting and extract the first 50 characters for the card title. Paste this in the Compose action's Inputs field.
JavaScript β Code Step{βΈ Show code
{
"cleanTitle": "@{take(replace(replace(triggerOutputs()?['body/text'], '<[^>]*>', ''), ' ', ' '), 50)}",
"fullDescription": "@{triggerOutputs()?['body/text']}\n\nPosted by: @{triggerOutputs()?['body/user']}\nChannel: #@{triggerOutputs()?['body/channel']}\nOriginal: @{triggerOutputs()?['body/permalink']}",... expand to see full code
{
"cleanTitle": "@{take(replace(replace(triggerOutputs()?['body/text'], '<[^>]*>', ''), ' ', ' '), 50)}",
"fullDescription": "@{triggerOutputs()?['body/text']}\n\nPosted by: @{triggerOutputs()?['body/user']}\nChannel: #@{triggerOutputs()?['body/channel']}\nOriginal: @{triggerOutputs()?['body/permalink']}",
"priorityLevel": "@{if(contains(triggerOutputs()?['body/text'], 'urgent'), 'high', 'normal')}"
}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 Power Automate for this if you're already in the Microsoft ecosystem and need simple keyword-based triggers. The native Office 365 integration means no additional authentication headaches, and the condition logic handles basic filtering without custom code. Skip Power Automate if you need complex message parsing or want to trigger on emoji reactions - Zapier handles Slack's reaction events much better.
This workflow costs about $0.02 per card created through the standard connectors. At 200 cards per month, you're looking at $4 total. Zapier charges $0.01 per task for the same volume but requires a paid plan at $19.99/month minimum, making Power Automate cheaper until you hit 1,000+ cards monthly. Make.com handles this volume free on their starter plan.
Zapier beats Power Automate on Slack trigger options - they support emoji reactions, thread replies, and mention detection out of the box. Make.com offers better message parsing with built-in regex and text manipulation functions. N8n gives you full JavaScript access for complex filtering logic. Pipedream's event handling is faster with sub-60-second triggers. But Power Automate wins on simplicity - the condition builder handles most filtering needs without coding, and the Trello integration includes automatic board discovery.
You'll hit Slack's API rate limits faster than expected if multiple people use trigger keywords frequently. Power Automate doesn't batch requests, so 50 messages in 5 minutes can cause temporary failures. The timestamp-based duplicate detection breaks if your Slack workspace changes time zones. Message formatting gets messy - Slack's rich text becomes HTML that Trello displays literally unless you add expression formulas to clean it up.
Ideas for what to build next
- βAdd reaction-based triggers β Modify the flow to trigger on specific emoji reactions instead of keywords. Use the 'When a reaction is added' Slack trigger for more precise control.
- βCreate reverse sync for updates β Build a companion flow that updates Slack when Trello cards move between lists or get completed. Helps keep both tools in sync.
- βAdd automatic assignment logic β Use Slack user mappings to automatically assign Trello cards to board members based on who posted the original message or mentioned users.
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