

How to Send Sprint Notifications from Jira to Slack with Pipedream
Automatically notify your Slack team when Jira sprints start, end, or have goal updates with burndown summaries and incomplete ticket counts.
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
Dev teams using Jira sprints who need automatic ceremony reminders and sprint status updates in Slack.
Not ideal for
Teams tracking projects in basic task tools without sprint concepts or formal agile processes.
Sync type
real-timeUse case type
notificationReal-World Example
A 12-person development team gets instant Slack notifications in #dev-team when their 2-week sprints start, end, or have goal changes. The message includes current burndown data and lists incomplete tickets. Before automation, the Scrum Master manually posted these updates and often forgot, causing missed standup prep.
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 | ||
| Sprint Name | sprint.name | |
| Sprint State | sprint.state | |
| Sprint Start Date | sprint.startDate | |
| Sprint End Date | sprint.endDate | |
| Board Name | sprint.originBoardId | |
| Event Type | webhookEvent | |
4 optional fields▸ show
| Sprint Goal | sprint.goal |
| Completed Story Points | completedPoints |
| Remaining Story Points | remainingPoints |
| Incomplete Issue Count | incompleteIssues.total |
Step-by-Step Setup
Pipedream > Workflows > New
Create New Pipedream Workflow
Log into pipedream.com and click New Workflow in the top right. Choose to start with a trigger source. You'll see a blank workflow canvas with a single trigger step. This will listen for Jira webhook events about sprint changes.
- 1Click 'New Workflow' in the dashboard
- 2Select 'HTTP / Webhook Requests' as your trigger source
- 3Copy the generated webhook URL from the trigger step
- 4Leave the HTTP method as POST
Workflow > Add Step > Apps > Jira
Configure Jira Webhook Connection
Add a new step after your trigger and select Jira. You'll authenticate using your Atlassian account credentials. Pipedream stores these securely and handles token refresh automatically. Choose the 'Custom Request' action since we're processing webhook data.
- 1Click the + button below your webhook trigger
- 2Search for and select 'Jira Software Cloud'
- 3Click 'Connect Account' and auth with Atlassian
- 4Choose 'Make a Custom API Request' action
Jira > Settings > System > Webhooks
Set Up Jira Webhook in Admin
In your Jira instance, go to System settings and create a new webhook pointing to your Pipedream URL. Select sprint-related events: sprint started, sprint closed, and sprint updated. This ensures you catch all ceremony timing changes and goal updates.
- 1Navigate to Jira Settings > System > WebHooks
- 2Click 'Create a WebHook'
- 3Paste your Pipedream webhook URL
- 4Select 'Sprint started', 'Sprint closed', and 'Sprint updated' events
- 5Click 'Create' to save the webhook
Workflow > Add Step > Apps > Slack
Add Slack Connection Step
Add another step and select Slack. Connect your workspace using OAuth - this gives Pipedream permission to post messages and read channel info. Choose the 'Send Message to Channel' action since you'll be posting sprint updates to a specific channel.
- 1Click + to add another step after Jira
- 2Search for and select 'Slack'
- 3Click 'Connect Account' and authorize your workspace
- 4Choose 'Send Message to Channel' action
- 5Select your target channel from the dropdown
Workflow > Add Step > Code > Node.js
Create Sprint Data Processing Code Step
Add a Node.js code step between Jira and Slack to parse the webhook payload and fetch additional sprint data. This step extracts sprint details, calculates burndown metrics, and formats the data for Slack. You'll use Jira's REST API to get incomplete issue counts.
- 1Click + between your Jira and Slack steps
- 2Select 'Code' then 'Run Node.js code'
- 3Name the step 'Process Sprint Data'
- 4Clear the default code and paste the processing logic
Add this Node.js code to your processing step to calculate sprint velocity trends and include team performance context in notifications. Paste this in the code step between Jira and Slack.
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 sprint = event.sprint;
// Fetch sprint issues for burndown calculation
const issuesResponse = await $.send.http({
method: 'GET',
url: `https://your-domain.atlassian.net/rest/agile/1.0/sprint/${sprint.id}/issue`,
headers: {
'Authorization': `Bearer ${auths.jira_software_cloud.oauth_access_token}`,
'Accept': 'application/json'
}
});
let completedPoints = 0;
let remainingPoints = 0;
let incompleteIssues = [];
issuesResponse.issues.forEach(issue => {
const storyPoints = issue.fields.customfield_10016 || 0;
if (issue.fields.status.statusCategory.key === 'done') {
completedPoints += storyPoints;
} else {
remainingPoints += storyPoints;
incompleteIssues.push({
key: issue.key,
summary: issue.fields.summary,
points: storyPoints
});
}
});
// Calculate burndown health
const totalPoints = completedPoints + remainingPoints;
const completionRate = totalPoints > 0 ? (completedPoints / totalPoints) * 100 : 0;
// Get sprint duration info
const startDate = new Date(sprint.startDate);
const endDate = new Date(sprint.endDate);
const sprintDays = Math.ceil((endDate - startDate) / (1000 * 60 * 60 * 24));
return {
sprintName: sprint.name,
sprintGoal: sprint.goal || 'No goal set',
startDate: startDate.toLocaleDateString(),
endDate: endDate.toLocaleDateString(),
sprintDays,
completedPoints,
remainingPoints,
totalPoints,
completionRate: Math.round(completionRate),
incompleteCount: incompleteIssues.length,
topIncompleteIssues: incompleteIssues.slice(0, 5),
eventType: event.webhookEvent,
burndownHealth: completionRate > 70 ? '🟢' : completionRate > 40 ? '🟡' : '🔴'
};
}
});Slack Step > Configuration > Message Text
Configure Message Field Mapping
In your Slack step, map the processed data from your code step to create rich sprint notifications. Use the dynamic field picker to reference sprint name, dates, and metrics. Format the message with Slack markdown for better readability including bullet points for incomplete tickets.
- 1Click in the 'Text' field of your Slack step
- 2Use the field picker to select data from your code step
- 3Format with Slack markdown: *bold*,
code, and bullet points - 4Add conditional text based on sprint event type
- 5Test the message preview
Code Step > Edit Code
Add Sprint Burndown Chart Logic
Enhance your code step to calculate remaining story points and compare against ideal burndown. Query Jira's sprint report API to get completion metrics. This requires additional API calls but provides the team with actionable sprint health data in each notification.
- 1Return to your Node.js code step
- 2Add burndown calculation functions
- 3Make API calls to Jira's sprint report endpoint
- 4Calculate story point completion percentage
- 5Format burndown summary for Slack
Jira Board > Sprint Actions > Start Sprint
Test Sprint Event Simulation
Trigger a test by starting or updating a sprint in your Jira board. Watch the workflow execution in Pipedream's logs to verify each step processes correctly. Check that your Slack channel receives the formatted notification with all expected sprint data and burndown metrics.
- 1Go to your Jira board and start a new sprint
- 2Watch for the webhook event in Pipedream's event inspector
- 3Check each step's output in the execution log
- 4Verify the Slack message appears in your target channel
- 5Confirm all data fields are populated correctly
Workflow Settings > Deploy > Error Handling
Enable Workflow and Set Error Handling
Activate your workflow using the toggle switch and configure error notifications. Set up failure alerts to your personal Slack DM so you know immediately if sprint notifications fail. Add retry logic to handle temporary Jira API outages during critical sprint transitions.
- 1Click the Deploy button to activate your workflow
- 2Toggle the workflow status to 'On'
- 3Configure error notifications in Workflow Settings
- 4Set retry attempts to 3 with exponential backoff
- 5Test error handling by temporarily breaking a connection
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 you need real-time sprint notifications with custom burndown calculations and your team codes. The Node.js environment handles complex Jira API responses better than drag-and-drop tools, and webhook processing is instant. Skip Pipedream if your team wants a simple point-and-click setup - Zapier's Jira integration covers basic sprint started/ended notifications without code.
This costs 1 credit per sprint event. Most teams run 2-week sprints with occasional goal updates, so expect 8-12 events per month = $0.40-0.60 monthly. Zapier charges $0.30 per task but limits API calls in lower tiers. Make costs €0.10 per operation but struggles with Jira's nested webhook payloads without custom parsing.
Make handles Jira webhooks well but requires multiple HTTP modules to fetch sprint reports and calculate burndowns - your scenarios get messy fast. Zapier's built-in Jira app covers basic sprint events but can't access the sprint report API for burndown metrics. n8n processes webhook payloads cleanly but lacks Jira-specific helper functions for parsing assignee and status data. Power Automate integrates deeply with Azure DevOps but treats Jira as a generic REST API. Pipedream wins because its async/await syntax matches Jira's API patterns perfectly.
You'll hit Jira's webhook retry behavior - failed deliveries retry 5 times over 24 hours, so temporary Pipedream outages create delayed notification floods. Sprint report APIs return different data structures for active vs completed sprints, breaking your burndown logic unexpectedly. Story point fields use custom field IDs that vary between Jira instances, so hardcoded field references fail when moving between environments.
Ideas for what to build next
- →Add Sprint Retrospective Reminders — Extend the workflow to automatically post retrospective meeting reminders 2 days before sprint end with agenda templates and previous action items.
- →Create Sprint Health Dashboard — Build a weekly digest that compares sprint velocity trends across multiple teams and identifies consistently underperforming sprints for coaching opportunities.
- →Integrate with Calendar Apps — Connect to Google Calendar or Outlook to automatically create sprint ceremony events when sprints start and send calendar invites to the development team.
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