Skip to content

Set Up Priority Flows

This guide takes you from an instance with no flows to a working one: a destination queue that ages the work it holds, a flow that scores what arrives, and a source that feeds it. Follow the steps in order β€” each step links to the reference page with all the details. If you haven't yet, read How Priority Flows Work first.


1. Create the Destination Queue

Every flow has to hand its work somewhere, so build the queues before the flow.

  • For tickets, go to Settings β†’ Routings β†’ Queues, click Add new and select Ticket queue. Fill out the Title, set the Priority β€” the score tickets that arrive directly, without a flow, start from β€” and pick a Distribution strategy. See Ticket Queue for every field.
  • For calls, chats and messages, use the queues you already have: Inbound Call Queue, Web Chat Queue, SMS Queue and the other channel queue types.

Assign agents to each queue and set their Rank β€” see Queue Basics and Profiles.

Warning

Tickets can only be targeted at a ticket queue. An email or ticket target pointing at any other queue type is rejected.


2. Set Ageing on the Queue

Ageing is configured on the queue, not on the flow, so it applies to everything waiting there β€” whether or not a flow was involved.

  • On a ticket queue, fill out Priority increments based on SLA aging: the Within SLA baseline, one or more Nearing SLA steps (each with a Before deadline threshold), and the After SLA rate. Each stage takes an Increment time period and a Score increment.
  • On every other queue type, set the flat Waiting increment and Waiting increment – period (s).

See Ticket Queue – Priority Increments Based on SLA Ageing.

Tip

Set the rates on every queue a flow can reach before you go live. Queues ageing at different rates let their activities overtake one another over time.


3. Create the Flow

Go to Settings β†’ Routings β†’ Priority Flows and click New distribution. On the General tab, fill out:

Field What to enter
Title The flow's name. It is what you pick when linking routing items, distribution rules and API calls to this flow.
Default priority score The starting score every activity gets the moment it enters this flow, before any rules run.
Maximum priority score The highest score an activity can reach from this flow's own rules. Leave empty for no cap.
Description A short note on what the flow is for.

Every field is described in the Priority Flows reference.


4. Add the Scoring Rules

On the Conditions tab, click New Condition for each rule. Give it a Title, an Order (rules are checked from 1 upwards), a Priority score β€” the amount this rule adds when it matches β€” and the condition rows that have to be true.

Every rule that matches adds on top of what earlier matches already added, so build the score up in pieces: one rule for the VIP database, one for an approaching deadline, one for a channel you answer first.

Two optional toggles change what a match does:

  • Exception rule β€” the activity goes to the Queue you pick here instead of the flow's usual target. It still earns this rule's score, later rules are still checked, and if several exception rules match, the first in the order wins.
  • Stop β€” evaluation ends the moment this rule matches. Nothing below it is checked; everything already accumulated stays.

5. Set the Targets

On the Targets tab, click New Target and set where each kind of work goes: the activity Type, an optional Subtype to narrow it further (for example a ticket category), and the Target queue.

Give every activity type that can reach this flow a target. In v2026.2 the Targets tab covers Tickets, Calls and Chats & Messaging.

Warning

A channel routing item cannot be pointed at a flow that has no target for that activity type. Daktela blocks the save with The flow "…" has no target set for … β€” add the missing target first.

The flow itself also cannot be saved while a kind of work already routed into it has nowhere to go.


6. Connect a Source

Nothing enters a flow until something sends it there. Open the flow's Entry points tab to see everything currently pointed at it.

  • Calls, SMS, web chats, Facebook, WhatsApp, Viber and Instagram β€” open the channel's inbound routing and point its next destination at the flow. These appear on the Entry points tab under the channel routings, with their Title and Channel type.
  • Tickets, including every ticket created from an email β€” create a ticket distribution rule. Set its Next destination to Priority Flows and pick the flow, then set the Entry priority: Flow default to start from the flow's own Default priority score, or Explicit value to enter at a number you choose. These rules are listed on the Entry points tab with their Order and Next destination.
  • Another system β€” send the ticket in over the API: PUT /api/v6/tickets/<name>.json with the payload { "dist": true, "priority_flow": "<flow_name>" }. The Entry points tab shows the same sample.

7. Test

  1. Log an agent in to the destination queue and put them in the Ready state.
  2. Send one test activity through each source you connected β€” a call to the routing, or an email that matches your distribution rule.
  3. Check the activity is offered to the agent instead of waiting in a view.
  4. Check it landed in the queue you expected β€” including any exception rule you built.
  5. Let a second, lower-scoring activity wait alongside it and check the higher-scoring one is offered first.
  6. Leave a ticket waiting past a Nearing SLA threshold and check it overtakes older work as its deadline approaches.

The score an activity is carrying and the SLA stage it has reached can be read from the Priority and SLA stage columns in Realtime.


Go Further

  • Catch work that waits too long β€” set Max. waiting time on the queue and choose what happens next: overflow to another ticket queue, re-enter a flow with an optional entry priority increment, update the ticket and release it to manual handling, or end the distribution activity. See Ticket Queue – Max. Waiting Time and Next Targets.
  • Escalate on elapsed time β€” a distribution rule can match on how long a ticket has sat in any field value, or on a deadline coming up. A background check re-runs every 30 seconds, so escalation happens without anyone opening the ticket. See Ticket Distribution Rules.
  • Tune how much one agent holds at once with the distribution matrix.
  • Revisit the agent side β€” which agents are tried first is their Rank on the queue, set on their profile.

  • Move a flow between environments β€” export a configured flow from the flows list with Export and import it elsewhere with Import rather than rebuilding it by hand.