Back to Integrations
integrationGitHub node
integrationNotion node

GitHub and Notion integration

Save yourself the work of writing custom integrations for GitHub and Notion and use n8n instead. Build adaptable and scalable Development, and Productivity workflows that work with your technology stack. All within a building experience you will love.

How to connect GitHub and Notion

  • Step 1: Create a new workflow
  • Step 2: Add and configure nodes
  • Step 3: Connect
  • Step 4: Customize and extend your integration
  • Step 5: Test and activate your workflow

Step 1: Create a new workflow and add the first step

In n8n, click the "Add workflow" button in the Workflows tab to create a new workflow. Add the starting point – a trigger on when your workflow should run: an app event, a schedule, a webhook call, another workflow, an AI chat, or a manual trigger. Sometimes, the HTTP Request node might already serve as your starting point.

GitHub and Notion integration: Create a new workflow and add the first step

Step 2: Add and configure GitHub and Notion nodes

You can find GitHub and Notion in the nodes panel. Drag them onto your workflow canvas, selecting their actions. Click each node, choose a credential, and authenticate to grant n8n access. Configure GitHub and Notion nodes one by one: input data on the left, parameters in the middle, and output data on the right.

GitHub and Notion integration: Add and configure GitHub and Notion nodes

Step 3: Connect GitHub and Notion

A connection establishes a link between GitHub and Notion (or vice versa) to route data through the workflow. Data flows from the output of one node to the input of another. You can have single or multiple connections for each node.

GitHub and Notion integration: Connect GitHub and Notion

Step 4: Customize and extend your GitHub and Notion integration

Use n8n's core nodes such as If, Split Out, Merge, and others to transform and manipulate data. Write custom JavaScript or Python in the Code node and run it as a step in your workflow. Connect GitHub and Notion with any of n8n’s 1000+ integrations, and incorporate advanced AI logic into your workflows.

GitHub and Notion integration: Customize and extend your GitHub and Notion integration

Step 5: Test and activate your GitHub and Notion workflow

Save and run the workflow to see if everything works as expected. Based on your configuration, data should flow from GitHub to Notion or vice versa. Easily debug your workflow: you can check past executions to isolate and fix the mistake. Once you've tested everything, make sure to save your workflow and activate it.

GitHub and Notion integration: Test and activate your GitHub and Notion workflow

Sync your GitHub issues to your Notion database

This workflow syncs your GitHub issues to your Notion database. Whenever a new issue is opened in your GitHub repository, it will be shown in your Notion database, syncing the status property (opened/edited/closed/deleted). In case there’s no Notion database existing yet, a new one will be created automatically.

Prerequisites
Notion account and Notion credentials
GitHub account and GitHub credentials

How it works

Github trigger starts the workflow when a new issue is created in a GitHub repository.
If node splits the workflow conditionally, showing whether the issue is new or an update of an existing issue.
If data is new, the Notion node will create a new database page in Notion.
If the data is not new, the Function node will create a Notion filter that will find its specific database page by issue ID.
Switch node will then conditionally route the data into the appropriate Notion page, based on the update made upon it.

Nodes used in this workflow

Popular GitHub and Notion workflows

Automation flow from Notion to GitHub with email notifications

