Skip to main content
The agentic PAL building & testing flow is an autonomous loop for a new Tavus PAL. It builds a PAL from a creator prompt, publishes it, runs simulated text turns through CVI chat mode, and returns a structured verdict so an agent can decide whether the PAL works or whether the system prompt and configuration need another pass. Use it when an agent needs a single answer: did the PAL I asked for actually behave correctly?
Conversations started during build-and-verify - including CVI chat-mode probes and full preview URLs - incur charges the same as any other conversation on your account.

MCP: agent-owned loop

Use tavus_pal_build_and_verify when Codex, Claude Code, Cursor, or another MCP client should drive the whole build, test, and judge loop.

CLI: terminal workflow

Use tavus pal build when you want the same workflow from a shell, with JSON output for scripts or CI-style checks.

What the loop does

1

1. Build the PAL

The flow opens a conversational builder session, sends the creator prompt, applies builder updates to personality, greeting, objectives, and guardrails, and publishes the resulting PAL.The MCP tool can run this autonomously. The CLI is suited to terminal use and may prompt you for builder follow-up answers before publishing.
2

2. Attach a face

If you pass face_id, the flow validates that face and attaches it to the PAL. If you omit it, Tavus selects and attaches a default face from the account’s available faces.
3

3. Generate simulated turns

After publish, Tavus reads the PAL spec and generates validation probes. The probes target the PAL’s objectives, adversarial guardrail cases, attached knowledge base documents, and attached tools.
4

4. Run text-only CVI chat mode

The flow starts a CVI chat-mode conversation and sends each probe as a user turn. Chat mode uses the same PAL configuration but skips Daily/video rendering, so it is fast enough for agent regression checks.
5

5. Judge the transcript

Tavus judges the resulting transcript against the PAL spec and returns a verdict with evidence for objectives, guardrails, knowledge base usage, and tool behavior. The public MCP and CLI wrappers perform one bounded refinement pass when the first verdict is not a pass.
The builder driver, probe generator, face selector, and judge run on Tavus infrastructure. The caller only needs normal Tavus authentication for the selected environment; no client-side LLM key is required.

Choosing the right surface

MCP usage

Ask the agent to call the MCP tool with a concrete creator prompt:
The tool returns IDs, the build transcript, generated probes, the smoke-test transcript, and the verdict:
Agents should check verdict.overall first, then inspect verdict.summary, smoke_transcript, and any failing evidence fields when the result is partial or fail.

CLI usage

Run the same workflow from a shell:
Use --face-id <face_id> when you need a specific face/voice. Otherwise, Tavus selects a default face for the new PAL.
For agent automation, prefer --json and assert on validated or verdict.overall instead of exact assistant wording. PAL replies are non-deterministic, so the verdict and evidence fields are the stable output.

Reading the verdict

Treat partial as actionable feedback, not a transport failure. Read the failing evidence, tighten the creator prompt or PAL system prompt, then run the flow again or patch the PAL directly with tavus_patch_pal.

What this does not replace

Build-and-verify is a text-mode behavioral check. It does not validate visual rendering, facial expression quality, audio latency, room join behavior, or user-device permissions. After a PAL passes the simulated turns, use tavus_pal_preview or tavus pal preview to hand a full conversation URL to a human for visual QA. For existing PALs, do not rebuild just to test them. Start chat mode directly with tavus_chat_start and tavus_chat_turn, or use the CLI tavus chat commands to run targeted probes.

Common failures