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.
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.
SharetoBoard expects an exact schema on a single Notion database. Create a new full-page database; do not reuse one with extra required fields.
/database and choose Database — full page.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 |
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.
https://www.notion.so/your-workspace/SharetoBoard-Inbox-1f0a8c2d6e3f4b9eaa11223344556677?v=…In Notion settings inside SharetoBoard, tap Verify. The app calls GET https://api.notion.com/v1/databases/{id} and checks:
Source, Status, and Type.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.
NOTION_INBOX instead of the live Poppy board.| Capture in SharetoBoard | Notion Type value |
Body content |
|---|---|---|
| Note (typed) | Text | Full text as paragraph blocks |
| Assistant inbox text | Text | Full text as paragraph blocks |
| URL share | Link | URL preserved in body |
| Voice / record transcript | Transcript | Vosk-on-device transcript as paragraphs |
| Image share | Image | Placeholder body (binary upload not yet supported) |
| Video share | Video | Placeholder body (binary upload not yet supported) |
Each created page also carries:
Title = Capture — YYYY-MM-DD hh:mma (capture creation time, US locale).CaptureID = a stable UUID. Used to make delivery idempotent — if a sync retry happens, SharetoBoard queries by CaptureID and re-uses the existing page instead of duplicating it.Source = SharetoBoard.Status = Inbox on creation.EncryptedSharedPreferences with an AES256_GCM master key.api.notion.com; OAuth refresh hits sharetoboard.com/api/notion/oauth/refresh over HTTPS.Retry-After on rate-limit responses.401 Unauthorized triggers a token refresh and a single retry; on persistent failure the integration prompts you to re-authorize.The named property does not exist on the database. Check spelling and case — CaptureID is one word, capital C and ID. Re-run Verify.
Open the Source column header in Notion, choose Edit property, and add a select option named exactly SharetoBoard (one word).
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.
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.
notion_disabledNotion-first is off. Enable the toggle in Settings → Notion Inbox.
notion_config_incompleteEither the access token or the database ID is missing. Re-run OAuth and re-paste the database ID.
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.
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.
Type = Image or Video and a placeholder body. Binary upload to Notion is on the roadmap.See Notion integration overview for the use-case framing, Offline queue for how captures are buffered, and Privacy for the full data-handling policy.