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

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

Use case type

notification

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

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

Jira administrator permissions to create webhooks in your Atlassian instance
Slack workspace permissions to install apps and post to target channels
Jira API token generated from your Atlassian Account Settings
Access to Jira projects where you want to monitor ticket changes

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Issue Keyissue.key
Issue Summaryissue.fields.summary
Status Changechangelog.items[].toString
Project Keyissue.fields.project.key
4 optional fields▸ show
Assignee Nameissue.fields.assignee.displayName
Priority Levelissue.fields.priority.name
Issue Typeissue.fields.issuetype.name
Reporterissue.fields.reporter.displayName

Step-by-Step Setup

1

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.

  1. 1Click Workflows in the left navigation
  2. 2Click the green New button
  3. 3Click the empty trigger step labeled 'Select a trigger'
What you should see: You should see the trigger configuration panel open on the right side.
2

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.

  1. 1Type 'Jira' in the search box
  2. 2Click 'Jira (Developer)' from the dropdown
  3. 3Select 'New Issue Event (Instant)' trigger
  4. 4Click Continue
What you should see: You should see a webhook URL generated starting with https://eoxxx.m.pipedream.net/
Common mistake — Copy this webhook URL now - you'll need it for Jira configuration and it's hard to find later.
3

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.

  1. 1Click the 'Connect Account' button
  2. 2Enter your Jira domain without https://
  3. 3Enter your Atlassian email address
  4. 4Paste your Jira API token
  5. 5Click Save
What you should see: You should see 'Connected' with a green checkmark next to your Jira account.
Common mistake — API tokens expire if unused for 90+ days - document this for your team's maintenance schedule.
Pipedream settings
Connection
Choose a connection…Add
click Add
Slack
Log in to authorize
Authorize Pipedream
popup window
Connected
green checkmark
4

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.

  1. 1Click the Settings gear icon in Jira
  2. 2Navigate to System > Webhooks
  3. 3Click 'Create a WebHook'
  4. 4Paste the Pipedream webhook URL
  5. 5Check 'Issue Updated' and 'Issue Assigned' events
  6. 6Click Create
What you should see: You should see your new webhook listed in the Webhooks table with a green status indicator.
Common mistake — Only Jira admins can create webhooks - you'll need elevated permissions or help from your admin.
5

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.

  1. 1Click 'Test' in the Pipedream trigger step
  2. 2Switch to Jira and edit any ticket
  3. 3Change the status or add a comment
  4. 4Wait 30 seconds and refresh Pipedream
  5. 5Confirm webhook data appears
What you should see: You should see JSON data showing the issue key, fields, and change information in the test results.
Pipedream
▶ Deploy & test
executed
Slack
Jira
Jira
🔔 notification
received
6

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.

  1. 1Click the + button below the trigger step
  2. 2Search for 'Slack' in the app list
  3. 3Select 'Slack' from the results
  4. 4Choose 'Send Message to Channel'
  5. 5Click Continue
What you should see: You should see the Slack action step added to your workflow with configuration options on the right.
7

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.

  1. 1Click 'Connect Account' in the Slack configuration
  2. 2Select your Slack workspace from the list
  3. 3Click 'Allow' to grant permissions
  4. 4Verify the connection shows as 'Connected'
What you should see: You should see your Slack workspace name with a green 'Connected' status.
Common mistake — Pipedream needs chat:write scope - if your workspace restricts app permissions, contact your Slack admin first.
8

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.

  1. 1Select target channel from the Channel dropdown
  2. 2Click in the Text field
  3. 3Add message template with Jira field references
  4. 4Include ticket URL and status information
What you should see: You should see your channel selected and a message template with dynamic field references.
Common mistake — Private channels won't appear in the dropdown unless you invite the Pipedream app to them first.
9

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.

  1. 1Click + between trigger and Slack steps
  2. 2Select 'Run Node.js Code'
  3. 3Add filtering conditions in the code editor
  4. 4Test with different Jira update types
What you should see: You should see a code step that processes and filters Jira events before sending to Slack.
Common mistake — Filters are the most common place setups break. Double-check the field name and value exactly match what your app sends — a single capital letter difference will block everything.
Slack
SL
trigger
filter
Condition
matches criteria?
yes — passes through
no — skipped
Jira
JI
notified
10

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.

  1. 1Click 'Test' at the workflow level
  2. 2Update Jira tickets with different changes
  3. 3Verify Slack messages appear correctly
  4. 4Confirm filtering works as expected
  5. 5Click 'Deploy' when satisfied
What you should see: You should see formatted Jira updates appearing in your Slack channel within 30 seconds of ticket changes.
Common mistake — Test with multiple issue types and custom fields - Jira's webhook payload varies significantly between projects.

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

VerdictWhy n8n for this workflow

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.

Cost

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.

Tradeoffs

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 notificationsExtend the workflow to notify when new tickets are created, not just updated.
  • Set up project-specific routingCreate conditional logic to send different project updates to different Slack channels.
  • Build comment notificationsAdd a separate trigger for Jira comments to notify when tickets receive important updates.

Related guides

Was this guide helpful?
Slack + Jira overviewPipedream profile →