How to Set Task Priority — IVR, Labels & Studio

Set Task Priority for IVR, Customer Labels, and Conversation Studio

Audience: IVR developers, Conversation Studio flow designers, and supervisors.

Related pages: Task Priority | Priority Routing | Default Flows


Overview

Task priority decides how quickly a customer request moves through the agent queue. Use it to make urgent or high-value requests easier to pick up first, while keeping normal traffic on the default FIFO behavior.

Quick rule: Use priorities from 1 to 10. A higher number means higher priority. If no priority is provided, the system uses 1.

Rule

Value

Priority range

1–10 — 1 is lowest, 10 is highest

Default

1 — FIFO, first in first out

System reserved

11 — used only for RONA re-queue. Do not set this manually.

1. IVR / Voice

When to use it

Use IVR priority for inbound voice calls where the customer requests an agent, such as pressing 0, or for any voice handoff that needs to enter queue routing with a defined urgency.

Where to set priority

Item

Value

CIM intent

ASSIGN_RESOURCE_REQUESTED

Priority field

body.additionalDetail.priority

Type

Integer from 1–10

Default if omitted

1

Important: Do not use header.channelData.requestPriority. Queue routing does not use this field.

Required additionalDetail fields

Field

Required?

Example

Notes

callId

Yes

"call-abc-123"

Unique call or session ID

mode

Yes

"QUEUE"

Use QUEUE or AGENT

direction

Yes

"INBOUND"

Usually INBOUND for IVR

resource

Conditional

See example below

Required when mode = "AGENT"

priority

No

7

Use 1–10. Default is 1.

offerToAgent

No

true

Default is false

metadata

No

{ "uuid": "...", "eslHost": "..." }

FreeSWITCH metadata

Resource example

JSON
"resource": {
  "type": "ID",
  "value": "6172426726c3762d4f5f68fe"
}

You can also route by name using "type": "NAME" and "value": "Sales Queue".

If mode = "QUEUE" and resource is omitted, the channel default queue is used.

Example: full CIM payload

JSON
{
  "header": {
    "intent": "ASSIGN_RESOURCE_REQUESTED",
    "channelData": {
      "channelCustomerIdentifier": "1701",
      "serviceIdentifier": "<service-id>"
    }
  },
  "body": {
    "type": "ASSIGN_RESOURCE_REQUESTED",
    "additionalDetail": {
      "callId": "call-abc-123",
      "mode": "QUEUE",
      "direction": "INBOUND",
      "resource": {
        "type": "ID",
        "value": "6172426726c3762d4f5f68fe"
      },
      "priority": 7,
      "offerToAgent": true,
      "metadata": {
        "uuid": "freeswitch-uuid",
        "eslHost": "192.168.1.161"
      }
    }
  }
}

IVR developer checklist

  • Set priority in body.additionalDetail.

  • Include callId, mode, and direction.

  • Use priority values from 1–10 only.

  • Make sure the Voice Connector posts ASSIGN_RESOURCE_REQUESTED to CCM.

2. Customer Labels

When to use it

Use customer labels when priority should come from the customer segment, such as Premium or Gold customers, instead of being hardcoded in the IVR.

One-time setup

  1. Create customer labels in Agent Desk. See the Supervisor Guide → Customer Labels.

  2. Set a priority from 1–10 on each label.

  3. Agents assign labels to customers during interactions.

Example label configuration

Label

Priority

Premium

10

abels can be strings or objects with a name property (case-insensitive).

Interaction with IVR priority

The Set Priority node uses both sources:

Source

Field

IVR / channel

msg.payload.data.additionalDetails.priority

Customer labels

msg.payload.session.customer.labelNames

  • Starts from IVR/channel priority if provided; otherwise 1

  • Label priority is then applied per Priority Routing rules

No IVR config needed for label-based priority — works automatically when labels are configured and assigned.

Reference docs:

3. Conversation Studio

When to use

Any agent-routing scenario: chat handoff, voice FIND_AGENT, callback reroute, custom business rules.

Default Find Agent Subflow

Standard deployment uses this sequence:

Open in Studio: https://<FQDN>/conversation-studio/Find Agent Subflow

See also: Default Flows §16 Find Agent

Screenshots (from Default Flows)

Embed or link to these existing figures on Default Flows §17:

Figure

Description

Link

Figure 17.3

Find Agent Subflow Changes — Switch + Set Priority To 10 nodes

View on Default Flows

Figure 17.4

Check if Reroute On Callback (Switch Node) configuration

View on Default Flows

Figure 17.1

Agent State Change Flow (callback context)

View on Default Flows

Tip: Open Default Flows, click each figure, and use Copy or Excerpt Include to embed images on this page.

Final step — Dispatch Find Agent

Sends FIND_AGENT action to Conversation Manager:

JSON
{
  "priority": 7,
  "type": "ID",
  "queue": "6172426726c3762d4f5f68fe",
  "offerToAgent": false,
  "lastAgentId": null,
  "requestType": {
    "direction": "INBOUND",
    "mode": "QUEUE"
  }
}

The priority field is what the Routing Engine uses.

Node doc: Dispatch Find Agent

Comparison

Method

Who configures

Where priority is set

Typical use case

IVR / Voice

IVR / Voice Connector dev

body.additionalDetail.priority

VIP line, urgent IVR menu

Customer Labels

Supervisor + Agent

Agent Desk labels → Set Priority node

Known VIP customers

Conversation Studio

Flow designer

Set Priority / Function nodes

Callback reroute, custom rules