Skip to main content
PUT
Send only the settings you want to change, plus "confirm": true. Settings you leave out keep their value. Any other key returns 400 invalid_router_settings_field, with the unknown keys in fields.

Turn the router on

  • Without a default task, Nexor prefers the Agent’s arrival task. Otherwise, it prioritizes active, unpaused tasks and then creation order. candidate_workflow_ids limits the candidates when set.
  • The default task must be one of the agent’s tasks. A paused task is allowed.
  • When candidate_workflow_ids is set, the default task must be in that list.
  • Turning the router on does not enable incoming calls. Set the Agent’s incoming-call mode separately with set_agent_inbound_calls in the MCP or PUT /master-workflows/{id}/inbound-calls in the API.

Decide when the agent asks first

Check the result with Test a message before real leads write.

Turn the router off

Turning the router off works even when saved task IDs are out of date. It also stops AI reception; direct forwarding stays on, and the number still belongs to the Agent. If the number cannot stop answering, the router stays on and the response is 400 with the cause, for example call_reception_stop_failed.

Authorizations

X-API-Key
string
header
required

API key for authentication. Keys are prefixed with nxr_live_. To work inside a sub-account with a main account key, also send the optional X-Nexor-Sub-Account-Id header.

Path Parameters

id
string<uuid>
required

Agent ID (master_workflow in the API). A malformed ID returns 400 invalid_group_id.

Body

application/json

Send only the settings to change. Any other key returns 400 invalid_router_settings_field.

confirm
enum<boolean>
required

Must be true.

Available options:
true
is_active
boolean

Whether the inbound router picks the task for new inbound conversations of this agent.

default_workflow_id
string<uuid> | null

Default task (workflow in the API). Conversations go here when no rule matches and the AI is not confident enough. Must be a task of this agent; paused tasks are allowed.

candidate_workflow_ids
string<uuid>[] | null

Tasks the router may choose from. null means every task of the agent.

ai_enabled
boolean

When true, the AI reads the lead's first message and picks the task that fits best. It runs only when no earlier step decided and more than one task is available.

confidence_threshold
number

Minimum AI confidence to send the conversation straight to a task. Default 0.75.

Required range: 0 <= x <= 1
clarify_threshold
number | null

Below confidence_threshold but at or above this value, the agent asks the lead a clarifying question instead of guessing (WhatsApp and web chat). Below it, the conversation goes to the default task. Must not be greater than confidence_threshold. null restores the default (0.55).

Required range: 0 <= x <= 1
ambiguity_margin
number

When a second task scores within this margin of the best one, the agent asks a clarifying question while questions remain. 0 turns this off. Default 0.25.

Required range: 0 <= x <= 1
routing_window_hours
integer | null

A lead who writes again within this many hours goes back to the task chosen last time. null turns this off.

Required range: x >= 1
max_profiling_turns
integer

Maximum clarifying questions before the conversation goes to the best match or the default task. Default 3.

Required range: 1 <= x <= 5
model_tier
enum<string>

AI model size used to pick the task: haiku (faster, default) or sonnet (more capable).

Available options:
haiku,
sonnet
extraction_enabled
boolean

When true, later messages in an ongoing conversation are also checked against the agent's other tasks, and the router records when another task would fit better (would_extract outcome).

extraction_candidate_workflow_ids
string<uuid>[] | null

Tasks considered by that later check. null means every task of the agent.

extraction_confidence_threshold
number

Minimum confidence for that later check. Default 0.75.

Required range: 0 <= x <= 1
continuity
object

Free-form object saved with the settings. Defaults to {}; the router does not require it.

reception_greeting
string | null

What the AI receptionist says word for word to every new caller while it routes calls (AI routing on, or a keyword rule that applies to calls), instead of any task's inbound greeting. Up to 160 characters after trimming; whitespace is collapsed. Variables in double curly braces are not allowed. null uses the generated greeting, returned as reception_greeting_default by GET. Calls use a new value within a minute or two.

Required string length: 1 - 160

Response

Saved settings.

agent_group_id
string<uuid>
required
settings
object | null
required

Router settings of the agent. null when the router was never configured for it.

Last modified on October 23, 2026