idrequired
| string(uuid) | The unique identifier for the agent. |
namerequired
| string | The name of the agent. |
icon
| string | The icon of the agent. |
typesrequired
| string[] | The types of the agent. |
directionsrequired
| string[] | The directions of the agent. |
summaryrequired
| string | The summary of the agent. |
| object | The instructions of the agent. |
examplePrompts
| string[] | Example prompts to help users start conversations (max 5, each max 100 chars). |
organizationIdrequired
| string(uuid) | The organization identifier of the agent. |
authPublicClientIdrequired
| string(uuid) | The public client identifier of the agent. |
authPublicClientSecretrequired
| string | The public client secret of the agent. |
authPublicClientAllowedOriginsrequired
| string[] | The allowed origins of the agent. |
| object | Configuration for the chat widget appearance and behavior.(default: {"iconType":"smooai","iconUrl":"https://smoo.ai","requireName":true,"requireEmail":true,"requirePhone":false,"allowAnonymous":false,"colors":{"text":"#f8fafc","background":"#040d30","primary":"#00a6a6","primaryText":"#f8fafc","secondary":"#ff6b6c","chatBubbleInbound":"#06134b","chatBubbleInboundText":"#f8fafc","chatBubbleOutbound":"#00a6a6","chatBubbleOutboundText":"#f8fafc","border":"#0a1f7a"}}) |
| object | Configuration for the agent's personality and behavior traits.(default: {"preset":"bright","creativity":0.7}) |
template
| stringenum: [customer_support, developer_assistant, knowledge_expert, sales_outreach, internal_helpdesk, schedule_a_call, custom] | Template used to create this agent. |
visibility
| stringenum: [public, internal] | Where this agent is accessible (public widget or internal dashboard).(default: "public") |
role
| stringenum: [customer, smoo_builder] | customer (default, built by the org) or smoo_builder (auto-provisioned org admin assistant).(default: "customer") |
kind
| stringenum: [chat, workflow] | SMOODEV-2204 — `chat` (conversational, default) or `workflow` (single-shot data pipeline like Signal Agent — no widget). DB column is NOT NULL with default `chat`, so reads always return a value; create can omit it to take the default.(default: "chat") |
isBuiltin
| boolean | True only for the built-in Smoo Builder agent. Cannot be deleted; role is locked. Defaults to false so create callers can omit it.(default: false) |
enabled
| boolean | th-6e556c — lifecycle on/off switch. When false the agent stops serving: session-creation entry points (web chat + voice refuse; social channels silently drop). Defaults to true so existing agents and create callers that omit it stay live. Duplicated agents are created disabled.(default: true) |
responseMode
| stringenum: [auto, approval] | SMOODEV-1168 — `auto` (default) sends agent responses immediately on the originating channel; `approval` writes drafts to conversation_drafts and suppresses dispatch for human review. DB column is NOT NULL with default `auto`, so reads always return a value; create can omit it to take the default.(default: "auto") |
| object | Configuration for agent tools and integrations.(default: {"enabledTools":[]}) |
| object | SMOODEV-2259 — per-agent SEP extension enablement. Intersected with the server allowlist; empty/missing is fail-closed (no extensions for this agent).(default: {"enabledExtensions":[]}) |
knowledgeSelection
| unknown | SMOODEV-775 — which org-scoped knowledge this agent can search. Default `all_org`; `selected` lets the agent subscribe to specific folders and/or documents. DB column is NOT NULL with a default, so reads always return a value; create can omit it to take the default. |
| object | Structured goal + steps for multi-turn conversation flow. Optional — freeform-prompt agents work without this. |
| object | SMOODEV-2172 — per-agent assessment scoring rubric (dimensions × behavioral score bands + deterministic posture thresholds). Rendered host-side into the system prompt; record_assessment recomputes the posture from scores. Nullable — non-assessment agents omit it. |
| object | SMOODEV-670 — opt-in CRM contact lookup for personalization. UX only, NEVER an auth signal (phone/email headers are spoofable).(default: {"enabled":false,"allowedFields":["firstName","lastName","jobTitle"]}) |
voiceProfileId
| string(uuid) | SMOODEV-799 — reference to a row in voice_profiles. NULL means use the system default voice (Aria — peppy). |
greeting
| string | SMOODEV-798 / SMOODEV-932 — channel-agnostic initial greeting seed. composeChannelGreeting rephrases this per channel (voice, chat, sms). NULL falls back to per-channel defaults. |
model
| string | SMOODEV-2172 — per-agent LLM model override for the smooth-operator engine (operator 1.22 AgentBehaviorConfig.model). NULL falls back to the deployment default (SMOOTH_AGENT_MODEL). |
maxIterations
| integer | SMOODEV-2172 — per-agent cap on the operator's tool-call loop (operator 1.22 AgentBehaviorConfig.max_iterations). NULL falls back to the engine's built-in iteration cap. |
createdByrequired
| string(uuid) | The user identifier of the agent. |
createdAtrequired
| string(date) | The date and time the agent was created. |
updatedAtrequired
| string(date) | The date and time the agent was last updated. |