

How to Send Jira Updates to Slack Channels with Pipedream
Automatically post Jira issue status changes, assignments, and comments to specific Slack channels when tickets update.
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
Development teams needing instant Slack notifications when Jira tickets change status or get assigned.
Not ideal for
Teams wanting digest summaries or complex approval workflows should use scheduled automation instead.
Sync type
real-timeUse case type
notificationReal-World Example
A 12-person development team uses this to notify #sprint-updates whenever tickets move to In Progress or Done status. Before automation, developers manually checked Jira 6-8 times per day and missed blocked tickets for hours. Now status changes hit Slack within 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 Pipedream
Copy the pre-built Pipedream blueprint and paste it straight into Pipedream. 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 Key | issue.key | |
| Issue Summary | issue.fields.summary | |
| Status Change | changelog.items[].toString | |
| Project Key | issue.fields.project.key | |
4 optional fields▸ show
| Assignee Name | issue.fields.assignee.displayName |
| Priority Level | issue.fields.priority.name |
| Issue Type | issue.fields.issuetype.name |
| Reporter | issue.fields.reporter.displayName |
Step-by-Step Setup
Workflows > New
Create new Pipedream workflow
Go to pipedream.com and click Workflows in the left sidebar. Click the green New button in the top right corner. You'll land on the workflow builder with an empty trigger step. Click the trigger step to configure it.
- 1Click Workflows in the left navigation
- 2Click the green New button
- 3Click the empty trigger step labeled 'Select a trigger'
Trigger > Search Apps > Jira
Add Jira webhook source
Search for 'Jira' in the app search box. Select 'Jira (Developer)' from the results. Choose 'New Issue Event (Instant)' as your trigger. This creates a webhook endpoint that Jira will call when issues change.
- 1Type 'Jira' in the search box
- 2Click 'Jira (Developer)' from the dropdown
- 3Select 'New Issue Event (Instant)' trigger
- 4Click Continue
Trigger Configuration > Connect Account
Connect Jira account
Click 'Connect Account' to authenticate with Jira. Enter your Jira domain (yourcompany.atlassian.net), email, and API token. Generate an API token from Jira Account Settings > Security > API Tokens if you don't have one.
- 1Click the 'Connect Account' button
- 2Enter your Jira domain without https://
- 3Enter your Atlassian email address
- 4Paste your Jira API token
- 5Click Save
Jira Settings > System > Webhooks
Configure Jira webhook in Atlassian
Switch to your Jira instance. Go to Settings (gear icon) > System > Webhooks. Click Create a WebHook. Paste the Pipedream webhook URL and select which events to track - typically Issue Updated and Issue Assigned.
- 1Click the Settings gear icon in Jira
- 2Navigate to System > Webhooks
- 3Click 'Create a WebHook'
- 4Paste the Pipedream webhook URL
- 5Check 'Issue Updated' and 'Issue Assigned' events
- 6Click Create
Pipedream Trigger > Test
Test the Jira trigger
Return to Pipedream and click 'Test' on your trigger step. Go to Jira and update any ticket - change status, add a comment, or reassign it. Within 30 seconds, you should see the webhook data appear in Pipedream's test section.
- 1Click 'Test' in the Pipedream trigger step
- 2Switch to Jira and edit any ticket
- 3Change the status or add a comment
- 4Wait 30 seconds and refresh Pipedream
- 5Confirm webhook data appears
Workflow > Add Step > Slack
Add Slack step
Click the + button below your trigger to add a new step. Search for 'Slack' and select it. Choose 'Send Message to Channel' as the action. This will post your formatted Jira updates directly to the specified channel.
- 1Click the + button below the trigger step
- 2Search for 'Slack' in the app list
- 3Select 'Slack' from the results
- 4Choose 'Send Message to Channel'
- 5Click Continue
Slack Step > Connect Account
Connect Slack workspace
Click 'Connect Account' in the Slack step. Authorize Pipedream to access your Slack workspace. You'll need permissions to post in the target channels. Select your workspace from the OAuth dialog and approve the permissions.
- 1Click 'Connect Account' in the Slack configuration
- 2Select your Slack workspace from the list
- 3Click 'Allow' to grant permissions
- 4Verify the connection shows as 'Connected'
Slack Configuration > Channel & Message
Configure channel and message
Select your target channel from the Channel dropdown. In the Text field, reference Jira data using {{ }} syntax. Use {{steps.trigger.event.issue.key}} for ticket number and {{steps.trigger.event.issue.fields.summary}} for title.
- 1Select target channel from the Channel dropdown
- 2Click in the Text field
- 3Add message template with Jira field references
- 4Include ticket URL and status information
Workflow > Add Step > Node.js
Add filtering logic
Click + to add a Node.js code step before Slack. Add conditional logic to filter which updates trigger notifications. Check for specific status changes or priority levels to reduce channel noise. Use $.flow.exit() to stop execution for unwanted events.
- 1Click + between trigger and Slack steps
- 2Select 'Run Node.js Code'
- 3Add filtering conditions in the code editor
- 4Test with different Jira update types
Workflow > Test
Test complete workflow
Click 'Test' on the entire workflow. Make changes to Jira tickets that match your filter criteria. Verify messages appear in your target Slack channel with proper formatting. Check that filtered events don't trigger notifications.
- 1Click 'Test' at the workflow level
- 2Update Jira tickets with different changes
- 3Verify Slack messages appear correctly
- 4Confirm filtering works as expected
- 5Click 'Deploy' when satisfied
This code step filters Jira events to only notify on status changes and high-priority updates. Paste it between your trigger and Slack steps to reduce channel noise.
JavaScript — Code Stepexport default defineComponent({▸ Show code
export default defineComponent({
async run({ steps, $ }) {
const event = steps.trigger.event;... expand to see full code
export default defineComponent({
async run({ steps, $ }) {
const event = steps.trigger.event;
const changelog = event.changelog;
// Only process status changes or priority updates
const relevantChanges = changelog.items.filter(item =>
['status', 'priority', 'assignee'].includes(item.field)
);
if (relevantChanges.length === 0) {
console.log('No relevant changes detected, skipping notification');
$.flow.exit('Filtered out: no status/priority/assignee changes');
}
// Skip automated system updates
if (event.user.accountType === 'atlassian') {
$.flow.exit('Filtered out: automated system update');
}
// Format the change message
const statusChange = relevantChanges.find(item => item.field === 'status');
const priorityChange = relevantChanges.find(item => item.field === 'priority');
let changeText = '';
if (statusChange) {
changeText += `${statusChange.fromString} → ${statusChange.toString}`;
}
if (priorityChange) {
changeText += ` (Priority: ${priorityChange.toString})`;
}
return {
shouldNotify: true,
changeDescription: changeText,
issueKey: event.issue.key,
issueSummary: event.issue.fields.summary,
assignee: event.issue.fields.assignee?.displayName || 'Unassigned'
};
}
});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 Pipedream for this if your team needs instant notifications with custom filtering logic. The Node.js code steps handle Jira's complex webhook payloads better than visual builders. Pipedream processes webhooks within seconds while polling-based platforms check every 15 minutes. Skip this for simple notifications - Zapier's Jira integration is cleaner for basic status changes without custom logic.
This costs 1 credit per Jira update. At 200 ticket changes per month, you'll spend $0 (free tier covers 10k credits). Zapier charges $20/month for the same volume on their Professional plan. Make costs $9/month at that volume. Pipedream wins on price until you hit 500+ updates daily.
Zapier's Jira trigger includes pre-formatted fields that skip the JSON parsing headache. Make's visual filters work better for non-developers who need project-based routing. n8n gives you more webhook debugging tools and better error handling for failed Slack posts. Power Automate integrates natively with Microsoft Teams if that's your chat platform. But Pipedream's instant webhook processing and flexible filtering make it ideal for development teams who need real-time updates with custom logic.
You'll hit Jira's webhook payload inconsistencies - custom fields use cryptic IDs like customfield_10023 instead of readable names. Slack rate limiting kicks in around 1 message per second, so high-activity projects will queue notifications. The webhook stops working if your Pipedream account hits credit limits, but Jira won't tell you - you'll just stop getting notifications until you check the logs.
Ideas for what to build next
- →Add issue creation notifications — Extend the workflow to notify when new tickets are created, not just updated.
- →Set up project-specific routing — Create conditional logic to send different project updates to different Slack channels.
- →Build comment notifications — Add a separate trigger for Jira comments to notify when tickets receive important updates.
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