

How to Create Jira Issues from Slack Messages with Power Automate
Convert Slack messages into Jira tickets automatically using slash commands or emoji reactions with instant webhook triggers.
Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.
Jira Cloud for Slack exists as a native integration, but it handles basic notifications but no conditional routing. This guide uses an automation platform for full control. View native option →
Best for
Microsoft shops where dev teams live in Slack but need issues tracked in Jira without context switching.
Not ideal for
Teams that need complex issue routing logic or custom field validation before ticket creation.
Sync type
real-timeUse case type
routingReal-World Example
A 25-person development team uses this to convert urgent Slack messages in #bugs into Jira issues instantly. Before automation, developers lost 15 minutes per bug report switching between tools and manually copying context. Now they react with 🐛 emoji and get a formatted ticket in 30 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 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 | ||
| Issue Summary | summary | |
| Issue Description | description | |
| Project Key | project.key | |
| Issue Type | issuetype.name | |
4 optional fields▸ show
| Priority Level | priority.name |
| Reporter | reporter.accountId |
| Message Author | |
| Channel Name |
Step-by-Step Setup
My flows > New flow > Automated cloud flow
Create new 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' at the top. Select 'Automated cloud flow' from the dropdown. Name your flow 'Slack to Jira Issue Creator' and leave the trigger selection for the next step.
- 1Click 'My flows' in the left navigation
- 2Click the 'New flow' button
- 3Select 'Automated cloud flow'
- 4Enter 'Slack to Jira Issue Creator' as the flow name
- 5Click 'Create' without selecting a trigger
Trigger box > Search connectors > Slack
Add Slack reaction trigger
Click the trigger box and search for 'Slack' in the connector search. Select 'When a reaction is added to a message' trigger. This fires instantly when someone adds any emoji reaction to a message. You'll need to authenticate with your Slack workspace admin account or get permission to install the Power Automate app.
- 1Click the empty trigger box
- 2Type 'Slack' in the search bar
- 3Select 'When a reaction is added to a message'
- 4Click 'Sign in' to authenticate with Slack
- 5Authorize Power Automate in your Slack workspace
Slack trigger > Configuration fields
Configure reaction trigger settings
Select your Slack team from the Team dropdown. Choose the specific channel where you want to monitor reactions, like #bugs or #support. Leave Reaction Name empty to trigger on any emoji, or enter 'bug' to only trigger on the 🐛 emoji. The trigger will fire within 30 seconds of someone adding the reaction.
- 1Select your workspace from the Team dropdown
- 2Choose the target channel from Channel dropdown
- 3Leave Reaction Name blank for any emoji
- 4Or enter specific emoji name like 'bug' or 'ticket'
- 5Click outside the fields to save settings
New step > Control > Condition
Add condition to filter reactions
Click 'New step' below the trigger. Search for 'Condition' in the actions list and select it. This prevents creating Jira issues for every reaction. Set the condition to check if the reaction name equals your target emoji. Use the dynamic content picker to select 'name' from the Slack trigger outputs.
- 1Click 'New step' under the Slack trigger
- 2Search for 'Condition' and select it
- 3Click the left value box and select 'name' from dynamic content
- 4Set the operator to 'is equal to'
- 5Enter your target emoji name like 'bug' in the right value box
If yes branch > Add an action > Slack > Get message
Get original message details
Inside the 'If yes' branch, click 'Add an action'. Search for Slack again and select 'Get message' action. This retrieves the full message content that was reacted to. Set Channel to the same channel as your trigger, and use dynamic content to set Message Timestamp to the 'ts' value from the trigger.
- 1Click 'Add an action' inside the 'If yes' branch
- 2Search for 'Slack' and select 'Get message'
- 3Set Channel to match your trigger channel
- 4Click Message Timestamp field and select 'ts' from dynamic content
- 5Leave other fields at defaults
Add an action > Search Jira > Create a new issue
Connect to Jira
Click 'Add an action' below the Get message step. Search for 'Jira' and select 'Create a new issue' action. You'll need to authenticate with a Jira account that has issue creation permissions in your target project. Use Jira Cloud credentials, not Server, unless you're running on-premise.
- 1Click 'Add an action' below the Get message step
- 2Type 'Jira' in the connector search
- 3Select 'Create a new issue (V2)' action
- 4Click 'Sign in' for Jira authentication
- 5Enter your Jira Cloud email and API token
Jira action > Issue configuration fields
Configure Jira issue creation
Fill in the Jira issue fields using a mix of static values and dynamic content from Slack. Set Project Key to your target project like 'DEV' or 'BUG'. Choose Issue Type as 'Bug' or 'Task'. For Summary, combine static text with the Slack message: 'Slack Report: ' + dynamic 'text' field. This creates descriptive issue titles.
- 1Enter your project key in the Project Key field
- 2Select 'Bug' or 'Task' from Issue Type dropdown
- 3Click Summary field and type 'Slack Report: '
- 4Add dynamic 'text' content from Get message
- 5Leave other required fields for the next step
Jira action > Description and metadata fields
Map description and metadata
In the Description field, build a detailed issue description using multiple dynamic values. Include the original message text, the user who posted it, the channel name, and a link back to Slack. Use the expression builder to format the timestamp and create the Slack permalink. Set Priority based on your team's default or make it configurable later.
- 1Click Description field and add 'Original message:' as static text
- 2Add dynamic 'text' content from Get message
- 3Add line breaks and 'Posted by:' with dynamic 'user' content
- 4Include 'Channel:' with dynamic channel name
- 5Set Priority to 'Medium' or your default
- 6Add any custom fields your project requires
Use this expression in the Jira description field to create properly formatted issue descriptions with Slack context and direct links back to the original conversation.
JavaScript — Code Stepconcat(▸ Show code
concat(
'Original Slack Message:\n',
outputs('Get_message')?['body/text'],... expand to see full code
concat(
'Original Slack Message:\n',
outputs('Get_message')?['body/text'],
'\n\nPosted by: ',
outputs('Get_message')?['body/user'],
'\nChannel: #',
triggerOutputs()?['body/item/channel'],
'\nTimestamp: ',
formatDateTime(outputs('Get_message')?['body/ts'], 'yyyy-MM-dd HH:mm'),
'\n\nSlack Thread: https://',
triggerOutputs()?['body/team/domain'],
'.slack.com/archives/',
triggerOutputs()?['body/item/channel'],
'/p',
replace(outputs('Get_message')?['body/ts'], '.', '')
)Add an action > Slack > Post message
Add Slack notification response
Click 'Add an action' after the Jira step to confirm issue creation back in Slack. Search for Slack and select 'Post message' action. Set it to post in the same channel as the original message. Include the new Jira issue key in your response so team members can click directly to the ticket.
- 1Click 'Add an action' below the Jira create issue step
- 2Search for 'Slack' and select 'Post message'
- 3Set Channel to match your original trigger channel
- 4Enter message text like 'Created Jira issue: '
- 5Add dynamic 'key' content from the Jira create issue action
Top toolbar > Save > Test > Manually
Test and save the flow
Click 'Save' at the top right to save your flow. Then click 'Test' and choose 'Manually' to test with real data. Go to your Slack channel and add your target emoji reaction to any message. Check that the flow runs successfully and creates the expected Jira issue within 60 seconds. Monitor the run history for any failures.
- 1Click 'Save' in the top right corner
- 2Click 'Test' next to the Save button
- 3Select 'Manually' for the test trigger
- 4Go to Slack and react to a test message
- 5Return to Power Automate to view the test run results
- 6Check Jira to confirm the issue was created
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 your team lives in Microsoft 365 and needs tight integration with other Office apps. The built-in approval workflows and SharePoint connections make it easy to add issue routing or documentation steps. The authentication is seamless if you're already using Azure AD. Skip Power Automate if you need complex conditional logic or custom field transformations - Make handles those scenarios better with less clicking.
This costs 2 flow runs per issue: one for the reaction trigger, one for the Jira creation. At 100 issues per month, that's 200 runs total. Power Automate includes 750 runs/month in most Microsoft 365 plans, so you're covered. Zapier would cost $20/month for the same volume on their Starter plan. Make gives you 1,000 operations free, making it cheaper for low-volume teams.
Make beats Power Automate on conditional logic - their visual router handles complex emoji-to-issue-type mapping in one step versus multiple nested conditions here. Zapier wins on Slack trigger reliability, firing within 15 seconds versus Power Automate's 30-60 second delay. n8n gives you full JavaScript control for custom Slack message parsing. Pipedream handles thread replies natively with their Slack SDK. But Power Automate wins if you want built-in approval workflows or need to attach SharePoint files to Jira issues automatically.
You'll hit emoji name mismatches first - Slack uses 'thumbsup' while most people expect 'thumbs_up', causing condition failures. The Jira API token expires every 180 days and flows fail silently until you regenerate it. Power Automate's Slack trigger occasionally misses reactions during high activity periods, so build a manual fallback process for critical issues. The flow designer gets slow with complex expressions, making debugging frustrating compared to text-based tools.
Ideas for what to build next
- →Add issue assignment logic — Route issues to specific Jira assignees based on Slack channel or message keywords using additional conditions and user mapping.
- →Create status sync back to Slack — Build a reverse flow that posts Slack updates when Jira issues change status, keeping the conversation informed of progress.
- →Implement slash commands — Add a second flow triggered by Slack slash commands for more controlled issue creation with custom fields and validation.
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