Open Source GitHub Action

Sync GitHub Issues with Notion.

Notion-Board brings Notion and GitHub closer than ever. Automatically sync issue titles, labels, and state to a Notion database.

Apache-2.0 License · TypeScript · GitHub Actions

Quick Start

Set up in minutes.

Add a single workflow file to your repository and connect your Notion database. No complex configuration needed.

.github/workflows/notion.yml
name: Notion Board
on:
  issues:
  issue_comment:
  workflow_dispatch:
    inputs:
      setup:
        description: 'Populate your notion database'
        type: boolean
      syncIssues:
        description: 'Sync all existing issues'
        type: boolean
      issueType:
        type: choice
        options: [all, open, closed]
        default: open

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Notion Board
        uses: Souvikns/Notion-Board@2.2.0
        with:
          setup: ${{ github.event.inputs.setup }}
          syncIssues: ${{ github.event.inputs.syncIssues }}
          issueType: ${{ github.event.inputs.issueType }}
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          NOTION_API_KEY: ${{ secrets.NOTION_API_KEY }}
          NOTION_DATABASE: ${{ secrets.NOTION_DATABASE }}

Features

Everything you need to stay in sync.

Real-time sync

Issues sync automatically on open, edit, close, and comment events. No manual exports needed.

Labels & state

Title, labels, and issue state are synced to your Notion database as structured properties.

Notion template

Use the included Notion template or bring your own database. Setup required properties in one click.

Existing issues

Run a one-time sync to import all open or closed issues into Notion — perfect for mature repositories.

Zero config

Works with GitHub Actions out of the box. Just add the workflow, set three secrets, and go.

Open source

Apache-2.0 licensed. Audit the code, fork it, or contribute improvements back to the project.

How it works

Three steps to sync.

Notion-Board runs inside GitHub Actions and connects to the Notion API. It reads issue events and maps them to database entries.

1. Create workflow

Add a notion.yml file to .github/workflows and reference the Notion-Board action.

2. Add secrets

Set NOTION_API_KEY and NOTION_DATABASE in your repository secrets.

3. Run & relax

Trigger the workflow to set up properties, then let it sync issues automatically on every event.