Documentation
DocsConcepts

Escalation paths

Who reviews a request, when they’re contacted, and what happens if nobody decides.

Updated Sep 19, 2026

An approval pipeline decides whether to approve a request, deny it or ask a human. An escalation path finds the people who can review it and decides when to contact them.

Shared paths

An escalation path belongs to the organization. It exists separately from any pipeline, so several agent pipelines and the organization pipeline can all send requests to the same path.

For example, every pipeline that needs a payments reviewer can use Payments review. You maintain its routing rules in one place. Each request follows those rules independently.

Loading diagram…

Diagram source
mermaid
flowchart TD
    organization["Organization pipeline"] -->|Human review| path["Shared escalation path"]
    agentA["Agent A pipeline"] -->|Human review| path
    agentB["Agent B pipeline"] -->|Human review| path
    path -->|Rules select reviewers| person["Individual reviewer"]
    path -->|Rules select reviewers| team["Team"]
    team --> policy["Team escalation policy"]
    policy --> members["Notify selected members or everyone on the team"]

These are possible routes to the same path. A request only enters it when its pipeline asks for human review.

How a path works

A path contacts people or teams in a defined order. It can give them time to make a decision before contacting additional reviewers.

The path can also take different branches based on details in the request. For example, a larger refund might need a different reviewer from a smaller one. Paths can account for working hours and timezones too.

A single approval or denial ends the request and stops escalation.

People and teams

A path can contact an individual person or hand off to a team. The team can own a team escalation policy. It uses the same kinds of rules to choose which members to notify and in what order.

A team policy can name individual members or everyone on that team, but it cannot send the request to another team. Without an active policy, everyone on the team is notified at once. This lets you reuse the same team in several paths while the team maintains its own notification rules.

The escalation path decides who to contact and when. Each person's notification rules choose their channels and any further delay before a message is sent.

Who can decide

Being routed a request does not grant permission to approve or deny it. Reviewers also need permission to decide that request.

The notification order is not a sequence of required approvals. An eligible reviewer can act before their notification step arrives, and earlier reviewers can still act after escalation. Every authorized current member of a targeted team can decide, even if the team's policy has not notified them.

One approval or denial ends the request for everyone. There is no requirement for every person or team in the path to approve.

If nobody decides

A claim tells others that someone is reviewing the request. It pauses the countdown to further escalation. If the claim is released or lapses without a decision, escalation resumes. The request's deadline still applies.

Reaching the end of a path leaves an unanswered request pending. Someone can still review it before its deadline. If nobody decides in time, the request expires.

Escalation stops whenever the request ends, including when it's cancelled or expires.

An example: reviewing a refund

Our Support assistant, from the Approval pipelines example, has sent a $75 refund for human review, using a path called Payments review.

We'll set up that path like this.

  1. For refunds up to $100, contact the Payments team.
  2. If nobody has made a decision after 10 minutes, also contact Priya, the finance lead.
  3. For refunds over $100, contact Priya immediately.

Loading diagram…

Diagram source
mermaid
flowchart TD
    pipeline["Support assistant pipeline requests human review"] --> path["Payments review path"]
    path --> amount{"Refund amount"}
    amount -->|Up to $100| payments["Contact Payments team"]
    amount -->|Over $100| priya["Contact Priya, finance lead"]
    payments --> decision["Approved or denied"]
    payments --> delay["No decision after 10 minutes"]
    delay --> priya
    priya --> pending["Pending until a decision or expiry"]
    pending --> decision
    pending --> expired["Expired"]

The $75 refund goes to the Payments team first. Its policy controls which members get notified. If someone approves or denies it, that's the decision sent back to Support assistant. If nobody decides within 10 minutes, Priya is contacted too, unless a claim has paused escalation.

A $250 refund would go straight to Priya. Both refunds have already been selected for human review by the approval pipeline; the escalation path decides who to ask. If the request is still unanswered after the final step, it stays pending until someone decides or it expires.

See Escalation paths for the editor and Teams for team escalation policies.