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

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

Use case type

routing

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

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

Slack workspace admin permissions to install the Power Automate app
Jira Cloud account with issue creation permissions in target project
Jira API token generated from id.atlassian.com Security settings
Microsoft 365 or Power Platform license that includes Power Automate

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Issue Summarysummary
Issue Descriptiondescription
Project Keyproject.key
Issue Typeissuetype.name
4 optional fields▸ show
Priority Levelpriority.name
Reporterreporter.accountId
Message Author
Channel Name

Step-by-Step Setup

1

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.

  1. 1Click 'My flows' in the left navigation
  2. 2Click the 'New flow' button
  3. 3Select 'Automated cloud flow'
  4. 4Enter 'Slack to Jira Issue Creator' as the flow name
  5. 5Click 'Create' without selecting a trigger
What you should see: You should see the flow designer with an empty trigger box and 'Choose your flow's trigger' prompt.
2

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.

  1. 1Click the empty trigger box
  2. 2Type 'Slack' in the search bar
  3. 3Select 'When a reaction is added to a message'
  4. 4Click 'Sign in' to authenticate with Slack
  5. 5Authorize Power Automate in your Slack workspace
What you should see: You should see 'Slack' with a green checkmark and dropdown fields for Team and Channel configuration.
Common mistake — The Slack app needs to be installed in your workspace. If you see authentication errors, ask your Slack admin to approve the Power Automate integration first.
Power Automate
+
click +
search apps
Slack
SL
Slack
Add Slack reaction trigger
Slack
SL
module added
3

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.

  1. 1Select your workspace from the Team dropdown
  2. 2Choose the target channel from Channel dropdown
  3. 3Leave Reaction Name blank for any emoji
  4. 4Or enter specific emoji name like 'bug' or 'ticket'
  5. 5Click outside the fields to save settings
What you should see: The trigger shows your selected team and channel names with a 'When a reaction is added' summary.
4

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.

  1. 1Click 'New step' under the Slack trigger
  2. 2Search for 'Condition' and select it
  3. 3Click the left value box and select 'name' from dynamic content
  4. 4Set the operator to 'is equal to'
  5. 5Enter your target emoji name like 'bug' in the right value box
What you should see: You should see a condition box with 'If yes' and 'If no' branches, with your emoji check configured.
Common mistake — Emoji names in Slack are without colons - use 'bug' not ':bug:' or you'll get false negatives on every reaction.
Slack
SL
trigger
filter
Condition
matches criteria?
yes — passes through
no — skipped
Jira
JI
notified
5

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.

  1. 1Click 'Add an action' inside the 'If yes' branch
  2. 2Search for 'Slack' and select 'Get message'
  3. 3Set Channel to match your trigger channel
  4. 4Click Message Timestamp field and select 'ts' from dynamic content
  5. 5Leave other fields at defaults
What you should see: The Get message action shows your channel selection and 'ts' dynamic content in the timestamp field.
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.
6

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.

  1. 1Click 'Add an action' below the Get message step
  2. 2Type 'Jira' in the connector search
  3. 3Select 'Create a new issue (V2)' action
  4. 4Click 'Sign in' for Jira authentication
  5. 5Enter your Jira Cloud email and API token
What you should see: Jira connector shows 'Connected' status and displays Project Key, Issue Type, and Summary field inputs.
Common mistake — Use an API token, not your password. Generate one at id.atlassian.com under Security > API tokens or authentication will fail.
7

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.

  1. 1Enter your project key in the Project Key field
  2. 2Select 'Bug' or 'Task' from Issue Type dropdown
  3. 3Click Summary field and type 'Slack Report: '
  4. 4Add dynamic 'text' content from Get message
  5. 5Leave other required fields for the next step
What you should see: Summary field shows 'Slack Report: ' followed by the dynamic text content token from your Slack message.
Common mistake — Project keys are case-sensitive. Check your Jira project settings if you get 'project not found' errors during testing.
8

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.

  1. 1Click Description field and add 'Original message:' as static text
  2. 2Add dynamic 'text' content from Get message
  3. 3Add line breaks and 'Posted by:' with dynamic 'user' content
  4. 4Include 'Channel:' with dynamic channel name
  5. 5Set Priority to 'Medium' or your default
  6. 6Add any custom fields your project requires
What you should see: Description field contains a formatted template mixing static labels with dynamic Slack content.

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'], '.', '')
)
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
9

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.

  1. 1Click 'Add an action' below the Jira create issue step
  2. 2Search for 'Slack' and select 'Post message'
  3. 3Set Channel to match your original trigger channel
  4. 4Enter message text like 'Created Jira issue: '
  5. 5Add dynamic 'key' content from the Jira create issue action
What you should see: Post message action shows your channel and a message template including the dynamic Jira issue key.
Common mistake — The Jira 'key' field contains the full issue identifier like 'DEV-123', not just the number - perfect for direct linking.
10

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.

  1. 1Click 'Save' in the top right corner
  2. 2Click 'Test' next to the Save button
  3. 3Select 'Manually' for the test trigger
  4. 4Go to Slack and react to a test message
  5. 5Return to Power Automate to view the test run results
  6. 6Check Jira to confirm the issue was created
What you should see: Flow shows 'Your flow ran successfully' with green checkmarks on all steps, and you see a new Jira issue.
Common mistake — Test messages create real Jira issues. Use a test project or delete the test issues afterward to avoid cluttering your backlog.
Power Automate
▶ Test flow
executed
Slack
Jira
Jira
🔔 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 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.

Cost

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.

Tradeoffs

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 logicRoute issues to specific Jira assignees based on Slack channel or message keywords using additional conditions and user mapping.
  • Create status sync back to SlackBuild a reverse flow that posts Slack updates when Jira issues change status, keeping the conversation informed of progress.
  • Implement slash commandsAdd a second flow triggered by Slack slash commands for more controlled issue creation with custom fields and validation.

Related guides

Was this guide helpful?
Slack + Jira overviewPower Automate profile →