How to Conncet Notion and GitHub with 2-Way Sync and Automated Updates
More than 15 years since its founding, GitHub is still an incredibly popular open source development tool with a thriving community of over 100 million users, according to Techcrunch. Notion, meanwhile, is another powerful productivity and database tool that can be used for a range of purposes, including project management, note-taking, reporting, and more.
It’s accessible, flexible and Notion pages are easy to use as templates for collaboration or, in this case, sharing key information about GitHub issues.
This guide will show you how to populate a Notion page with GitHub issues via Unito and keep your repository and pages current with automated 2-way updates.
New to Unito?
Check out our GitHub + Notion integration overview. Otherwise read on below to find out how you can sync GitHub issues to Notion pages and keep them updated automatically in real-time.
In this Notion GitHub article:
- Step 1: Connect Notion and GitHub to Unito
- Step 2: Set a flow direction between GitHub and Notion
- Step 3: Choose which issues to sync from GitHub to Notion
- Step 4: Pick fields to keep in sync
- Step 5: Launch your GitHub to Notion integration
- Essential Unito features for this Notion GitHub integration
- What’s next after you sync multiple GitHub projects with Unito?
- Troubleshooting your Notion integration
Before you connect GitHub and Notion to Unito:
Prepare your Notion database to sync pages with Unito
Allow permissions for Unito to sync data to/from your page. Click here for more information
You can sync pages from any Notion database in your account as long as you have edit permission in that database. Here’s an example of how databases appear in Unito:
Add a Last Modified Time field to your Notion page(s). Click here for more information
A Last Modified Time field enables Unito to sync data from Notion to your other tools.
Step 1: Connect Notion and GitHub to Unito
- Login the Unito App and click + Create Flow.
- Now, click Start Here to connect your tools. Follow the on-screen instructions to authorize GitHub and Notion. If you need help with, here’s a breakdown of every permission needed by Unito.
- Next, select +Add a tool to this flow in either column. Then, +Choose account to specify the GitHub repository and Notion page you plan on syncing. The order in which you connect them doesn’t matter.
- Click Confirm.
Step 2: Set a flow direction between GitHub and Notion
This step tells Unito where you want new work items (GitHub issues or Notion pages) to appear.
With a one-way flow, activity in your source tool will create new work items (GitHub issues or Notion pages) in the destination tool. If you set a two-way flow, you can create new work items in both tools.
Later, you’ll be able to set 2-way updates between your issues and pages regardless of flow direction.
In a reporting situation, you may not want new rows in your Notion page to create GitHub issues, so we’ll choose a one-way flow for our demo.
Step 3: Choose which issues to sync from GitHub to Notion
After setting a flow direction, you can set up rules to filter specific GitHub issues for your sync with Notion. You can do this by picking a trigger that Unito will look for in your tools. This could be by assignee, issue type, labels you’ve created, etc. This part is entirely up to you, but in our demo, we kept things simple, opting to sync by issue type as you can see below.
You can also decide if any actions should be automated after the row is added to your Notion page. This could include setting a default assignee, changing the label, and more.
Step 4: Choose fields to keep in sync between GitHub issues and your Notion page
Fields represent the details of your GitHub issues and Notion rows: assignee, issue number, due dates, status, label, etc. Typically we can either auto-map our fields or go with a DIY approach. Due to limitations in Notion, we’ll need to map our fields manually.
Click on + Add mapping to pick individual fields in GitHub that will sync over to Notion. If you’re using our Notion template for GitHub, then your Notion fields are already named after their counterparts in GitHub. Here’s what our completed set of field mappings looks like:
Any field with a gear (or cog) icon allows you to specify values for fields with multi- or single-select options. If the label names in Notion are identical to those in GitHub, Unito will auto-populate as many as it can. All of the labels you see below were auto-mapped by Unito:
Exact mappings might vary for your use case, but this is generally what you want. The key information from GitHub issues will appear in Notion and nothing extra. Then your colleagues or stakeholders can quickly review without asking for help.
We recommend mapping fields for 2-way updates, but feel free to customize according to your needs. With a 1-way field mapping, edits made in the source tool will appear in the destination but not vice versa.
Example: Let’s say you set a 1-way field mapping from your GitHub issue title to the issue title in Notion. If you change your GitHub issue title from “request 123” to “question ABC”, the Notion issue title will also change to match your new GitHub issue title. But if you were to change the Notion issue title manually, the GitHub issue title would stay the same.
You can learn more about field mappings here.
Click Confirm when you’re ready to continue.
Step 5: Save, close, and launch your GitHub to Notion integration
And that’s it! Just like that, you’ve built a two-way flow to automate issue creation between GitHub projects with Unito!
If you’ve followed the steps above, your flow will now:
- Send your GitHub issues to Notion pages based on your set of rules.
- Keep those issues synced automatically between GitHub and Notion with live two-way updates.
Here’s a side-by-side look at our GitHub issue synced to Notion based on the rules and field mappings above:
Once all your fields are mapped, you’re done! You can launch your flow and watch as GitHub issues get synced over to Notion. Build flows for other GitHub repos and you could have a single Notion database track all the work your development team is doing.
Essential Unito features for this Notion GitHub integration
One-way create, two-way update
Customizing your flow with this feature keeps your data updated across both tools without the creation of new work items. This is useful if you sync multiple GitHub repositories to a single Notion database or pull data from Notion to GitHub. Otherwise you’ll get GitHub issues moving from project to project.
Custom fields
GitHub uses custom fields to give users more control over their projects. Unito can sync these fields from GitHub to other apps and back so you don’t lose any customizability. Check Unito’s pricing page to see how many custom items you can sync.
Advanced mappings
For many integration solutions, you’re a bit stuck with what the tools give you. That makes it tough to truly recreate the environment from one tool in the other. Unito lets you customize your field mappings so that isn’t the case. When you’re using a flexible tool like Notion, that’s essential especially if you like the idea of generating GitHub pull requests from a Notion page.
What’s next after you sync multiple GitHub projects with Unito?
- Unito’s flow duplication feature lets you copy existing flows, keeping your rules, mappings, and many other settings intact. This allows you to sync multiple GitHub projects to a master without starting each flow from scratch.
- Find more free templates for Notion.
- Follow a similar guide to sync Jira issues with Notion pages.
- Promote collaboration between technical and non-technical teams by syncing GitHub with Asana, Trello, or monday.com.
- Read a case study from a Unito user who did just that.
- Connect your Notion pages to Google Calendar.
Why share development updates automatically from GitHub in Notion?
Some teams use Notion to manage their projects, while obviously developers or engineers need GitHub to manage version control, integrations, and access control.
In that case, both sides can become siloed, requiring someone to jump back and forth between GitHub and Notion to share updates. Or you use another tool, such as Slack, to communicate and stay in touch, but already you’re beginning to see the problem: too many tools, too many chances for information to fall between the cracks.
Skip manual processes to save time and mitigate human error
The more manual processes in place, the higher the likelihood that details get missed, miscommunications or misunderstandings occur, and work slows down.
It may not seem like much of an obstacle to jump between a few tabs, but the minutes you spend cross-referencing each tool can add up quickly over weeks and months or years.
Even if one person is highly organized and capable of following several overlapping conversations in multiple places, it’s only a matter of time before the dam breaks.
Streamline workflows and get information between teams or to stakeholders quickly
Connecting Notion and GitHub to Unito saves you from that hassle by seamlessly integrating issues with pages so that no one needs to stop what they’re doing to go on a fact-finding mission.
If you’re the CEO or a stakeholder with other major initiatives to keep track of, you don’t have time to skim through Slack channels or browse repos looking for updates from your dev team.
Sending issues into a Notion database is a simple way to collect information from GitHub and quickly put together a simple overview.
Who should sync Notion GitHub with Unito’s integration?
Whether you’re a solopreneur, freelance contractor, or leading a software development team, you’ll benefit from streamlining collaboration with contacts and teammates in other tools.
Syncing your issues to a Notion page saves you from having to copy-paste updates to multiple locations and, best of all, Unito’s 2-way sync keeps GitHub and Notion up-to-date in realtime with live updates as you work.
So as you make a change in one place, you’ll see it instantly reflected in the other. Alternatively, you can set it to 1-way updates if you prefer to control the flow of information.
Troubleshooting your Notion integration
If you need help setting up your Notion integration, you can browse this guide on adding Notion to Unito or you can find a more general overview of this Notion integration here.