SLA deadline

Shipped

Deadline-aware routing that prefers recipients likely to beat the SLA.

Example

How SLA deadline decides — the pool is evaluated and the winner is assigned. Each strategy selects differently.

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

Parameters7

sla_weightsliderdefault 1010
load_penalty_weightsliderdefault 1010
capacity_weightsliderdefault 1010
response_time_weightsliderdefault 1010
min_capacity_percentsliderdefault 001
catchall_modeenumdefault best_effort
best_effort · fallback · fail_closed
fallback_strategystringdefault smooth_weighted_round_robin

Cached parameter metadata — connect the engine for live defaults.

How it works

Scores recipients by deadline pressure, SLA quality, response time, load, and capacity, preferring those likely to beat ExpiresAt. CatchallAt sets a fall-through threshold with best-effort, fallback, or fail-closed behavior.

Explainable