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

How to Process Bug Reports from Slack to Trello with Power Automate

Automatically convert Slack messages with bug reports or feature requests into properly formatted Trello cards with labels and assignments.

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

Best for

Teams that track bugs and feature requests in Trello but discuss them in Slack channels

Not ideal for

Teams needing complex issue tracking workflows or those already using dedicated bug tracking tools

Sync type

real-time

Use case type

routing

Real-World Example

πŸ’‘

A 12-person product team uses this to capture bug reports from their #product-feedback Slack channel. When someone posts a message with πŸ› emoji or πŸ’‘ for features, it creates a Trello card in their Bug Triage board with the right labels and assigns it to the product manager. Before automation, they lost 30% of customer feedback in chat history.

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.

Admin access to Power Automate with Microsoft 365 Business license or higher
Slack workspace admin permissions or ability to install Power Automate app
Trello board admin or write access to create cards and modify board settings
Pre-existing Trello labels for Bug, Feature Request, or similar categorization

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Card Title
Card Description
Reporter Name
5 optional fieldsβ–Έ show
Source Channel
Issue Type Label
Assigned Member
Due Date
Message Timestamp

Step-by-Step Setup

1

My flows > + New flow > Automated cloud flow

Create automated cloud flow

Go to make.powerautomate.com and sign in with your Microsoft account. Click 'My flows' in the left sidebar, then '+ New flow' in the top toolbar. Select 'Automated cloud flow' from the dropdown menu. Name your flow 'Bug Report Processor' and search for 'Slack' in the trigger selector.

  1. 1Click 'My flows' in the left navigation
  2. 2Click '+ New flow' button
  3. 3Select 'Automated cloud flow'
  4. 4Type 'Bug Report Processor' as flow name
  5. 5Search 'Slack' in trigger box
βœ“ What you should see: You should see the Slack connector options with trigger events listed below the search box.
⚠
Common mistake β€” Don't select 'Instant cloud flow' - you need the automated trigger for Slack events.
2

Slack connector > When a message is posted to a channel

Configure Slack message trigger

