Skip to content

Content Connectors

import { Tabs, TabItem } from ‘@astrojs/starlight/components’;

Connectors bring your existing content into Kiomon automatically — no copy-pasting. Connect a source once; Kiomon syncs it on a schedule and on demand, converting each item into a searchable document.

Connector Status Type What syncs
Notion Active OAuth Pages from your workspace(s)
Google Drive Active OAuth Files (Google Docs, Sheets-ish, PDFs, text) from your Drive
Confluence Cloud Active OAuth Pages from a Confluence space (offset-paginated, full space sync)
1. Dashboard → **Connectors** → *Add connection* → **Notion**.
2. Authorize with your Notion account (OAuth, scoped and revocable).
3. Kiomon catalogues your workspace pages and kicks off the initial sync immediately.
4. The connector stays in `syncing` until the first pass completes; afterwards it re-syncs on schedule and via the **Sync now** button.
</TabItem>
<TabItem label="Google Drive">
1. Dashboard → **Connectors** → *Add connection* → **Google Drive**.
2. Authorize with Google. Tokens are stored encrypted and **auto-refreshed** when they expire.
3. Choose what to sync (a file picker lets you select files or folders).
4. Syncs convert documents to clean text; subsequent syncs pick up changes.
</TabItem>
<TabItem label="Confluence Cloud">
1. Dashboard → **Connectors** → *Add connection* → **Confluence Cloud**.
2. Authorize with Confluence.
3. Pick the **spaces** you want (the dashboard lists them).
4. Large spaces sync fully in one trigger thanks to offset-based **sync continuation** — Kiomon re-dispatchs itself hop-by-hop until the space is complete, instead of waiting for the next scheduled run.
</TabItem>

The sync pipeline is asynchronous and chunked:

Connector trigger (connect, manual "Sync now", or schedule)
Source content is fetched (paginated, rate-limit safe)
Items stream back in batches and become documents
A "synced" state once the run completes; new items are
indexed, auto-tagged, and graphed like any other save

Key properties:

  • Bulk-safe — a large Notion workspace or Drive folder syncs fully in one trigger (no waiting for the next scheduled run)
  • Consistent state — the connector stays in syncing until the run completes, then flips to synced; a stalled sync is surfaced so you can re-trigger it
  • Reconciliation — content removed from the source is cleaned up during sync
  • Usage is checked before each sync, so you’re never surprised by a half-sync at your plan limit
Action Where
Connect Dashboard → Connectors → Add connection
Sync now Connector card → Sync (or via API POST /api/connectors/:id/sync)
Rename / toggle Connector settings
Remove Disconnect — token and synced items are cleaned up (content you already saved is kept unless you delete it)
Flows Notion spaces, Google Drive picker, Confluence spaces provide purpose-built selection UIs
  • Free: 1 connector
  • Pro (incl. trial): up to 100 connectors

The API enforces the cap (402 with a clear message on exceed); the dashboard shows the upgrade dialog.

  • OAuth tokens are encrypted at rest and never returned by the API
  • Credentials are scoped per user; disconnecting a connector revokes access to your provider account
  • The write-back path from the sync engine is authenticated separately from your session — clients never see or touch it
Endpoint Purpose
GET /api/connectors List connectors
POST /api/connectors Create a connector (OAuth stub)
GET /api/connectors/connections List the user’s OAuth connections
DELETE /api/connectors/connections/:id Disconnect
PATCH /api/connectors/:id Update config (spaces, folders, label)
POST /api/connectors/:id/sync Trigger a manual sync
GET /api/connectors/:id/confluence/spaces List Confluence spaces
POST /api/connectors/:id/google/token Exchange a Drive token

The sync write-back is authenticated separately from your session and never exposed to clients.