Keep Issue State in Sync Automatically

When an issue is opened, closed, or any of its properties change on GitHub, the corresponding Notion task is updated instantly.

Trigger

Issue State / Properties Changed

Triggers when a specific GitHub issue changes any of its tracked properties. Monitored properties: state (open/closed), state_reason, title, body, assignees, labels, milestone, lock status, active_lock_reason, comment count, and closed_at timestamp. When a change is detected, the payload includes the full current issue details, the list of changed field names, and their previous values.

Notion logo

Action

Update row database

Updates or archives an existing notion database row (page) using its `row id`, allowing modification of its icon, cover, and/or properties; ensure the target page is accessible and property details (names/ids and values) align with the database schema and specified formats.

Why this helps

Issue state changes in GitHub but Notion tasks remain stale, breaking your single source of truth for work tracking.

  • Issue state stays synchronized between GitHub and Notion
  • Notion provides an always-current view of work status
  • Reduce time spent manually updating task statuses
  • Single source of truth for issue lifecycle

Setup

Build it in a few focused steps.

  • 1Connect GitHub and Notion to Notis.
  • 2Ask Notis: 'When an issue state or property changes on GitHub, update the matching Notion task with the new status.'
  • 3Select the 'Issue State/Properties Changed' trigger and your notification channel.
  • 4Close or reopen a GitHub issue and verify the Notion task status updates instantly.

Questions about this workflow

Does this map issue state to Notion status values?

Yes. Notis maps GitHub issue state (open/closed) to your Notion status property (e.g., open to 'To Do', closed to 'Done').

What happens if I manually update status in Notion?

This automation pushes changes from GitHub to Notion. To sync in both directions, create a reverse automation too.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

Notis builds workflows that link GitHub to Notion. A trigger fires from one place; an action lands in another.

GitHub logo

GitHub triggers

Notion logo

Notion actions

New Workflow Artifact Created

Triggers when a new workflow artifact is created in a GitHub repository. Monitors for newly created GitHub Actions workflow artifacts. Optionally filters by artifact name to restrict monitoring to specific artifacts.

TriggerPolling

Add multiple content blocks (bulk, user-friendly)

Efficiently adds multiple standard content blocks to a notion page in a single api call with automatic markdown parsing. the 'content' field in notionrichtext blocks now automatically detects and parses markdown formatting including headers (# ## ###), bold (**text**), italic (*text*), strikethrough (~~text~~), inline code (`code`), links ([text](url)), and more. ideal for bulk content creation, ai agents, and replacing multiple individual add page content calls. supports automatic text formatting, content splitting, and up to 100 blocks per request.

ActionInstant

Branch Changed

Triggers when a GitHub branch changes. Monitors a specific branch for: - New commits pushed (head commit SHA changes) - Protection status toggled (branch becomes protected or unprotected) - Protection settings changed, including: required status checks and their enforcement level, admin enforcement, required pull request reviews (dismiss stale reviews, code owner reviews, approving review count, last push approval), required linear history, force push allowance, deletion allowance, conversation resolution, branch locking, and fork syncing.

TriggerPolling

Add content to Notion page

Deprecated: appends a single content block to a notion page or a parent block (must be page, toggle, to-do, bulleted/numbered list, callout, or quote); invoke repeatedly to add multiple blocks.

ActionInstant

New Branch Created

Triggers when a new branch is created in a GitHub repository. Detects newly created branches. Deleted branches do not fire events.

TriggerPolling

Append complex blocks (advanced, full control)

Appends complex blocks with full notion block structure to a parent block or page. use for advanced scenarios requiring precise control: code blocks, tables, embeds, nested children within blocks, or when working with pre-built notion block objects. requires full notion api block schema - use add multiple page content for simpler content creation.

ActionInstant

Check Run Status / Conclusion Changed

Triggers when a specific GitHub check run changes its status or conclusion. Monitors a single check run for changes to: status (queued, in_progress, completed, etc.), conclusion (success, failure, neutral, cancelled, skipped, timed_out, action_required), started_at, and completed_at.

TriggerPolling

Archive Notion Page

Archives (moves to trash) or unarchives (restores from trash) a specified notion page.

ActionInstant

Check Suite Status / Conclusion Changed

Triggers when a GitHub check suite changes its status or conclusion for a given ref. Monitors all check suites associated with a git reference (branch, tag, or commit SHA) for changes to status (queued, in_progress, completed, etc.) and conclusion (success, failure, neutral, cancelled, skipped, timed_out, action_required, startup_failure, stale). Optionally filters by GitHub App ID.

TriggerPolling

Create comment

Adds a comment to a notion page (via `parent page id`) or to an existing discussion thread (via `discussion id`); cannot create new discussion threads on specific blocks (inline comments).

ActionInstant

New Code Scanning Alert Created

Triggers when a new code scanning alert is created in a repository. Fires an event for each newly created code scanning alert detected in the configured repository. Alerts can be filtered by Git reference, scanning tool, state, and severity. The payload includes the alert number, rule details, tool information, state, severity, and the location of the most recent instance.

TriggerPolling

Create Notion Database

Creates a new notion database as a subpage under a specified parent page with a defined properties schema; use this action exclusively for creating new databases.

ActionInstant

New Repository Collaborator Added

Triggers when a new collaborator is added to a GitHub repository. Monitors the full list of collaborators on a repository and fires an event for each newly added collaborator. The payload includes the collaborator's GitHub username, account ID, profile URL, avatar URL, permission flags (pull, triage, push, maintain, admin), and assigned role name.

TriggerPolling

Create Notion page

Creates a new empty page in a notion workspace.

ActionInstant

Commit Event

Triggered when a new commit is pushed to a repository.

TriggerInstant

Delete a block

Archives a notion block, page, or database using its id, which sets its 'archived' property to true (like moving to "trash" in the ui) and allows it to be restored later.

ActionInstant

Connect any two apps with Notis in the middle.

Not just GitHub and Notion. Any combination from 985+ integrations.

When this happens · Trigger

Do this · Action

Save your first hour today.

7 days free trial with 20$ free usage included.
No card. Works with personal or business Notion.