# Switch to llm_driven mode
curl -X PUT "https://app.talkover.ai/api/v1/agents/agent-uuid/flow" \
-H "Authorization: Bearer talq_your_environment_token_here" \
-H "Content-Type: application/json" \
-d '{ "conversation_mode": "llm_driven" }'
# Set a flow-driven configuration
curl -X PUT "https://app.talkover.ai/api/v1/agents/agent-uuid/flow" \
-H "Authorization: Bearer talq_your_environment_token_here" \
-H "Content-Type: application/json" \
-d '{
"conversation_mode": "flow_driven",
"flow_config": {
"initial_node_id": "node-greet",
"meta": { "name": "Intake v1", "version": "1.0.0" },
"nodes": [
{ "id": "node-greet", "type": "say", "content": "Hi!", "next": "node-end" },
{ "id": "node-end", "type": "end" }
],
"global_functions": [
{ "name": "end_conversation", "description": "Ends the call" }
]
}
}'
{
"success": true,
"data": {
"conversation_mode": "flow_driven",
"flow_config": { . }
}
}
Conversation Flow
Update Agent Flow
Update an agent’s conversation mode and flow configuration
PUT
/
api
/
v1
/
agents
/
{agent_id}
/
flow
# Switch to llm_driven mode
curl -X PUT "https://app.talkover.ai/api/v1/agents/agent-uuid/flow" \
-H "Authorization: Bearer talq_your_environment_token_here" \
-H "Content-Type: application/json" \
-d '{ "conversation_mode": "llm_driven" }'
# Set a flow-driven configuration
curl -X PUT "https://app.talkover.ai/api/v1/agents/agent-uuid/flow" \
-H "Authorization: Bearer talq_your_environment_token_here" \
-H "Content-Type: application/json" \
-d '{
"conversation_mode": "flow_driven",
"flow_config": {
"initial_node_id": "node-greet",
"meta": { "name": "Intake v1", "version": "1.0.0" },
"nodes": [
{ "id": "node-greet", "type": "say", "content": "Hi!", "next": "node-end" },
{ "id": "node-end", "type": "end" }
],
"global_functions": [
{ "name": "end_conversation", "description": "Ends the call" }
]
}
}'
{
"success": true,
"data": {
"conversation_mode": "flow_driven",
"flow_config": { . }
}
}
Update Agent Flow
Update an agent’s conversation mode and (when applicable) the structured flow configuration. Submitting an invalid flow returns a 422 with details — use Validate Agent Flow to dry-run validation before saving.Endpoint
PUT /api/v1/agents/{agent_id}/flow
Path parameters
string
required
Agent UUID.
Request headers
string
required
Bearer token. Format:
Bearer talq_your_environment_token_herestring
required
Must be set to
application/jsonRequest body
string
required
Conversation mode. Options:
llm_driven— LLM-guided conversation (knowledge + actions). Sendflow_config: nullor omit.flow_driven— node-graph driven.flow_configis required.
object
Flow definition. Required when
conversation_mode is flow_driven.Show flow_config object
Show flow_config object
string
required
ID of the entry node. Must reference an existing node in
nodes.object
Optional metadata:
{ "name": "string", "version": "string" }.array
required
Array of node objects. Each node has at minimum:
id (string, unique), type (say, ask, decision, action, transfer, end), and type-specific fields (content, next, branches, etc.).array
Functions invocable from any node. Common entries:
end_conversation, transfer_call, repeat_question.Examples
# Switch to llm_driven mode
curl -X PUT "https://app.talkover.ai/api/v1/agents/agent-uuid/flow" \
-H "Authorization: Bearer talq_your_environment_token_here" \
-H "Content-Type: application/json" \
-d '{ "conversation_mode": "llm_driven" }'
# Set a flow-driven configuration
curl -X PUT "https://app.talkover.ai/api/v1/agents/agent-uuid/flow" \
-H "Authorization: Bearer talq_your_environment_token_here" \
-H "Content-Type: application/json" \
-d '{
"conversation_mode": "flow_driven",
"flow_config": {
"initial_node_id": "node-greet",
"meta": { "name": "Intake v1", "version": "1.0.0" },
"nodes": [
{ "id": "node-greet", "type": "say", "content": "Hi!", "next": "node-end" },
{ "id": "node-end", "type": "end" }
],
"global_functions": [
{ "name": "end_conversation", "description": "Ends the call" }
]
}
}'
Response
{
"success": true,
"data": {
"conversation_mode": "flow_driven",
"flow_config": { . }
}
}
Error responses
422 — Invalid Flow
{
"success": false,
"message": "Flow validation failed",
"errors": [
"initial_node_id 'node-greet' not found in nodes",
"Node 'node-qualify' references unknown next node 'node-bookx'"
]
}
Notes
- Updating the flow does not change the agent’s status — but published agents need to be re-published if the flow change is breaking.
- See List Flow Versions to track historical configurations.
Was this page helpful?