Type Alias: Plugin
Properties
| Property | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Plugin UUID |
slug | string | Yes | URL-friendly identifier (example: "profanity-filter") |
name | string | Yes | Display name (example: "Profanity Filter") |
description | string | No | Description |
version | string | Yes | Semantic version (example: "1.0.0") |
category | "moderation" | "analytics" | "automation" | "integration" | "transcription" | Yes | Category (UI grouping) |
kind | "event" | "audio" | Yes | How the plugin runs: event = reacts to domain events; audio = processes utterance audio in the bot (transcription providers, audio moderation) (example: "event") |
capabilities | "transcribe" | "analyze"[] | Yes | Capabilities of an audio plugin (empty for event plugins). A transcribe plugin can be selected as the project transcriber via PATCH /projects/{projectId}/settings/transcription. (example: []) |
events | string[] | Yes | Event patterns (example: ["message.created"]) |
outputAnnotationType | "profanity" | "summary" | "action_items" | "sentiment" | No | Output annotation type |
settingsSchema | PluginSettingField[] | No | Settings schema |
productSlug | string | No | Payment product slug this plugin activates (set = paid plugin). When present, installing/enabling the plugin activates this product and disabling/uninstalling deactivates it. (example: "amanda") |
pricingUrl | string | No | Pricing page URL for the tied Payment product, shown in the install cost-acceptance notice. (example: "https://odin.4players.io/pricing") |
icon | string | No | Heroicons icon name (example: "heroicons_outline:shield-check") |
isActive | boolean | Yes | Whether plugin is available |
Defined in
odin-transcription-service/packages/cortex-typescript-sdk/src/resources/plugins.ts:10