Sync Jira Issues and Comments with Notion Database via n8n

This n8n workflow automates syncing Jira issues—including creation, updates, and deletions—with a Notion database. It solves the problem of manually tracking Jira issues and their statuses in Notion by automatically creating, updating, or archiving pages for each issue, saving hours of work and reducing errors.
jiraTrigger
notion
code
+3
Workflow Identifier: 1971
NODES in Use: jiraTrigger, code, if, notion, switch, stickyNote
Sync Jira with Notion via n8n

Press CTRL+F5 if the workflow didn't load.

Learn how to Build this Workflow with AI:

What This Workflow Does

This workflow keeps Jira issues and their updates synced with a Notion database automatically.
It stops the user from doing manual copy-and-paste between Jira and Notion.
The result is the Notion workspace always shows the latest Jira issues, their details, and statuses.

The workflow listens for Jira issue events: creation, updates, and deletions.
It then either makes a new Notion page, updates an existing page, or archives the page if the issue is deleted.
The Jira statuses get converted properly into Notion select options to keep the status consistent.


Who Should Use This Workflow

This is for anyone who tracks Jira tasks but wants stakeholders or teams to see updates inside Notion.
It helps product managers, project managers, or any team using both Jira and Notion.
It is good for people tired of repeating work and wanting more accurate, real-time syncing.
No deep technical skills are needed after setup here.


Tools and Services Used

  • n8n: Automation workflow platform.
  • Jira Software Cloud API: For listening to issue events.
  • Notion API Integration: To create, update, or delete pages.

Inputs, Processing, and Outputs

Inputs

  • Webhook event data triggered from Jira when issues are created, updated, or deleted.
  • Jira issue data including issue key, summary, status, and ID.

Processing

  • Status conversion using a lookup table from Jira status names to Notion select values.
  • Branching in the workflow based on event type (create/update/delete).
  • Filter and find the right Notion page by Issue ID using JSON filter.
  • Perform the correct Notion API action depending on event type.

Outputs

  • New Notion pages for new Jira issues.
  • Updated properties on existing Notion pages for issue changes.
  • Archived (soft deleted) Notion pages when Jira issues are deleted.

Beginner Step-By-Step: How to Use This Workflow in n8n

Download and Import

  1. Download the workflow file from this page using the Download button.
  2. Open the n8n editor interface where workflows are built.
  3. Use the Import from File option to load the downloaded workflow.

Setup Credentials and Configurations

  1. Add Jira API credentials in the credential section to connect to Jira Cloud.
  2. Add Notion API integration credentials to allow page creation and updates.
  3. Update IDs, emails, channels, or database IDs in the nodes if needed to fit your workspace.
  4. If there is any code in the workflow (like status lookup), check and update to fit your Jira status values.

Test the Workflow

  1. Create, update, or delete a test issue in Jira that your webhook listens to.
  2. Trigger the workflow and watch if Notion pages get created, updated, or archived properly.

Activate for Production Use

  1. Once tests are successful, turn on the workflow switch to make it active.
  2. Monitor the first live runs to ensure smooth operation.
  3. If using your own infrastructure, consider self-host n8n for stability and uptime.

Key Workflow Description

The workflow starts with a Jira Trigger node that listens to Jira Cloud issue events: creation, updates, and deletions.
This node receives JSON payloads with issue data and event type.

A Code node named “Lookup table” maps Jira status names like “To Do” or “In Progress” into Notion select option strings.
This ensures status consistency between Jira and Notion.

Next, an IF node checks the event type to decide if a new Notion page should be created or if the issue details need updating or deletion.

For new issues, a Notion node creates a new database page with the issue summary as the title, links, issue key, and translated status.
The mapping must be correct to prevent errors.

For updates and deletions, a Code node builds a filter JSON to find the exact Notion page by Issue ID.
This filter is used by another Notion node to fetch the corresponding page.

A Switch node branches the flow based on update or delete event.
The update path leads to a Notion node that edits the page’s title and status.
The delete path leads to a Notion node that archives the page.


Common Edge Cases and Failures

  • Notion API 404 error on update often means wrong or missing page ID.
  • If the webhook is not triggering, the Jira webhook URL may not be registered or events not subscribed.
  • Status names changed in Jira but not updated in the Lookup table cause mismatches.
  • Incorrect Notion filter JSON formatting or Issue ID data type causes no pages found.

Customization Ideas

  • Add more Jira statuses in the Code node Lookup table to extend status options.
  • Add syncing comments from Jira issues to Notion page comments using additional triggers.
  • Filter Jira events to listen only to specific projects by changing node settings.
  • Notify stakeholders about issue changes using Slack or email nodes after Notion updates.

