How to Automate Notion with 2-Way Updates from GitHub | Unito
How to Automate Notion Pages with 2-way Updates from GitHub

How to Automate Notion Pages with 2-way Updates from GitHub

With over 83 million users as of June 2022, GitHub is still incredibly popular open source development tool with a thriving community. 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.

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.

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.

GitHub repository synced to Notion Page with Unito

Why share development updates 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.

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.

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.

Before you connect GitHub and Notion to Unito:

Step 1: Connect Notion and GitHub to Unito

  1. Login the Unito App and click + Create Flow.
  2. 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.
  3. 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.
  4. Click Confirm.
Connect Notion and GitHub to Unito

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.

Set a flow direction between Jira and Notion

What are work items?

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.

Set conditions to specify which issues to sync from GitHub to Notion

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.

Select Start mapping manually in this instance.

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:

Select which fields to keep in sync between GitHub issues and your Notion page

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:

GitHub Issue and Notion Page synced with live 2-way updates. Unito two-way sync
LEFT: GitHub RIGHT: Notion

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 use case

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. 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. You can sync one custom field with a Team plan or unlimited custom fields with Unito’s Company and Enterprise plans.

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.

Ready to automate your reports?

Try Unito for 14 days, absolutely free.

Try it free

What’s next after you sync multiple GitHub projects with Unito?