Integration

The `Integration` entity.

Definition

TypeScript
interface Integration {
  id: string;
  workspaceId: string;
  slug: string;
  name: string;
  description: string | null;
  iconUrl: string | null;
  publisher: string;
  trustTier:
    | "first_party"
    | "vendor_official"
    | "verified_partner"
    | "verified_publisher"
    | "community";
  currentVersion: string | null;
  manifest: Record<string, unknown>;
  variablesSchema: Record<string, unknown>;
  authConfig: Record<string, unknown>;
  visibility: "private" | "public" | "unlisted";
  createdBy: string;
  deletedAt: string | null;
  retentionTier: "short" | "medium" | "long" | "none" | null;
  createdAt: string;
  updatedAt: string;
}

Fields

FieldTypeNotes
idstringreadonly required
workspaceIdstringrequired — Source workspace where the integration is built and published from.
slugstringrequired — Unique within publisher namespace. Used in install URLs.
namestringrequired
descriptionstring | nullrequired
iconUrlstring | nullrequired
publisherstringrequired — Free-text publisher identity for v1 (aeontel, stripe, etc.). A future Publishers entity could replace this with an FK.
trustTier"first_party" | "vendor_official" | "verified_partner" | "verified_publisher" | "community"required
currentVersionstring | nullrequired — Semver string of the latest published version. NULL means draft — created but never published.
manifestRecord<string, unknown>required — Declared members + dependencies + defaults + forkOnInstall flags. Edited freely until publish; snapshotted into integration_version at publish time.
variablesSchemaRecord<string, unknown>required — JSON-Schema-shaped declaration of install-time variables the consumer fills in. Non-secret — secrets live in auth_state.
authConfigRecord<string, unknown>required — { type: 'oauth2'|'api_key'|'none', scopes, authHeaderName, authValuePrefix, callbackUrl, … }. Drives the install wizard's auth step.
visibility"private" | "public" | "unlisted"required
createdBystringrequired
deletedAtstring | nullrequired
retentionTier"short" | "medium" | "long" | "none" | nullrequired
createdAtstringreadonly required
updatedAtstringreadonly required