This automation allows you to track feature requests in Notion, create GitHub issues automatically, and notify your team via email based on issue status. It's ideal for technical and functional teams who collaborate on project delivery using Notion and GitHub. 🔹 SECTION 1: Detect and Sort Issues from Notion Combining: Schedule Trigger + Notion Database + Field Mapping + Status Routing ⏰ 1. Schedule Trigger 🔧 Node Type: Schedule Trigger (you can use a webhook trigger if you are on Notion paid plan) 💬 Description: Triggers the workflow every X minutes to check for new or updated Notion database pages. 📑 2. Get Many Database Pages (Notion) 🔧 Node Type: Notion → Get All Database Pages 📋 What it does: Fetches all rows (pages) from a Notion database that represents tasks or feature requests. ✏️ 3. Sort Issues Fields 🔧 Node Type: Set 📋 Goal: Restructures or cleans data fields such as Title, Status, Labels, and Repository. 🔀 4. Switch: Issue Status Decision 🔧 Node Type: Switch 🎯 What it does: Separates logic based on the Status of the Notion item: If status is "To develop" → proceed to create issue Else → send notification to the team 🔹 SECTION 2: GitHub Issue Creation (IF "To develop") Combining: GitHub Node + Notion Update 🐙 5. Create an Issue (GitHub) 🔧 Node Type: GitHub → Create Issue ⚙️ What it does: Creates a new issue on the GitHub repo defined in the Notion row. 📥 Inputs: Uses dynamic fields: Title, Description, Labels, Repository. 🧩 6. Set Status and Issue URL (Notion Update) 🔧 Node Type: Notion → Update Database Page 🧠 Role: Updates the status of the issue in Notion to In progress and stores the created GitHub Issue URL. 🔹 SECTION 3: Notify Team on Already In-Progress Items (IF NOT "To develop") Combining: Notion Users + Filtering + Email Grouping + Gmail 👥 7. Get Many Users (Notion Users) 🔧 Node Type: Notion → Get All Users 📥 What it does: Retrieves the list of team members (to be notified). 🧠 8. Map Notion Users 🔧 Node Type: Set 📋 Role: Maps and formats data for each user (e.g., Name, Email, Role). 🧹 9. Exclude Bot 🔧 Node Type: Switch 🚫 What it does: Excludes automation/bot users (e.g., notifications@noreply). 🧮 10. Group Recipients 🔧 Node Type: Aggregate 🎯 Goal: Collects all user emails into a single array to send one email to all recipients. 📬 11. Send a Message (Gmail) 🔧 Node Type: Gmail → Send Email

Automatically document and backup N8N workflows

Automatically backs up your workflows to Github and generates documentation in a Notion database. Weekly run, uses the "internal-infra" tag to look for new or recently modified workflows Uses a Notion database page to hold the workflow summary, last updated date, and a link to the workflow Uses OpenAI's 4o-mini to generate a summarization of what the workflow does Stores a backup of the workflow in GitHub (recommend a private repo) Sends notification to Slack channel for new or updated workflows Who is this for Anyone seeking backup of their most important workflows Anyone seeking version control for their most important workflows Credentials required N8N: You will need an N8N credential created so the workflow can query the N8N instance to find all active workflows with the "internal-infra" tag Notion: You will need an Notion credential created OpenAI: You will need an OpenAI credential, unless you intend on rewiring this with your AI of choice (ollama, openrouter, etc.) GitHub: You will need an GitHub credential Slack: You will require an Slack credential, recommend a Bot / access token configuration Setup Notion Create a database with the following columns. Column type is specified in [type]. Workflow Name [text] isActive (dev) [checkbox] Error workflow setup [checkbox] AI Summary [text] Record last update [date/time] URL (dev) [text/url] Workflow created at [date/time] Workflow updated at [date/time] Slack Create a channel for updates to be posted into Github Create a private repo for your workflows to be exported into N8N Download & install the template Configure the blocks to use your N8N, Notion, OpenAI & Slack credentials for your own Edit the "Set Fields" block and change the URL to that of your N8N instance (cloud or self-hosted) Edit the "Add to Notion" action and specify the Database page you wish to update Edit the Slack actions to specify the Channel you want slack notifications posted to Edit the GitHub actions to specify the Repository Owner & Repository Name Sample output in Notion Workflow diagram

Send pre-meeting Slack briefings using Google Calendar, Notion, GitHub, and Jira

