Priority score

Shipped

Highest score wins — blends weight, load, and availability.

Example

How Priority score decides — the pool is evaluated and the winner is assigned. Each strategy selects differently.

type == "lead"selectedTriggerNew LeadWebhookScorePriority scoreStrategyae-westscore 96ae-eastscore 81centralscore 73Assigned
Show the code
// Priority score selects from the pool and assigns.
engine.Route(ductor.Route{
Match: `routable.type == "lead"`,
Strategy: "priority_score",
Pool: "sales-team",
})
 
// Durable, observable, exactly-once.
decision, err := engine.Dispatch(ctx, routable)

How it works

Scores each candidate by a blend of weight, current load, and availability, then routes to the top score. Ties break via smooth weighted round-robin. Explainable per-candidate scores.

WeightedExplainable