SharetoBoard
Docs · Notion integration

Connect SharetoBoard to your Notion Inbox.

End-to-end setup: create the Notion database with the exact schema SharetoBoard expects, authorize via official Notion OAuth, verify, and start syncing queued captures into Notion with explicit per-batch approval.

SharetoBoard is an independent third-party app. Notion is a registered trademark of Notion Labs, Inc. SharetoBoard is not affiliated with or endorsed by Notion Labs.

Before you start

What you’ll get. Captures from any Android app can be queued locally on your phone, then synced to a single dedicated Notion database (your “SharetoBoard Inbox”) only after you explicitly approve each batch. Notion is your backlog; Poppy stays your live board.

Step 1 · Create the Notion Inbox database

SharetoBoard expects an exact schema on a single Notion database. Create a new full-page database; do not reuse one with extra required fields.

1a. Create the page

  1. Open Notion in your browser(desktop is easier than mobile for setup).
  2. Pick a workspaceThe workspace you authorize is the only one SharetoBoard will see.
  3. Add a pageClick the + in the sidebar, name the page SharetoBoard Inbox.
  4. Insert a databaseType /database and choose Database — full page.

1b. Configure the required properties

Add or rename properties so the schema matches the table below exactly. Names are case-sensitive.

Property name Notion type Required options
Title Title (default; rename the existing “Name” column to Title)
CaptureID Text
Source Select SharetoBoard
Status Select Inbox, Routed, Error
Type Select Audio, Text, Transcript, Link, Image, Video
Pre-create the select options. SharetoBoard will refuse to enable sync until every required option is present on the corresponding select property. Click the property header in Notion, choose Edit property, and add each option as a tag before saving.

1c. Optional extra properties

You can add any number of additional properties (Tags, Date, Project, Reviewed, etc.). SharetoBoard ignores them on write. Keep them not required so created pages don’t error.

Step 2 · Authorize SharetoBoard via Notion OAuth

  1. Open SharetoBoard on your phoneTap the app icon.
  2. Open SettingsUse the gear icon, then scroll to Notion Inbox.
  3. Tap ConnectSharetoBoard launches your default browser at sharetoboard.com/notion/oauth/start?mobile=1.
  4. Sign in to NotionPick the account that owns the workspace where you created the inbox database.
  5. Grant access to the workspaceOn the Notion authorize screen, choose the workspace and the pages SharetoBoard may access. You can scope this to just the SharetoBoard Inbox page and nothing else.
  6. Return to the appNotion redirects to sharetoboard://oauth/notion which launches SharetoBoard. Settings will show Connected.
OAuth, not a copy-pasted token. SharetoBoard never asks for a personal integration secret. The token exchange and refresh route through SharetoBoard’s own server endpoints; the access and refresh tokens are then stored in Android’s encrypted credential store on your device.

Step 3 · Paste the database ID

  1. Open the inbox databaseIn Notion, click the database title to open it as a full page.
  2. Copy the linkNotion menu (…) → Copy link. The URL looks like:
    https://www.notion.so/your-workspace/SharetoBoard-Inbox-1f0a8c2d6e3f4b9eaa11223344556677?v=…
  3. Extract the 32-character database IDThat bold middle segment, with no dashes, is your database ID. (You can also paste the full URL; the app will pull the ID out.)
  4. Paste into SharetoBoardSettings → Notion InboxDatabase ID, then tap Save.

Step 4 · Verify the schema

In Notion settings inside SharetoBoard, tap Verify. The app calls GET https://api.notion.com/v1/databases/{id} and checks:

If any check fails, the app shows the specific missing property or option. Fix it in Notion, then tap Verify again. Sync stays disabled until verification passes.

Step 5 · Enable Notion-first and approve uploads

  1. Toggle Notion-first onThis routes new queued captures to NOTION_INBOX instead of the live Poppy board.
  2. Send a test captureShare any text from another app, or use the Note tile.
  3. Open the queue panelSettings → Pending uploads. You’ll see Pending uploads: 1 and Upload consent: Approval needed.
  4. Tap Check pending uploadsAn approval dialog lists the queued items by type.
  5. Tap Start sync nowThe sync worker runs, creates a Notion page, appends body content, and marks the queue item delivered.
Approval is per batch. Switching Notion-first on does not auto-upload anything. Every sync run requires you to explicitly approve the queued items shown in the dialog.

How captures map to Notion

Capture in SharetoBoard Notion Type value Body content
Note (typed)TextFull text as paragraph blocks
Assistant inbox textTextFull text as paragraph blocks
URL shareLinkURL preserved in body
Voice / record transcriptTranscriptVosk-on-device transcript as paragraphs
Image shareImagePlaceholder body (binary upload not yet supported)
Video shareVideoPlaceholder body (binary upload not yet supported)

Each created page also carries:

Privacy & security details

Troubleshooting

Verification fails with “Missing properties: …”

The named property does not exist on the database. Check spelling and case — CaptureID is one word, capital C and ID. Re-run Verify.

“Source select must include SharetoBoard”

Open the Source column header in Notion, choose Edit property, and add a select option named exactly SharetoBoard (one word).

“Status select must include Inbox, Routed, Error” or “Type select is missing required options”

Pre-create every option listed in the schema table above. Notion does not auto-create select options for select properties on the API; SharetoBoard refuses to write a value the property doesn’t already accept.

OAuth opens the browser but the page 404s

Make sure your phone has internet, then retry. SharetoBoard’s OAuth pretty paths (/notion/oauth/start, /notion/oauth/callback) route to API handlers. If the issue persists, email support@sharetoboard.com with the phone model and Android version.

Sync fails with notion_disabled

Notion-first is off. Enable the toggle in Settings → Notion Inbox.

Sync fails with notion_config_incomplete

Either the access token or the database ID is missing. Re-run OAuth and re-paste the database ID.

Items keep retrying

Check the queue panel for the actual error string. Common causes: Notion rate limit (429), schema regression (someone edited the database), or the integration was revoked from Notion. The client honors Retry-After headers, so transient rate limits resolve on their own.

I want to migrate to a different inbox database

Create the new database with the same schema, paste its ID into Settings, and tap Verify. Existing successfully-synced items stay in the old database; new captures go to the new one. CaptureIDs are unique per item, so there’s no risk of mid-sync duplication during the swap.

Limits & what isn’t supported yet

Related

See Notion integration overview for the use-case framing, Offline queue for how captures are buffered, and Privacy for the full data-handling policy.