This n8n template from Intuz provides a complete and automated solution for preparing and delivering context-rich briefings directly to attendees before every meeting. It acts as an AI-powered executive assistant, gathering relevant information from all your key work tools to ensure everyone arrives prepared and aligned. Who's this workflow for? Engineering Managers & Team Leads Product Managers & Project Managers Scrum Masters & Agile Coaches Any team that holds regular status, planning, or technical meetings. How it works Trigger on New Calendar Event: The workflow starts automatically whenever a new meeting is created in a designated Google Calendar. Fetch Previous Context: It immediately connects to Notion to retrieve the notes from the most recent past meeting, ensuring continuity. Wait for the Right Moment: The workflow calculates a time 15 minutes before the meeting's scheduled start and pauses its execution until then. Gather Real-Time Project Data: Just before the meeting, the workflow wakes up and: Extracts keywords from the meeting title. Searches GitHub for recent Pull Requests (PRs) relevant to those keywords. Searches Jira for any tickets or issues that match the meeting's topic. Build the Intelligent Briefing: It assembles all the gathered information—previous notes from Notion, current PRs from GitHub, and relevant tickets from Jira—into a single, beautifully formatted Slack message. Deliver to Each Attendee: The workflow identifies all attendees from the Google Calendar invite, finds their corresponding Slack profiles via email, and sends the personalized briefing as a Direct Message (DM) to each one, ensuring everyone is prepared just in time. Key Requirements to Use This Template n8n Instance: An active n8n account (Cloud or self-hosted). Google Calendar Account: To trigger the workflow on new events. Notion Account: With a dedicated database for storing meeting notes. GitHub Account: To search for relevant pull requests. Jira Cloud Account: To search for relevant project tickets. Slack Workspace & App: A Slack workspace where you have permission to install an app. You will need a Bot Token with the necessary permissions. Setup Instructions Google Calendar Trigger: In the "Capture New Google Calendar Event" node, connect your Google Calendar account and select the calendar you want to monitor. Notion Connection: In the "Get Last Meeting Notes" node, connect your Notion account. Select the Notion Database ID that contains your meeting notes. GitHub & Jira Connections: In the "Get PRs from Repo" node, connect your GitHub account and select the repository to search. In the "Get Jira Issues Related to Meeting" node, connect your Jira Cloud account. You can customize the JQL query if needed. Slack Configuration (Crucial Step): Create a Slack App: Go to api.slack.com/apps, create a new app, and install it to your workspace. Set Permissions: In your app's "OAuth & Permissions" settings, add the following Bot Token Scopes: chat:write (to send messages) and users:read.email (this is critical for looking up attendees). Reinstall the app to your workspace. Get Bot Token: Copy the "Bot User OAuth Token" (it starts with xoxb-). Connect in n8n: In the "Get User Slack Info from Email" node, click "Header Parameters" and replace {{ slack oauth token }} with your actual Bot Token. In the "Send Meeting Context in Slack DM" node, connect your Slack credentials using the same Bot Token. Activate the Workflow: Save the workflow and toggle the "Active" switch to ON. Your automated pre-meeting bot is now live! Connect with us Website: https://www.intuz.com/n8n-workflow-automation-templates Email: [email protected] LinkedIn: https://www.linkedin.com/company/intuz Get Started: https://n8n.partnerlinks.io/intuz For Custom Workflow Automation Click here: Get Started
+4

Aggregate & Update Documentation from Slack, Teams & GitHub with Claude Sonnet 4.5

How It Works Aggregates communication data from Slack, Microsoft Teams, Gmail, GitHub, and Confluence into a single, unified AI-powered analysis workflow designed for quality review and automated documentation updates. This solution is specifically aimed at teams managing distributed content and knowledge workflows across multiple platforms. It addresses the challenges of fragmented communication and isolated information silos that often prevent rapid content review and timely decision-making. The workflow begins with a scheduled trigger, followed by multi-source data collection, merging and normalizing inputs, Claude AI-powered analysis, validation and quality checks, formatting, and finally publishing updates to Notion and Confluence, accompanied by Slack notifications to ensure stakeholders are promptly informed. Setup Steps -Connect credentials: Slack API, Teams, Gmail OAuth, GitHub PAT. -Confluence API, Anthropic API key, Notion Integration. -Configure monitored channels/repositories. -Set schedule frequency. -Map output destinations (Notion/Confluence). -Test merged output before enabling automation. Prerequisites Slack workspace, Teams account, Gmail access, GitHub repository, Confluence space, Anthropic API key, Notion workspace, n8n instance. Use Cases Content review teams processing feedback, documentation teams aggregating updates, QA teams reviewing communications Customization Add/remove source nodes, adjust Claude prompts for analysis type, modify output destinations Benefits Saves 6+ hours weekly, eliminates missed content, AI-driven quality assurance
+3

