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.
Install and compose
Section titled “Install and compose”bun add @notewright/linear-follow-up-providerimport { 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.
Configuration
Section titled “Configuration”The linear provider declares this configSchema:
| Key | Kind | Required | Purpose |
|---|---|---|---|
LINEAR_API_KEY | secret | Yes | Linear API key used to create issues. |
LINEAR_TEAM_ID | var | Yes | The 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.
Behavior
Section titled “Behavior”- Deduplication. Before creating an issue, the sink searches the team for an
existing issue with the same title. If one exists, it reports
duplicateand creates nothing. - Priority mapping. Notewright priorities (
0none …4urgent) are mapped onto Linear’s inverted scale (1urgent …4low,0none). - 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
429or5xxfrom Linear is treated as transient and retried; other errors are permanent.
Notes-only deployments
Section titled “Notes-only deployments”If you want to sync and extract without filing issues anywhere, compose the noop sink instead of Linear.