VocalDocscontracts 1.65.0

AgentConfigInput

An Agent configuration in request form.

An object with 21 fields.

Fields

FieldTypeRequiredDescription
analysisarray of AnalyzerBindingInputnoThe analyzers that run after finalize over the Call's stored transcript (1.56.0, FR-calls-14, FR-calls-19), at most 8, each once: summary and outcomes in 1.56.0. Checked at create, draft update and publish (AnalyzerBindingIssueCode, at /analysis/...); a reserved analyzer is 422 capability_not_available. Publishing pins each analyzer's version in the version's analyzer_versions. Absent means none, though an outcomes retry still runs for an Agent with an Outcome schema.
compliance_fallbackComplianceFallbackInputno
decisionDecisionConfigInputnoThe Agent's decision lane (1.58.0, FR-decisions-1 to FR-decisions-3): the decision stage's Provider chain and the question sets its states name, with their budgets and thresholds. Absent means no lane.
engineEngineKindyes
instructionsstringnoThe system instructions of the Agent, its inline Agent layer. From 1.17.0 they may refer to a declared variable as {{variables.<name>}}, rendered with the Call's values; \{{ writes a literal {{. From 1.55.0 optional: exactly one of instructions and prompt is set.
knowledgearray of KnowledgeBindingInputnoThe Knowledge bindings of the draft (1.53.0, FR-knowledge-2), at most 8, each name once: which Knowledge base the Agent may read, under which fixed filter and limits, and whether passages enter the request as context, through the search_knowledge Tool or both. The references are checked at create, draft update and publish (KnowledgeBindingIssueCode), and publishing freezes each in the version's knowledge_bindings. Absent means none.
languageLanguageTagyes
machineMachineInputnoThe Agent's statechart (1.58.0, FR-agents-12): regions, states, guarded transitions and bounded loops; publishing checks it (StatechartIssueCode), freezes it with the version and compiles it into the Session's machine. Absent, the Agent runs one implicit state, as every Agent did before 1.58.0.
modelModelRefWithSecondariesInputyes
outcome_schemaOutcomeSchemaInputnoThe typed post-call fields of the Agent's Calls (1.56.0, FR-calls-16; agent-runtime.md section 3.4), which the Session fills at on_call_end. Checked at create, draft update and publish (OutcomeSchemaIssueCode, at /outcome_schema/...); in PHI mode publish refuses a free-text field marked phi: false. Absent means no Outcome.
policy_idsarray of PolicyIdnoThe agent-scoped Policies the draft attaches (1.47.0, FR-agents-7), each once. Their order does not matter: a hook runs its Policies by priority, then organization scope before agent scope, then id. Publishing the Agent version pins the active version of each in policy_versions, and refuses one that is not an agent-scoped Policy of the Organization (policy_reference_unknown) or that has no active version (policy_no_active_version). From 1.51.0 an attached Policy whose transfer action names a destination key that transfer_destinations lacks is policy_destination_missing at /policy_ids/<n>, at create, draft update and publish. An organization-scoped Policy is never attached: dispatch adds it to every Call. Absent means none.
promptPromptReferenceInputnoThe Agent layer as a Prompt template (1.55.0), in place of instructions: exactly one of the two is set. Its references are checked at create, draft update and publish (AgentPromptIssueCode), publish lints the template against the Agent, and publishing freezes it in the version's prompt. Absent means the inline instructions.
settingsAgentSettingsInputno
slotsSlotsInputno
squadarray of SquadMemberInputnoThe squad Agents of the draft (1.58.0, FR-agents-14), at most 8, each key and each Agent once: the Agents the machine's states and observer regions bind by key. Publishing pins each one's active version in the version's squad_versions. A squad Agent that has its own machine or squad is refused at publish (squad_too_deep). Absent means none: every state binds self.
tool_idsarray of ToolIdnoThe Tools the draft attaches (1.49.0, FR-agents-1), each once, in the order the model is offered them. Each must be a Tool of the Organization (tool_reference_unknown) that is not archived (tool_reference_archived), checked at create, draft update and publish, and with any Tool attached every model of the model stage must declare tool calling (capability_mismatch with the reason tool_calling, FR-agents-2). Publishing the Agent version freezes a copy of each in the version's tools. Absent means none: an Agent with no Tools sends the model no Tool field.
transcriberStageRefWithSecondariesInputyes
transfer_destinationsarray of TransferDestinationKeynoThe transfer destinations the Agent may reach (1.50.0, FR-telephony-6), each a key of the Organization's transfer allowlist, once. A key not on the allowlist is destination_not_allowed, checked at create, draft update and publish; a Policy attached in policy_ids whose transfer names a key this list lacks is policy_destination_missing (1.51.0; policy_reference_unknown until then) at create, draft update and publish. A transfer starts only from a Policy or a control command, never from the model. Absent means none, and every transfer is refused with destination_unknown.
variablesarray of VariableDeclarationInputnoThe declared variables (1.17.0): at most 50, each name once. The instructions and the greeting text refer to one as {{variables.<name>}}. Absent means none.
voiceVoiceRefWithSecondariesInputyes
workflow_idWorkflowIdnoThe conversation-scope Workflow the Agent's Calls run (1.59.0, FR-agents-1), whose agent_id must be this Agent. Publishing pins its active version in workflow_version and compiles it into the Session's machine; the Agent then sets no machine, slots or squad. Absent, the Agent runs its statechart or the implicit machine.