Skip to main content
POST
workflow_id of an active task starts contact right away. Normally this happens per its cadence (WhatsApp, calls and other channels); calls wait for the task’s contact hours, and messages go right away unless the task restricts messages to its hours; force_touchpoint: true overrides the hours and contacts right away. Leads marked do-not-contact are not contacted, and tasks that only reply (inbound-only) don’t start outreach. If the task is paused, contact starts when it is turned on.
This moves the lead to a different AI agent (workflow). It does not change the lead’s owner — the person on your team responsible for it.To set the owner, send assigned_to on PATCH /leads/ or when creating the lead.

Request an immediate call

Send force_touchpoint: true when a lead requests a call now, including outside the Agent’s contact hours:
For a new assignment, the Agent selects the call channel first when available and schedules the opening call without a contact-hours delay. Later contacts keep their configured hours. If the lead is already active in this Agent, the call is requested on the existing assignment without resetting its stage. Use restart: true only when a fresh assignment is also wanted. The override preserves pauses, disabled call channels, human takeover, leads waiting for your team and duplicate-call protection. If an opening call is unavailable, normal channel fallback can still apply; the call override is reported as unapplied. Check the force_touchpoint object in the response:
applied: true means the call was queued or accepted, not that the lead answered. With applied: false, inspect reason, code or error for the cause. For example, workflow_paused means the Agent is paused, duplicate_lead_call means an existing call blocked a new one, and lead_in_support means the lead is waiting for someone from your team to reply. lead_support_unverified with retryable: true means Nexor could not confirm whether the lead is waiting for the team; the request can be retried after a short wait. A successful assignment can return success: true with force_touchpoint.applied: false. The option defaults to false and accepts only a JSON boolean. MCP keys need both leads:write and messages:send; REST API keys keep their existing access. This option applies only to this single-lead assignment endpoint, not bulk assignment or lead creation.

Authorizations

X-API-Key
string
header
required

API key for authentication. Keys are prefixed with nxr_live_.

Path Parameters

id
string<uuid>
required

Lead ID

Body

application/json
workflow_id
string<uuid>
required

ID of the workflow to assign the lead to. Use GET /workflows to list available workflows. workflowId (camelCase) is accepted as an alias.

Example:

"123e4567-e89b-12d3-a456-426614174000"

reason
string

Optional reason for the assignment. Stored on the deactivated workflow run when reassigning.

Example:

"Lead qualified for premium workflow"

restart
boolean
default:false

Create a fresh run even if the lead is already active in this Agent. When omitted or false, the existing run and stage are preserved.

force_touchpoint
boolean
default:false

Request an immediate call, including outside contact hours. On a new run, selects call as the opening channel when available and bypasses hours only for that call; normal channel fallback remains when calling is unavailable. On an existing run, requests a call without restarting it. Pauses, channel availability and outbound guards remain in effect. MCP keys require messages:send in addition to leads:write.

Response

Workflow assigned successfully

success
boolean
required
workflow_run
object
required
force_touchpoint
object

Present when force_touchpoint is true. Assignment may succeed while the call request is blocked or fails. applied=true means the call was queued or accepted, not that the lead answered.

Last modified on October 6, 2026