Automatically Detect & Classify GitHub API Errors with GPT-4o to Airtable, Notion & Slack

Automatically detect, classify, and document GitHub API errors using AI. This workflow connects GitHub, OpenAI (GPT-4o), Airtable, Notion, and Slack to build a real-time, searchable API error knowledge base — helping engineering and support teams respond faster, stay aligned, and maintain clean documentation. ⚙️📘💬 🚀 What This Template Does 1️⃣ Triggers on new or updated GitHub issues (API-related). 🪝 2️⃣ Extracts key fields (title, body, repo, and link). 📄 3️⃣ Classifies issues using OpenAI GPT-4o, identifying error type, category, root cause, and severity. 🤖 4️⃣ Validates & parses AI output into structured JSON format. ✅ 5️⃣ Creates or updates organized FAQ-style entries in Airtable for quick lookup. 🗂️ 6️⃣ Logs detailed entries into Notion, maintaining an ongoing issue knowledge base. 📘 7️⃣ Notifies the right Slack team channel (DevOps, Backend, API, Support) with concise summaries. 💬 8️⃣ Tracks & prevents duplicates, keeping your error catalog clean and auditable. 🔄 💡 Key Benefits ✅ Converts unstructured GitHub issues into AI-analyzed documentation ✅ Centralizes API error intelligence across teams ✅ Reduces time-to-resolution for recurring issues ✅ Maintains synchronized records in Airtable & Notion ✅ Keeps DevOps and Support instantly informed through Slack alerts ✅ Fully automated, scalable, and low-cost using GPT-4o ⚙️ Features Real-time GitHub trigger for API or backend issues GPT-4o-based AI classification (error type, cause, severity, confidence) Smart duplicate prevention logic Bi-directional sync to Airtable + Notion Slack alerts with contextual AI insights Modular design — easy to extend with Jira, Teams, or email integrations 🧰 Requirements GitHub OAuth2 credentials OpenAI API key (GPT-4o recommended) Airtable Base & Table IDs (with fields like Error Code, Category, Severity, Root Cause) Notion integration with database access Slack Bot token with chat:write scope 👥 Target Audience Engineering & DevOps teams managing APIs Customer support & SRE teams maintaining FAQs Product managers tracking recurring API issues SaaS orgs automating documentation & error visibility 🪜 Step-by-Step Setup Instructions 1️⃣ Connect your GitHub account and enable the “issues” webhook event. 2️⃣ Add OpenAI credentials (GPT-4o model for classification). 3️⃣ Create an Airtable base with fields: Error Code, Category, Root Cause, Severity, Confidence. 4️⃣ Configure your Notion database with matching schema and access. 5️⃣ Set up Slack credentials and choose your alert channels. 6️⃣ Test with a sample GitHub issue to validate AI classification. 7️⃣ Enable the workflow — enjoy continuous AI-powered issue documentation!

Track SDK Documentation Drift with GitHub, Notion, Google Sheets, and Slack

📊 Description Automatically track SDK releases from GitHub, compare documentation freshness in Notion, and send Slack alerts when docs lag behind. This workflow ensures documentation stays in sync with releases, improves visibility, and reduces version drift across teams. 🚀📚💬 What This Template Does Step 1: Listens to GitHub repository events to detect new SDK releases. 🧩 Step 2: Fetches release metadata including version, tag, and publish date. 📦 Step 3: Logs release data into Google Sheets for record-keeping and analysis. 📊 Step 4: Retrieves FAQ or documentation data from Notion. 📚 Step 5: Merges GitHub and Notion data to calculate documentation drift. 🔍 Step 6: Flags SDKs whose documentation is over 30 days out of date. ⚠️ Step 7: Sends detailed Slack alerts to notify responsible teams. 🔔 Key Benefits ✅ Keeps SDK documentation aligned with product releases ✅ Prevents outdated information from reaching users ✅ Provides centralized release tracking in Google Sheets ✅ Sends real-time Slack alerts for overdue updates ✅ Strengthens DevRel and developer experience operations Features GitHub release trigger for real-time monitoring Google Sheets logging for tracking and auditing Notion database integration for documentation comparison Automated drift calculation (days since last update) Slack notifications for overdue documentation Requirements GitHub OAuth2 credentials Notion API credentials Google Sheets OAuth2 credentials Slack Bot token with chat:write permissions Target Audience Developer Relations (DevRel) and SDK engineering teams Product documentation and technical writing teams Project managers tracking SDK and doc release parity Step-by-Step Setup Instructions Connect your GitHub account and select your SDK repository. Replace YOUR_GOOGLE_SHEET_ID and YOUR_SHEET_GID with your tracking spreadsheet. Add your Notion FAQ database ID. Configure your Slack channel ID for alerts. Run once manually to validate setup, then enable automation.

