notion-hr-bridge

Syncs Notion HR workspace data into ShogunOS SQLite and gbrain sources.

1|Updated Jun 21, 2026
One-click install
npx skills add https://github.com/tapway/shogun-os --skill notion-hr-bridge-tapway
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: notion-hr-bridge
Source: https://github.com/tapway/shogun-os/tree/main/skills/notion-hr-bridge
Command: npx skills add https://github.com/tapway/shogun-os --skill notion-hr-bridge-tapway

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Migrating HR data out of Notion into a structured system requires manually exporting 15 separate databases, reconciling formula fields, and rebuilding employee records. This Skill automates the one-way sync from a Notion HR workspace into the ShogunOS portal SQLite database and gbrain, eliminating manual data transfer during the parallel-run period. ## Core Features & Use Cases - 15-source sync: Pulls Employee Directory, Job Openings, recruitment trackers, Onboarding, Performance, Equipment, Training, Meetings, and more via the Notion data_sources API, upserting rows into typed SQLite tables. - Formula field replication: Computes Notion formula fields (Deadline, Days Left, Overdue, Task Status, No. of Years) on read, with a --verify mode to confirm values match Notion exactly. - Asset and brain page generation: Downloads file attachments to ~/.shogun-os/hr-assets/ and writes employee profiles as markdown brain pages under ~/brain/hr/. - Use Case: During a Notion-to-ShogunOS migration, schedule a cron job to run the sync every 2 hours so both systems stay consistent until Notion is decommissioned. ## Quick Start Set the NOTION_API_KEY environment variable and run the sync script with the --dry-run flag to preview row counts before performing a full sync.

Frequently Asked Questions about notion-hr-bridge

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I sync Notion databases to SQLite?

Set the NOTION_API_KEY environment variable, share the HR page with your Notion integration, then run scripts/sync-notion-hr.py. The script queries each data source via the Notion API and upserts rows into typed SQLite tables like hr_employees and hr_candidates.

How do I migrate HR data from Notion to another system?

Run a full sync with scripts/sync-notion-hr.py, verify data integrity with the --verify flag, then schedule recurring syncs via cron during the parallel period. Once verified, disable the cron job, archive the Notion workspace, and rotate the API key.

What Notion API permissions does the sync need?

Create an integration at notion.so/my-integrations, copy the secret token, and share the HR root page with the integration via Connect to. Without page access, the API returns HTTP 404 errors for data sources.

Why does the Notion sync return HTTP 400 invalid request URL?

Dashboard-level database IDs are view references, not source databases. The script resolves this by querying the data_sources endpoint discovered through the /v1/databases metadata API instead of the database query endpoint.

Does the sync handle Notion rate limits and expiring file URLs?

The script sleeps 0.4 seconds between paginated requests to stay under the ~3 requests per second limit. Notion S3 file URLs expire after one hour, so attachments are downloaded immediately during sync; stale URLs fail gracefully with an empty path.