Skip to content

Linear (follow-up sink)

@notewright/linear-follow-up-provider is the built-in follow-up sink. It creates each extracted action item as an issue in Linear. Issues created with only a team id land in that team’s native Triage inbox.

Terminal window
bun add @notewright/linear-follow-up-provider
import { defineApp } from "@notewright/core";
import { linear } from "@notewright/linear-follow-up-provider";
const app = defineApp({ notes: /* your source */, followUp: linear });
export default app;

The Linear sink is stateless and contributes no Durable Object, so there is nothing extra to re-export.

The linear provider declares this configSchema:

KeyKindRequiredPurpose
LINEAR_API_KEYsecretYesLinear API key used to create issues.
LINEAR_TEAM_IDvarYesThe team whose Triage inbox receives new issues.

Put LINEAR_API_KEY in your deploy secrets and LINEAR_TEAM_ID in the vars block of wrangler.jsonc. If LINEAR_TEAM_ID is blank at runtime, the sink fails with a permanent error.

  • Deduplication. Before creating an issue, the sink searches the team for an existing issue with the same title. If one exists, it reports duplicate and creates nothing.
  • Priority mapping. Notewright priorities (0 none … 4 urgent) are mapped onto Linear’s inverted scale (1 urgent … 4 low, 0 none).
  • Due dates. When an action item has a due date, it is passed through as the Linear issue due date (date portion only).
  • Retries. A 429 or 5xx from Linear is treated as transient and retried; other errors are permanent.

If you want to sync and extract without filing issues anywhere, compose the noop sink instead of Linear.