Skip to content

NotionSync 0.0.1

Choose a tag to compare

@Cesar-1e Cesar-1e released this 15 Aug 12:47
· 5 commits to main since this release

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, url and relation.
  • 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 example Status = 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 TaskModel to detect task deletion, which
    Kanboard does not emit an event for. It may conflict with other plugins that
    override the same class.
  • status options are not auto-created by the Notion API, so the value you
    configure (e.g. Cancelled) must already exist in your database. select
    and multi_select options 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.