Skip to main content
The slash command registry is a server-driven catalog of actions that can be launched from the chat UI palette and the CLI repl. Each entry carries a capability; the handler intersects the static catalog with the caller’s capability set and returns only the entries the caller is allowed to invoke — entries the caller can’t use never reach the wire. The endpoint requires authentication and workspace context (the slash palette is workspace-scoped). A caller with no relevant grants gets an empty array, not a 403 — the palette still opens, just with no actions in it.

i18n

Entries carry both label (English) and label_cs (Czech) so the dashboard can pick by locale without a translation step. The shape is open — additional label_* fields may be added without breaking clients.

List Slash Commands

GET /api/v1/slash-commands?workspace_id={workspaceId}
Returns the catalog intersected with the caller’s capability set, in catalog order. Auth: Any authenticated workspace member (filtered by caller capabilities) Response: 200 OK
[
  {
    "id": "routine",
    "label": "Create routine from this conversation",
    "label_cs": "Vytvořit rutinu z této konverzace",
    "icon": "calendar-clock",
    "capability": "routine.create",
    "form_schema": [
      { "name": "name", "type": "text", "required": true },
      { "name": "cron", "type": "cron", "required": true },
      { "name": "timezone", "type": "timezone", "default": "UTC" }
    ]
  }
]

Entry Fields

FieldTypeDescription
idstringCommand ID
labelstringEnglish label
label_csstring?Czech label
iconstring?Lucide icon name
capabilitystringCapability required to invoke this command
form_schemaarray?Form fields the action modal renders

Form Field

FieldTypeDescription
namestringField name
typestringRenderer type (open set; unknown types fall back to text)
requiredboolean?Whether the field is required
defaultstring?Default value

Static Catalog Entries

The platform-defined catalog includes these actions (each gated by its own capability):
idActionCapability
routineCreate a routine from the conversationroutine.create
issueCreate an issue from the conversationissue.create
skillCreate a skill from the conversationskill.create
credentialAdd a credentialcredential.create
StatusCondition
400Missing workspace context
401Not authenticated