AP
Agent Provider Depot
Opinionated picks for agents
OpenAPI

Agent classes / Voice agent / Full voice-agent platform (STT+TTS+orche…

Full voice-agent platform (STT+TTS+orche… for a voice agent

Updated 2026-10-27 (newest stored date on this page) · score asOf 2026-09-14 (stale)

The class: Hears or speaks on a call or a realtime channel, and confirms account-changing actions before they run.

  • A transcript the caller can correct
  • Confirmation before an account change

Depot Pick: Vapi

When not to use it: Want OSS realtime media control and to compose models yourself — LiveKit; STT-quality is the product — Deepgram; already on Cartesia Sonic+Ink and only need their voice agent minutes.

Runner-up: Bland AI.

Cheapest matching sourced SKU (usd_per_minute): Vapi Vapi hosting $0.05 — source, asOf 2026-10-03. All sourced prices

Failure modes this class and job share (7)

  • Runaway spend: Set a budget and a tool-call cap per task. Alert when spend jumps. Stop the run at the cap instead of summarizing a partial trace as success.
  • 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.
  • Partial tool success: Require a per-item status and a failure count. Success for the task requires the failed count to be zero or explicitly handed to a retry queue.
  • Silent truncation: Tools must return whether the payload was truncated and how long the original was. Fail the task if the answer depends on the missing span.

Free options this class uses (0)

No free row lists this job with a kind this class needs.