Build your own GitHub and Notion integration

Create custom GitHub and Notion workflows by choosing triggers and actions. Nodes come with global operations and settings, as well as app-specific parameters that can be configured. You can also use the HTTP Request node to query data from any app or service with a REST API.

GitHub supported actions

Create
Create a new file in repository
Delete
Delete a file in repository
Edit
Edit a file in repository
Get
Get the data of a single file
List
List contents of a folder
Create
Create a new issue
Create Comment
Create a new comment on an issue
Edit
Edit an issue
Get
Get the data of a single issue
Lock
Lock an issue
Get Repositories
Returns all repositories of an organization
Create
Creates a new release
Delete
Delete a release
Get
Get a release
Get Many
Get many repository releases
Update
Update a release
Get
Get the data of a single repository
Get Issues
Returns issues of a repository
Get License
Returns the contents of the repository's license file, if one is detected
Get Profile
Get the community profile of a repository with metrics, health score, description, license, etc
Get Pull Requests
Returns pull requests of a repository
List Popular Paths
Get the top 10 popular content paths over the last 14 days
List Referrers
Get the top 10 referrering domains over the last 14 days
Create
Creates a new review
Get
Get a review for a pull request
Get Many
Get many reviews for a pull request
Update
Update a review
Get Repositories
Returns the repositories of a user
Get Issues
Returns the issues assigned to the user
Invite
Invites a user to an organization
Disable
Disable a workflow
Dispatch
Dispatch a workflow event
Dispatch and Wait for Completion
Dispatch a workflow event and wait for a webhook to be called before proceeding
Enable
Enable a workflow
Get
Get a workflow
Get Usage
Get the usage of a workflow
List
List workflows

Notion supported actions

Append After
Append a block
Get Child Blocks
Get many child blocks
Get
Get a database
Get Many
Get many databases
Search
Search databases using text search
Get
Get a database
Get Many
Get many databases
Create
Create a page in a database
Get
Get a page in a database
Get Many
Get many pages in a database
Update
Update pages in a database
Create
Create a pages in a database
Get Many
Get many pages in a database
Update
Update pages in a database
Create
Create a page
Get
Get a page
Search
Text search of pages
Archive
Archive a page
Create
Create a page
Search
Text search of pages
Get
Get a user
Get Many
Get many users

GitHub and Notion integration: Step-by-step video guide

FAQs

  • Can GitHub connect with Notion?

  • Can I use GitHub’s API with n8n?

  • Can I use Notion’s API with n8n?

  • Is n8n secure for integrating GitHub and Notion?

  • How to get started with GitHub and Notion integration in n8n.io?

Need help setting up your GitHub and Notion integration?

Discover our latest community's recommendations and join the discussions about GitHub and Notion integration.
Justin Cheu
Cris A. Works
Martin
Liam Skaff
AyS 0908

Looking to integrate GitHub and Notion in your company?

Over 3000 companies switch to n8n every single week

Why use n8n to integrate GitHub with Notion

Build complex workflows, really fast

Build complex workflows, really fast

Handle branching, merging and iteration easily.
Pause your workflow to wait for external events.

Code when you need it, UI when you don't

Simple debugging

Your data is displayed alongside your settings, making edge cases easy to track down.

Use templates to get started fast

Use 1000+ workflow templates available from our core team and our community.

Reuse your work

Copy and paste, easily import and export workflows.

Implement complex processes faster with n8n

red iconyellow iconred iconyellow icon