Skip to main content

Video Tutorial

The QA node runs an LLM quality review on the call transcript after each conversation ends. Use it to score agent performance, flag compliance issues, and surface patterns across calls, without listening to recordings manually.

When it runs

QA Node runs post-call only. It is not part of the live call flow - it reads the completed transcript after the conversation ends. It has no edges and cannot connect to any other node in the workflow. This means QA does not affect call behavior. It only measures it.

Where it sits on the canvas

Add QA Node anywhere on the canvas. It does not need to connect to other nodes - most builders place it off to the side to make clear it is a standalone evaluator. The node runs automatically for every eligible call once the workflow is published.

Configuring the System Prompt

The core configuration is a single System Prompt: instructions to the reviewer LLM that describe how to evaluate each call. The LLM reads the transcript and returns a structured JSON result. The default prompt already covers common quality dimensions out of the box:
  • Tags: named issues detected in the transcript. The default tag set includes DEAD_AIR, USER_FRUSTRATED, ASSISTANT_IN_LOOP, ASSISTANT_REPLY_IMPROPER, USER_NOT_UNDERSTANDING, HEARING_ISSUES, UNCLEAR_CONVERSATION, USER_REQUESTING_FEATURE, ASSISTANT_LACKS_EMPATHY, and USER_DETECTS_AI
  • Call quality score: 1-10 rating
  • Overall sentiment: positive, neutral, or negative
  • Summary: 1-2 sentence description of the call segment
You can replace the default System Prompt with your own instructions when you need domain-specific evaluation. Write the prompt as instructions to the QA reviewer LLM, and specify the JSON structure you want it to return. For compliance use cases, for example:
Be specific about what counts as a pass or a valid score. Include the exact behaviors you want the LLM to look for. Vague instructions produce inconsistent results across calls.

Additional settings

Viewing QA Results

After a call completes, the QA analysis runs automatically. You can view the results on the Run Detail page for each individual run. Open a run and scroll to the QA Analysis section. The result shows the full JSON output your QA System Prompt requested - tags, scores, sentiment, and summary for the default prompt, or whatever structure you defined.

Common mistakes

Expecting QA to affect the live call. QA Node is read-only at runtime. It evaluates what happened; it does not change what happens. Connecting QA Node to other nodes. QA has no edges. Drawing a connection from QA to another node is not possible - edges will snap back when you try. Writing a vague System Prompt. β€œWas the agent good?” produces unhelpful scores. Define specific, observable behaviors and the exact JSON fields you want back. Not specifying output format. The LLM follows your instructions, but if you do not specify a return format, the output may be inconsistent across calls. Always describe the exact JSON structure in the System Prompt.

Next Steps

Agent Node

Configure the conversation logic that QA evaluates.

Webhook Node

Send call outcomes to external systems after the call ends.

Context and Variables

Learn how gathered_context is built during the call.

End Call Node

Configure the final message before the call drops.