Skip to main content
Use Advanced Analysis on an agent for facts you want to report on, filter by or send to your systems, such as payment_promised (a Boolean) or promised_date (a Date). Status, duration and transcript are already in Logs without it. In the dashboard: Agents (listed under Assistants in the sidebar) → open an agent → Advanced Settings → Advanced Analysis. On a multi-prompt agent, open Global Settings → Advanced Analysis (see Global Settings).

Before you start

An agent

The agent whose conversations you want analysed.

A completed call

Optional: needed to Test your variables. Place a test call first.

Add variables

Adding a Boolean goal variable and testing it on a past call

1

Add a variable

Open Advanced Analysis and click Add a new variable. The Add variables dialog opens.
  • Variable name (required): lower-case; spaces become _ as you type.
  • Type: one of the types below. The default is Boolean.
  • Enum options (required for Enum): type an option and press Enter or Add. Options are stored lower-case with _ for spaces.
  • Description (required): “What the analysis should extract from the call.” Write it as an instruction, for example “True if the customer agreed to pay by a specific date.”
  • Default value: “Fallback used when nothing is extracted.”
  • Use as goal: Boolean variables only (see The goal).
Analysis variables are separate from the agent’s custom variables, which you fill before a call.
Add variables dialog with Variable name payment_promised, Type Boolean, a description, Default value false and Use as goal switched on

The Add variables dialog

2

Add several at once (optional)

Click Add new variable inside the dialog for another blank form. The button at the bottom changes to Add 2, Add 3 and so on.
3

Save

Click Add. You see “Variable added” and the variable appears in the table with its Variable, Type and Default value. The goal variable carries a Goal chip.
The table lists your variable, and Test is now enabled.
Advanced analysis table listing promised_date (Date), objection (Enum, default none), payment_promised (Boolean, default false) with a Goal chip, and amount_promised (Number)

Variables after saving

To change a variable, click its row (the dialog is titled Configure variable) or use the row menu: Edit or Delete. Each change saves immediately. A change applies to conversations analysed after you save it. Calls already analysed keep their results and can’t be re-analysed. On a multi-prompt agent, changes go into the draft and apply once you publish.

Default values

The default is typed text, converted when the meaning is clear:

Paste variables as JSON

While adding, paste a JSON array (or one object) into a Variable name field, or drop a JSON file onto the dialog, to fill one form per item:
Names are converted to snake_case. A type Ringg does not recognise becomes String, with the warning “Some types weren’t recognized”. Review the forms, then click Add.

Variable types

Each variable has one type. The name below is the value used in JSON; the label is what the Type menu shows.
Array
A list of mixed values.
Array of numbers
Several amounts or counts, such as EMIs mentioned.
Array of strings
Several items, such as products asked about.
Boolean
Yes/no facts.
Date
A day, such as a promised payment date.
DateTime
A day and time, such as a callback slot.
Enum
One of a fixed set of options you list.
Integer
Whole numbers, such as number of family members.
Number
Any number, such as an amount in rupees.
String
Free text, such as a short summary of the complaint.

Names you cannot use

  • revenue_collected is reserved by the platform (“This name is reserved by the platform.”).
  • A name already in the table (“A variable with this name already exists.”).
  • The same name twice in one dialog (“Another variable above uses this name.”).

The goal

The goal is one Boolean variable that says whether the conversation succeeded, for example payment_promised. Analytics uses it to calculate the agent’s success rate.
  • Only a Boolean can be the goal. On other types the switch reads “Only boolean variables can be used as goals.”
  • An agent has one goal at a time. Turning on Use as goal for another variable asks Replace current goal? first.
  • Changing the goal variable’s type asks Change variable type? and removes it as the goal.

Context and tool calls

Below the table:
  • Context (“Include additional context for better results”): one free-text note for the whole analysis, such as what counts as a valid promise to pay. Click Save; you see “Context saved”.
  • Log tool calls (“Include tool call logs to enhance advanced analysis.”): a switch. On, the analysis also reads the tool calls made during the conversation, such as an API lookup’s result.

Test on a past call

1

Open the test

Click Test. It is disabled until you have saved at least one variable.
2

Pick a call

In Test advanced analysis, paste a Call ID (copy it from the call panel in Logs), or pick from Or select from recent call log. The list shows this agent’s completed calls; sort it by date or duration. Picking a call from the list runs the test straight away.
3

Run it

If you pasted a Call ID, click Run analysis. You see the Analysis result next to the Call transcript (copy and download buttons). The link icon opens the call in Logs. Click Test another to try a different one. The test is a preview: it doesn’t change the call’s stored results or send a webhook.
Analysis result shows a value for each variable that matches what was said in the transcript.
Test advanced analysis dialog for a call with Rahul Verma: Promised Date 2026-10-08, Objection none, Payment Promised true, Amount Promised 12450, next to the call transcript

A test result next to the transcript

Where results appear

Agents with the older prompt editor

Agents that saved an analysis prompt or keys before the variable table existed keep the older editor. It has a Prompt box (“Enter your prompt for Advanced Analysis”), a list of keys (Define required keys for the prompt) with a type and default value, a tool-call-logs switch, Save and Test Analysis. Its types are String, Number, Integer, Boolean, Array, Date and DateTime. It has no goal. Everyone else gets the variable table described above.

Do this with the API

Advanced Analysis variables are set up in the dashboard only; the public API has no operation for them. Read results per call from Get Call Details (the client_analysis field, returned when you send send_analysis=true) or from the client_analysis_completed webhook (Event Subscription). You need an API key and the call’s ID.

Troubleshooting

The dialog shows the server’s reason, or “Failed to run analysis” with “Check the call ID and make sure you have saved at least one variable before testing.” Check the call ID belongs to this agent and the call completed, then click Retry.
Yes. Every agent, WhatsApp included, offers the Advanced Analysis Complete event and shows results in Logs. Only the Test dialog is limited to completed calls.
Rewrite its Description as a precise instruction, add a Default value, and use Context for definitions. Then run Test on a call where you know the answer.

Next steps

Receive the results on your server

The Advanced Analysis Complete event carries every field.

Test the agent

Place a call, then check its Advanced analysis tab in Logs.

See the results in Analytics

Goal achieved, cost per goal and cohort charts per variable.