Summary and Results

✓ Save time by automating Notion updates based on Jira issue events.
✓ Keep issue details and statuses consistent across Jira and Notion.
✓ Reduce errors from manual updates and copying.
✓ Provide stakeholders with current info in their preferred workspace.


Code Node: Lookup Table Sample

The code below maps Jira statuses to Notion select options.
It must be placed in the Code node used after the trigger.
Check that status names match the Jira configuration.

var lookup = {
    "To Do": "To do",
    "In Progress": "In progress",
    "Done": "Done"
};

new_items = [];
for (item of $items("On issues created/updated/deleted")) {
  var issue_status = item.json["issue"]["fields"]["status"]["name"];
  if (issue_status in lookup) {
    new_items.push({
      "Status ID": lookup[issue_status]
    });
  }
}
return new_items;

Example Expression for Notion Title Property

Use this expression in Notion node property to set the page title using Jira summary:

= {{$node["On issues created/updated/deleted"].json["issue"]["fields"]["summary"]}}

Example Custom Notion Filter JSON

Use this filter to find a Notion page by Issue ID number:

{
  "or": [
    {
      "property": "Issue ID",
      "number": {
        "equals": 12345
      }
    }
  ]
}

Deployment Guide

Enable the workflow by switching it live in the n8n interface.
Monitor first executions for errors in the execution panel.
Set up alerts for failures if needed.
Use stable hosting for production, such as self-host n8n.


Sync Jira with Notion via n8n

Visit through Desktop to Interact with the Workflow.

Author
Written By
Vikash Kumar
Building AI agents, n8n workflows and end-to-end automation for 30+ Brands across India, the US, Europe, Dubai & Australia. 7+ years of Experience saving founders real hours every week - no code required.
Author
Written By
Vikash Kumar
Building AI agents, n8n workflows and end-to-end automation for 30+ Brands across India, the US, Europe, Dubai & Australia. 7+ years of Experience saving founders real hours every week - no code required.

Frequently Asked Questions

Ensure the Find database page node returns the correct Notion page ID before update. Check the page still exists and correct Issue ID is used in the filter.
Make sure the Jira webhook URL is registered in Jira settings and all needed events are selected for webhook delivery.
The Jira Trigger node works with Jira Cloud API. For Jira Server, custom HTTP Request nodes are needed to handle API calls.
Yes, syncing many changes may approach Notion API limits. Consider batching changes or limiting event frequency for high volume.

Related Workflows

Automate Twist Channel Creation and Messaging with n8n

This workflow automates creating and updating a channel in Twist and sending a personalized message to specific users. It eliminates manual setup errors and saves time managing Twist communications.

Automate Ideogram Image Generation with Google Sheets & Gmail

This workflow automates graphic design image generation via Ideogram AI, storing image data in Google Sheets and Google Drive, with email alerts via Gmail. It saves designers hours by automating image creation, remixing, review, and record-keeping.

Automate IT Support with Slack and OpenAI in n8n

Streamline IT support by automating Slack message handling using n8n and OpenAI. This workflow handles Slack DMs, filters bots, queries a Confluence knowledge base, and delivers AI-generated responses, improving support efficiency and response time.

Automate Crypto Analysis with CoinMarketCap & n8n AI Agent

Discover how this unique n8n workflow leverages CoinMarketCap’s multi-agent AI to deliver precise, real-time cryptocurrency insights directly via Telegram. Manage crypto data analysis efficiently with automated multi-source API integration.

Automate Gumroad to Beehiiv Subscriber Sync with n8n

Learn how to automatically add new Gumroad sales customers as Beehiiv newsletter subscribers using n8n automation. This workflow saves time by syncing sales data to Google Sheets CRM and notifying your Telegram channel instantly.

Generate On-Brand Blog Articles Using n8n and OpenAI

This workflow automates the creation of on-brand blog articles by analyzing existing company content using n8n and OpenAI. It extracts article structures and brand voice to produce consistent draft articles, saving significant content creation time.
1:1 Free Strategy Session
Your competitors are already automating. Are you still paying for it manually?

Do you want to adopt AI Automation?

Every hour your team does repetitive work, you're burning real money.
While you wait, faster businesses are cutting costs and moving quicker.
AI and automations aren't the future anymore — they're the present.

Book a live 1-on-1 session where we show you exactly which of your daily tasks can be automated — and what it’s costing you not to.