---
title: "Integration"
description: "The `Integration` entity."
section: "Reference"
group: "Types"
order: 125
---

## Definition

```ts
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`                                                                                                                                             |
