Case Queue

Beta — This feature is currently in beta and may change.

Introduction

Case Queue is a queue-based work item system for assignments. It lets you feed individual work items — called cases — into a queue, where assignments automatically pick them up, process them, and report results.

This is useful when you have a stream of tasks that need to be handled one at a time (or in parallel), such as processing incoming requests, handling tickets, or working through a batch of items.


Key Concepts

Queue

A queue is a container that holds cases waiting to be processed. Each team has one default queue, and cases flow through it to be claimed by assignments.

Case

A case is an individual work item with a title and associated data. Think of it as a task card — it carries the information an assignment needs to do its work.

Case Statuses

Status
Meaning

Pending

Waiting in the queue to be picked up

Claimed

An assignment has taken the case and is working on it

Completed

The assignment finished processing the case successfully

Failed

The assignment encountered an error; the case returns to the queue for retry

Agent Triggers

An agent trigger connects an assignment to a queue. When a new case arrives, the trigger automatically dispatches the assignment to claim and process it — no manual intervention needed.


How It Works

  1. Cases are added to a queue — either by another assignment or by an external system via the API.

  2. An assignment with a case trigger automatically claims the next pending case.

  3. The assignment processes the case using the case data as input.

  4. The case is marked as completed or failed. Failed cases return to the queue so they can be retried.


Setting Up a Case Trigger

To have an assignment automatically process cases from a queue:

  1. Open your assignment in the Duvo workspace.

  2. Enable the case trigger in the assignment settings.

  3. Set the concurrency — this controls how many cases the assignment can process at the same time.

Once enabled, the assignment will start claiming and processing cases as they arrive in the queue.


Producer and Consumer Pattern

A common pattern is to have one assignment create cases and another process them:

  • Producer assignment: Runs on a schedule or trigger, identifies work items, and adds them as cases to the queue.

  • Consumer assignment: Has a case trigger enabled and automatically picks up and processes each case.

This separation keeps your workflows modular — the producer focuses on identifying work, while the consumer focuses on doing it.


Human-in-the-Loop with Cases

Cases work with the Human-in-the-Loop feature. If a consumer assignment needs human input while processing a case, it will pause and send a notification to the Activity Inbox. The case stays in the Claimed status until the human responds and the assignment completes its work.


Viewing Cases

You can monitor your queue from the Cases page in your team space:

  • Filter cases by status (Pending, Claimed, Completed, Failed)

  • View case details including title, data, and processing history

  • Track queue stats to understand throughput and failure rates


Case Handover

One assignment can hand a case off to another assignment mid-workflow. When a consumer assignment determines that a different specialist should handle a case, it requests a handover. The case is released back to the queue and routed to the target assignment, which picks it up through the normal dispatcher.

This is useful for triage workflows where a general assignment routes cases to specialists, or for escalation paths where routine cases are handled by one assignment and complex ones by another.

To enable handover, configure the source assignment with @-mentions in its SOP. See Assignment Handover for setup details.


Key Takeaway

Case Queue gives your assignments a structured way to receive and process work items. Pair it with agent triggers for fully automated processing, or use the producer-consumer pattern to build modular, scalable workflows.

Last updated