NotionSync 0.0.1
First public release.
NotionSync mirrors your Kanboard tasks into a Notion database: when a task is
created in a configured project, the plugin creates a page in your Notion
"Tasks" database, keeps its title in sync, and marks it when the task is
removed.
Features
- Per-project property mapping. Each project defines which Notion
properties to fill, their type, and a text template for the value. Projects
with no mapping are left untouched — no API calls at all. - Supported property types:
title,rich_text,select,
multi_select,status,date,urlandrelation. - Template variables:
{{title_task}},{{task_id}},{{task_url}},
{{project_name}},{{created_at}},{{assignee}}and{{description}},
freely mixed with plain text. - Relation fields resolve by exact title match (case and whitespace
sensitive) against a related database configured per field. - Title updates. Editing a task in Kanboard updates only the
title
property of its Notion page; no other property is touched. - On task deletion, a configurable property is set on the Notion page
(for exampleStatus = Cancelled). The page is never deleted or archived. - Background queue + CLI command (
notionsync:process-queue) meant to be
run from cron, so Notion never blocks task creation in Kanboard. - Manual retry button on the task view when a sync is pending or failed,
which runs the call synchronously and reports the result immediately. - Encrypted token. The Notion integration token is stored with AES-256-GCM,
never in plain text. - English and Spanish (es_ES) translations included.
Requirements
- Kanboard >= 1.2.0
- PHP with the cURL and OpenSSL extensions
- Outbound network access to
api.notion.com - A Notion internal integration, with the target databases shared with it
- A cron entry to run the queue command
Installation
Download NotionSync-0.0.1.zip below and extract it into plugins/, or
install it from the Kanboard Plugin Directory. Then set the integration token
and the database ID in Settings → NotionSync, and map the properties in
Project → Notion synchronization.
Things to know
- This plugin overrides the core
TaskModelto detect task deletion, which
Kanboard does not emit an event for. It may conflict with other plugins that
override the same class. statusoptions are not auto-created by the Notion API, so the value you
configure (e.g.Cancelled) must already exist in your database.select
andmulti_selectoptions are created automatically.- Notion limits text properties to 2000 characters. The plugin does not
truncate: it reports the error and leaves the task pending. - The plugin targets Notion API version
2022-06-28.
Not included in this version
Two-way sync, retroactive sync of tasks created before installing the plugin,
automatic retries (retry is always manual), and assignee mapping to Notion
users.