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
| Field | Type | Notes |
|---|---|---|
id | string | readonly required |
workspaceId | string | required — Source workspace where the integration is built and published from. |
slug | string | required — Unique within publisher namespace. Used in install URLs. |
name | string | required |
description | string | null | required |
iconUrl | string | null | required |
publisher | string | required — 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 |
currentVersion | string | null | required — Semver string of the latest published version. NULL means draft — created but never published. |
manifest | Record<string, unknown> | required — Declared members + dependencies + defaults + forkOnInstall flags. Edited freely until publish; snapshotted into integration_version at publish time. |
variablesSchema | Record<string, unknown> | required — JSON-Schema-shaped declaration of install-time variables the consumer fills in. Non-secret — secrets live in auth_state. |
authConfig | Record<string, unknown> | required — { type: 'oauth2'|'api_key'|'none', scopes, authHeaderName, authValuePrefix, callbackUrl, … }. Drives the install wizard's auth step. |
visibility | "private" | "public" | "unlisted" | required |
createdBy | string | required |
deletedAt | string | null | required |
retentionTier | "short" | "medium" | "long" | "none" | null | required |
createdAt | string | readonly required |
updatedAt | string | readonly required |