GitHub Issue Management to Notion Sync - n8n Workflow

Use this dynamic n8n workflow to automatically sync GitHub issue events (opened, edited, closed, deleted) directly to a centralized Notion database, maintaining real-time parity for project tracking.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?

Software Development Teams: Need to centralize bug tracking and feature requests managed in GitHub into a project management tool like Notion.
Project Managers: Those who prefer using Notion as a single source of truth for all project status updates derived from developer activity on GitHub.


  • n8n Users: Individuals seeking advanced n8n templates demonstrating complex branching logic and database synchronization using the GitHub and Notion n8n node integrations.

Overview

Managing development tasks across platforms can lead to information silos. This highly functional n8n workflow solves that problem by establishing a robust, two-way mirror between GitHub issues and a Notion database. Every time an action is taken on a GitHub issue—whether it is opened, edited, closed, or even deleted—this n8n automation ensures the corresponding record in Notion is updated instantaneously. This robust n8n workflow uses conditional logic and custom scripting to reliably locate and modify existing Notion pages, providing a powerful, no-code solution for cross-platform data synchronization. Leveraging the power of an n8n trigger, this template is essential for efficient DevOps and project oversight.

How it Works

The process begins immediately upon a specified event occurring in GitHub, thanks to the dedicated GitHub n8n trigger node.


  1. Trigger and Initial Check: The n8n trigger monitors a specific GitHub repository for issue events. The data payload then hits the initial IF n8n node, which inspects the action taken on the GitHub issue (e.g., 'opened', 'edited', 'closed').

  2. New Issue Creation: If the action is 'opened', the flow proceeds to the Notion Create database page n8n node, logging the new issue's title, ID, and URL directly into the configured Notion database.

  3. Modification Handling: If the action is anything other than 'opened', the n8n workflow moves to the Create custom Notion filters function n8n node. This node dynamically generates a JSON filter payload to locate the existing Notion page using the GitHub Issue ID.

  4. Finding the Record: The Find database page n8n node uses this custom filter to retrieve the internal ID of the corresponding Notion database entry.

  5. Action Routing (Switch): The central Switch n8n node then evaluates the specific action taken ('edited', 'deleted', 'closed', 'reopened').

  6. Executing Updates: The flow branches to the relevant Notion n8n node: Edit issue (updates title), Delete issue (archives the page), Close issue (sets the 'Closed' checkbox true), or Reopen issue (unchecks the 'Closed' box). This ensures the Notion record reflects the exact state of the GitHub issue, completing the synchronization cycle for this comprehensive n8n workflow.

Installation Guide

To deploy this n8n template, follow these steps:


  1. Import the n8n Workflow: Copy the provided JSON data and import it into your n8n instance via the 'Workflows' screen using the 'New' button and 'Import from JSON'.

  2. Configure Credentials: Update the placeholder credentials for both the GitHub and Notion n8n node connections using your personal API keys.

GitHub Trigger: Ensure the credentials are set up. You will need to manually set up a webhook in your target GitHub repository pointing to the URL provided by the Trigger on issues n8n trigger node.
Notion Credentials: Connect your Notion API token and ensure the integration has access to the target database.

  1. Specify Database ID: In all Notion n8n nodes (Create database page, Find database page, etc.), replace the placeholder database ID (5026700b-6693-473a-8100-8cc6ddef62a6) with the ID of your actual Notion database.

  2. Configure GitHub Trigger: In the Trigger on issues n8n trigger, update the Owner and Repository fields to match your GitHub setup.

  3. Activate: Once configured, activate the n8n workflow to start real-time synchronization.

Node Details

Trigger on issues (GitHub Trigger n8n trigger):
Function: Serves as the starting point, listening for issues events on a specific GitHub repository.
Key Configuration: Configured to watch for events on John-n8n/DemoRepo and specifically targets the issues event type.
IF (n8n node):
Function: Directs the flow based on the GitHub issue action. Splits the path between 'opened' (new issue) and all other actions (modifications).
Key Configuration: Checks if body.action equals opened.
Create custom Notion filters (Function n8n node):
Function: Critical n8n node for modification paths. It uses custom JavaScript to construct a Notion API filter JSON payload that searches for a page where the property 'Issue ID' matches the incoming GitHub Issue ID.
Find database page (Notion n8n node):
Function: Executes the filter generated by the previous n8n node to retrieve the unique pageId of the existing Notion record.
Key Configuration: Uses the JSON filter input from the Function n8n node to perform the search.
Switch (n8n node):
Function: Determines the subsequent action required in Notion based on the GitHub action (edited, deleted, closed, reopened). This is a core component of this advanced n8n workflow.
Key Configuration: Compares the GitHub action string against four possible outcomes, routing the flow to the correct update n8n node.
Notion Nodes (Create/Edit/Delete/Close/Reopen issue):
Function: A suite of Notion n8n nodes responsible for applying the corresponding state change to the Notion database page found previously (e.g., archiving the page if the issue was deleted, or updating the checkbox status for closed/reopened issues).

Related n8n Workflows

Free

Nodes: 6 Nodes
Updated: December 26 2025
View all
Created by
n8n Team
n8n Team

Meet the official n8n team. We specialize in building workflows that transform intricate tasks into seamless operations.

Featured*