Notion-Board brings Notion and GitHub closer than ever. Automatically sync issue titles, labels, and state to a Notion database.
Quick Start
Add a single workflow file to your repository and connect your Notion database. No complex configuration needed.
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
Issues sync automatically on open, edit, close, and comment events. No manual exports needed.
Title, labels, and issue state are synced to your Notion database as structured properties.
Use the included Notion template or bring your own database. Setup required properties in one click.
Run a one-time sync to import all open or closed issues into Notion — perfect for mature repositories.
Works with GitHub Actions out of the box. Just add the workflow, set three secrets, and go.
Apache-2.0 licensed. Audit the code, fork it, or contribute improvements back to the project.
How it works
Notion-Board runs inside GitHub Actions and connects to the Notion API. It reads issue events and maps them to database entries.
Add a notion.yml file to .github/workflows and reference the Notion-Board action.
Set NOTION_API_KEY and NOTION_DATABASE in your repository secrets.
Trigger the workflow to set up properties, then let it sync issues automatically on every event.