Select 'When a message is posted to a channel' from the Slack triggers. You'll be prompted to sign in to Slack if you haven't connected before. After authentication, choose your workspace and select the channel where bug reports are posted. Set the trigger to fire on all messages in that channel.

  1. 1Click 'When a message is posted to a channel'
  2. 2Sign in to Slack when prompted
  3. 3Select your workspace from dropdown
  4. 4Choose the target channel (e.g., #product-feedback)
  5. 5Leave 'Include subtype' unchecked
βœ“ What you should see: The trigger shows your selected channel name and displays 'Connected to Slack' status.
⚠
Common mistake β€” Private channels won't appear unless you've added the Power Automate bot to them first.
Power Automate
+
click +
search apps
Slack
SL
Slack
Configure Slack message trig…
Slack
SL
module added
3

Actions > Control > Condition

Add message filtering condition

Click '+ New step' and search for 'Condition' in the actions. Add a condition to filter messages containing bug report indicators like emoji or keywords. Set the condition to check if the message text contains 'πŸ›' OR 'bug' OR 'πŸ’‘' OR 'feature request'. This prevents every chat message from creating Trello cards.

  1. 1Click '+ New step' below the trigger
  2. 2Search 'condition' and select it
  3. 3Click in the left value box
  4. 4Select 'Text' from dynamic content
  5. 5Set operator to 'contains'
  6. 6Enter 'πŸ›' in right value box
βœ“ What you should see: The condition block appears with 'Yes' and 'No' branches below it.
⚠
Common mistake β€” Use the exact emoji characters - copying from Slack ensures they match properly.
Slack
SL
trigger
filter
Condition
matches criteria?
yes β€” passes through
no β€” skipped
Trello
TR
notified
4

Condition > Yes branch > Add an action > Trello > Create a card

Set up Trello connection

In the 'Yes' branch of the condition, click 'Add an action' and search for 'Trello'. Select 'Create a card' from the Trello actions. You'll need to authenticate with Trello and grant permissions to Power Automate. After connecting, select your target board and list where bug reports should be created.

  1. 1Click 'Add an action' in the Yes branch
  2. 2Search 'trello' and select the connector
  3. 3Click 'Create a card'
  4. 4Sign in to Trello when prompted
  5. 5Select your bug tracking board
  6. 6Choose the appropriate list (e.g., 'New Issues')
βœ“ What you should see: Trello card form appears with Board and List already populated from your selections.
⚠
Common mistake β€” You need admin or write access to the Trello board - member access won't work.
5

Trello card > Name field > Dynamic content

Map Slack message to card title

Click in the 'Name' field for the Trello card. From the dynamic content panel, select 'Text' to use the Slack message content as the card title. If messages are long, you can add an expression to truncate them. Use substring(triggerBody()?['text'], 0, 100) to limit titles to 100 characters.

  1. 1Click in the 'Name' field
  2. 2Select 'Text' from dynamic content panel
  3. 3Alternatively, click 'Expression' tab
  4. 4Enter truncation formula if needed
  5. 5Click 'OK' to confirm
βœ“ What you should see: The Name field shows 'Text' or your expression formula in a blue dynamic content box.
⚠
Common mistake β€” Trello card titles over 16,384 characters will cause the flow to fail.
Slack fields
text
user
channel
ts
thread_ts
available as variables:
1.props.text
1.props.user
1.props.channel
1.props.ts
1.props.thread_ts
6

Trello card > Description field

Add message details to description

In the 'Description' field, build a formatted description using dynamic content from Slack. Include the original message, who posted it, timestamp, and channel name. Use expressions to format the timestamp into a readable date. Add line breaks with HTML tags since Trello supports basic formatting.

  1. 1Click in the Description field
  2. 2Type 'Reported by: ' then select 'User name'
  3. 3Press Enter and type 'Channel: #' then select 'Channel'
  4. 4Press Enter and type 'Time: ' then select 'Timestamp'
  5. 5Press Enter twice and select 'Text' for full message
βœ“ What you should see: Description field contains a mix of static text and blue dynamic content boxes.
⚠
Common mistake β€” Map fields using the variable picker β€” don't type field names manually. Hand-typed variable names often have invisible spacing errors that produce blank output.

Use this expression in the card title field to automatically prefix bug reports vs feature requests and truncate long messages to keep Trello cards readable.

JavaScript β€” Code Stepif(
β–Έ Show code
if(
  contains(triggerBody()?['text'], 'πŸ›'),
  concat('[BUG] ', substring(triggerBody()?['text'], 0, 80)),

... expand to see full code

if(
  contains(triggerBody()?['text'], 'πŸ›'),
  concat('[BUG] ', substring(triggerBody()?['text'], 0, 80)),
  if(
    contains(triggerBody()?['text'], 'πŸ’‘'),
    concat('[FEATURE] ', substring(triggerBody()?['text'], 0, 75)),
    substring(triggerBody()?['text'], 0, 100)
  )
)
message template
πŸ”” New Record: {{text}} {{user}}
channel: {{channel}}
ts: {{ts}}
#sales
πŸ”” New Record: Jane Smith
Company: Acme Corp
7

Trello card > Labels field

Configure automatic labeling

Scroll down to find the 'Labels' field in the Trello card action. You can set static labels or use conditions to apply different labels based on message content. Create a nested condition within this action to check if the message contains 'πŸ›' and apply a 'Bug' label, or if it contains 'πŸ’‘' apply a 'Feature Request' label.

  1. 1Scroll to Labels field
  2. 2Click 'Add new item' if multiple labels needed
  3. 3Enter label name like 'Bug Report'
  4. 4Add another item for 'Feature Request'
  5. 5Use existing labels from your Trello board
βœ“ What you should see: Labels field shows your selected label names, which must match existing board labels exactly.
⚠
Common mistake β€” Label names are case-sensitive and must match existing labels on your Trello board exactly.
8

Trello card > Members field

Set up team member assignment

In the 'Members' field, you can assign cards to specific team members. Use Trello member IDs or email addresses. For dynamic assignment, add another condition to check message content for @mentions and assign accordingly. You can also set a default assignee like the product manager for all incoming reports.

  1. 1Click in the Members field
  2. 2Enter email address of default assignee
  3. 3Or select from Trello board members
  4. 4Click 'Add new item' for multiple assignees
  5. 5Save member configuration
βœ“ What you should see: Members field displays the email or name of assigned team members.
⚠
Common mistake β€” Assigned members must already be part of the Trello board or the assignment will be ignored.
9

Trello card > Due Date field > Expression

Add due date calculation

For the 'Due Date' field, use an expression to set automatic due dates based on issue type. Bug reports might need 3-day due dates while feature requests get 2 weeks. Use addDays(utcNow(), 3) for bug reports or create conditional logic to vary due dates by label type.

  1. 1Click in Due Date field
  2. 2Select 'Expression' tab
  3. 3Enter 'addDays(utcNow(), 3)' for 3-day deadline
  4. 4Or use conditional formula for variable dates
  5. 5Click 'OK' to apply expression
βœ“ What you should see: Due Date field shows your expression formula in a blue box.
10

Top toolbar > Save > Test

Test and save the flow

Click 'Save' in the top toolbar to save your flow. Then click 'Test' to run a test with sample data. Post a test message in your Slack channel with the appropriate emoji or keywords. Check that a Trello card appears with all the correct fields populated. Review the flow run history to debug any failures.

  1. 1Click 'Save' button in top toolbar
  2. 2Click 'Test' dropdown
  3. 3Select 'Manually'
  4. 4Post test message in Slack channel
  5. 5Check Trello board for new card
  6. 6Review run history for errors
βœ“ What you should see: Flow shows 'Succeeded' status and a new Trello card appears with all mapped fields populated correctly.
⚠
Common mistake β€” Test messages will create real Trello cards - use a test board or delete them after testing.
Power Automate
β–Ά Test flow
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 Power Automate for this if your team already lives in Microsoft 365 and wants bug tracking without switching platforms. The Slack webhook triggers fire within 30 seconds and the Trello integration handles complex field mapping better than Zapier's limited card customization. Skip it if you need advanced conditional logic - Make handles complex message parsing much better.

Cost

At 200 bug reports per month, you'll use 200 flow runs monthly. Power Automate includes 2,000 runs free with most business plans, so this costs nothing extra. Zapier charges $20/month for the same volume, and Make starts at $10 but limits you to 1,000 operations. Power Automate wins on cost if you're already paying for Office 365.

Tradeoffs

Make handles complex text parsing better with built-in regex and string manipulation tools. Zapier's Formatter can extract data from messages more reliably than Power Automate's basic expressions. n8n gives you full JavaScript control for advanced message filtering. Pipedream excels at handling Slack's complex webhook payloads with proper async handling. But Power Automate integrates seamlessly with Microsoft Teams if you want notifications there too.

You'll hit Trello's API rate limits at scale - they allow 300 requests per 10 seconds per token. Long Slack messages break Trello's 16,384 character limit for card descriptions, causing silent failures. Power Automate's expression syntax gets unwieldy for complex string manipulation compared to real code in other platforms.

Ideas for what to build next

  • β†’
    Add priority detection β€” Extend the workflow to detect urgent keywords like 'critical' or 'production down' and automatically set high priority labels or shorter due dates.
  • β†’
    Create status updates flow β€” Build a reverse flow that posts Slack updates when Trello cards move between lists, keeping the team informed of bug fix progress.
  • β†’
    Implement duplicate detection β€” Add logic to search existing Trello cards for similar titles before creating new ones, helping prevent duplicate bug reports.

Related guides

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