Skip to content

Integrations

Integrations

Integrations bind external receive/send behavior to a collection. Each is one file beside the model, discovered automatically.

Definition

Declare an integration as named bindings in +integrations.ts — one binding per external system, each with its own receive and send behavior:

import type { Integrations } from './$types.js';

export default {
  accounting: {
    receive: { /* parse inbound payloads into collection writes */ },
    send: { /* deliver outbound payloads to the external system */ }
  }
} satisfies Integrations;

Connections stay with the host

Connections and secret values remain host facilities; tenant source declares requirements only — no credentials ever reach workspace code. See Facilities .

Choose the narrowest role

Companion roles overlap on purpose — pick the narrowest one that fits:

  • Hooks — mutation invariants and same-transaction effects ( hooks)
  • Pipelines — reusable bulk ingest and artifact contracts ( pipelines)
  • Integrations — reliable external delivery that reuses pipelines