AP
Agent Provider Depot
Opinionated picks for agents
OpenAPI
← All jobs

Human-in-the-loop approval workflows

Pause agents for human approve/reject on risky tools (spend, delete, send), with timeouts, escalations, and audit trails.

At a glance — Oct 2026

Updated 2026-10-27 · forward this page: /jtbds/hitl-approval-workflows#brief

Scores as of 2026-09-14 (43 days old; Depot marks scores stale after 30 days). The pick is still Depot's current editorial pick; it has not been re-reviewed since. Prices below carry their own dates.

Depot Pick
Temporal Cloud · 8.18/10 for this job (curated estimate, high confidence)

Workflow durability + signals. Confidence: high for Temporal patterns; productized HITL UIs vary.

Runner-up
Inngest · 8.08/10

Scores higher than the pick on: Price / performance, Developer & agent DX, Lock-in risk (higher = worse).

When not to use the pick
Notification-only approval UX (Knock/Courier) without durable state, or Inngest wait-for-event fits better.
Lock-in / migration
Runner-up Inngest has lower stored lock-in risk (4.2 vs 5, 0–10, higher = more lock-in).
Sourced price (no comparable unit)

Pick: no sourced price in this job's unit (no_sourced_price).

No cheapest SKU (no_comparable_unit_for_job). No price was invented.

Free option
No free resource lists this job. A cheap paid SKU is not a free option.
Failure modes to watch
  • Confirmation skip: Gate those tool names on an approval id recorded before the call. A missing approval is a failure even if the downstream tool returns success.
  • Identity confusion: Bind every tool call to a user or tenant id. Refuse the call if that id changed mid-task. For a public bot, the operator owns the words the bot shows.
  • Non-determinism: Run the task more than once and compare the end state, not a single transcript. Record the trial count next to any success rate you cite.
  • Over-refusal: Log refusals separately from successes. Review a sample against the written policy. Do not treat a refusal as a pass, and do not weaken a safety check to raise the pass rate.
  • Policy conflict: If cited sources contradict each other, return the conflict and the URLs. Do not pick a winner silently.
  • Prompt injection: Compare each tool call to the original user task. If the call only makes sense given text that arrived from a fetched page, file, or message, stop and ask. Record which source the instruction came from. This catalog does not store payloads or attack steps.
Reported outcomes (submitted reports only)

This job: loading… JSON · reports never change scores · seed/test records excluded

Depot Pick (Temporal Cloud) on this job: loading… JSON · reports never change scores · seed/test records excluded

Cite: Agent Provider Depot, Depot Pick for hitl-approval-workflows: temporal-cloud, scores as of 2026-09-14. Agents: GET /api/decide?jtbd=hitl-approval-workflows

for support agents

Depot Pick

Temporal Cloud

Workflow durability + signals. Confidence: high for Temporal patterns; productized HITL UIs vary.

Pricing (directional): As of 2026-10-21 (temporal.io/pricing and docs.temporal.io/cloud/pricing, fetched 2026-10-21): Durable execution for long-running agent workflows. Developer plan is Pay-As-You-Go with no base monthly fee ('No base fee - 10% of Usage Spend')…

Cite: Depot Pick for hitl-approval-workflows: temporal-cloud
Overall
8.2
curated_estimate
confidence: high · as of 2026-09-14
Capability fit
9.0
Price / performance
6.8
Latency / reliability
9.2
Developer & agent DX
7.2
Privacy / data retention
8.2
Lock-in risk (higher = worse)
5.0
Maturity / track record
9.2

Lock-in risk: higher = more lock-in (worse). Overall already inverts this dimension.

Sources: Temporal: https://temporal.io · Temporal Cloud pricing: https://docs.temporal.io/cloud/pricing · Temporal docs: https://docs.temporal.io

Default durable orchestration for serious long-running agents. Inngest/Trigger.dev for lighter DX.

Quote for Human-in-the-loop approval workflows

Depot Pick stays Temporal Cloud. Prices below are sourced SKU rows only (as of 2026-10-27). Input and output are not blended. GET /api/quote?jtbd=hitl-approval-workflows

Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null.

Sourced price unavailable for the Depot Pick. No row in the pricing index.

4 of 5 candidates have no sourced price row. 5 are excluded from the Matching price comparison (none). no comparable sourced unit for this job; chat input $/1M and other units were not borrowed

Runners-up

When NOT to use the top pick

Notification-only approval UX (Knock/Courier) without durable state, or Inngest wait-for-event fits better.

Full ranking (score table)

Ranked with this JTBD's weights. Scores are curated estimates unless marked otherwise. Agents: prefer /api/decide then this table for tie-breaks.

#ProviderOverallFit$/perfLatencyDXAs of
1Knock8.29.07.28.69.02026-09-14
2Temporal CloudDepot Pick8.29.06.89.27.22026-09-14
3Courier8.18.87.28.69.02026-09-14
4Inngest8.18.28.08.49.02026-09-14
5Hatchet8.18.27.88.48.62026-09-14

Score methodology for this job

Workflow durability + signals. Confidence: high for Temporal patterns; productized HITL UIs vary.

  • capabilityFit: 20%
  • pricePerformance: 12%
  • latencyReliability: 28%
  • developerDx: 14%
  • privacyPosture: 8%
  • lockInRisk: 8%
  • maturity: 10%