Skip to main content

Queues

A queue is a list of work items that robots take from. It is how you split a batch across several robots, and how you keep track of what has been done, what failed, and what is still waiting.

The Queues page

Each queue shows its item counts by state, which is the fastest read on whether a process is healthy: a growing New column means work arriving faster than it is processed, and a growing Failed column means something is broken.

Creating one

Create Queue, then a name and description:

Create Queue

Item states

An item moves through states as it is worked:

StateMeans
NewInserted, not yet picked up
In ProgressA robot has taken it and is working on it
SuccessCompleted
FailedThe flow marked it failed
AbandonedGiven up on — retried too often, or explicitly abandoned

New is set for you on insert, and In Progress when a robot takes an item. The final state is set by your flow — the queue does not know whether the work succeeded, so the flow has to say so.

An item left In Progress

If a flow crashes without setting a final state, the item stays In Progress and nothing else picks it up. Set the state on the error path too, not just the happy path — see Exceptions.

Why a queue rather than a loop

A For Each over a list runs on one robot, start to finish, and loses its place if the robot dies. A queue survives both:

  • Several robots can work the same queue at once
  • A crash loses one item, not the batch
  • Progress is visible while it runs, not only at the end
  • Retry is per item, not all-or-nothing

Queues are also how HTTP triggers deliver requests: the request body is encrypted into a queue and the flow reads from there, so callers are never waiting on a robot.

Working with items in a flow

See also