Skip to main content
Success criteria are the possible outcomes of a conversation, written in plain language. After each conversation, Callers reads the transcript and picks the criterion that matches. The result becomes the contact’s status, drives your Success Rate, triggers webhooks and post-call actions, and tells you who to follow up with. Criteria come in two groups:
  • Goal Reached: the conversation did what the agent was built for, for example “Meeting booked” or “Payment promised”. These contacts count as Interested.
  • Goal Not Reached: the conversation ended without that, for example “Already has a provider” or “Not the decision maker”. These contacts count as Not interested.
Success criteria were previously called “interest criteria”. You’ll still see that name in the API (interestCriteriaV2) and in the legacy interested webhook field.

Set up success criteria

1

Open Success Criteria

Open the agent, click Edit, and choose Success Criteria in the settings sidebar. You can also open it from the Success Criteria node on the workflow canvas.
Workflow tab of the agent editor with the Success Criteria node highlighted, showing Scheduled a Demo and Requested More Info under Goal Reached and Declined Outright and Already Has a Solution under Goal Not Reached, between the Script and Post-Conversation Actions nodes

The Success Criteria node on the Workflow tab lists the Goal Reached and Goal Not Reached outcomes.

2

Generate a starting set

Click Generate to have AI suggest criteria based on your script. Click Regenerate to get a new set.
3

Add or edit criteria

Click Add, or click a criterion to edit it. Fill in:
  • Title: the status shown on the contact, for example Follow-Up Scheduled. Titles must be unique within the agent.
  • Description: when this outcome applies, written for the AI, for example “The contact agreed to a follow-up call and gave a day and time.”
  • Status Group: Goal reached or Goal not reached.
Click Create or Update to save.
4

Choose the default

In the Goal Not Reached group, hover over a criterion and click Set as Default. The default is used when no other criterion matches. Out of the box it’s Not interested.
5

Mark as reviewed

After you edit the script, the page shows “Review the success criteria after the last edits”. Check that your criteria still fit and click Mark as Reviewed.
Success Criteria dialog titled Review the success criteria after the last edits, listing Scheduled a Demo and Requested More Info under Goal Reached and Declined Outright and Already Has a Solution under Goal Not Reached, each with a description, and Regenerate, Add, and Mark as Reviewed buttons at the bottom

The Success Criteria dialog asking for a review, with Regenerate, Add, and Mark as Reviewed.

Built-in criteria

Every voice agent includes built-in Goal Not Reached criteria. You can’t delete them: Email agents include Unsubscribed and Invalid Email in place of the call-specific ones.
Don’t create custom criteria that mean the same thing as a built-in outcome, such as “Callback requested” or “Remove from list”. Callers warns you when a name is similar to a built-in status, because a custom criterion doesn’t trigger the same behavior (retries, Do Not Call handling) as the built-in one.

How criteria are applied

  • Criteria are checked against real conversations only. Unanswered calls, voicemail, and silent or very short calls are handled before classification and retried. See Statuses and outcomes.
  • Each criterion is checked against the conversation. If both a Goal Reached and a Goal Not Reached criterion match, the Goal Reached one wins. Among several matches in the same group, the strongest match wins.
  • If nothing matches, the conversation gets your default Goal Not Reached criterion.
  • The criterion’s name is shown as the contact’s and call’s status, so a contact can show “Follow-Up Scheduled” instead of “Interested”.
  • Success Rate counts every Goal Reached outcome, whatever its name.

Writing good criteria

Describe what happened in the conversation, not what you hope the contact feels. “The contact confirmed a demo date and time” is easier to classify than “The contact is excited about the product”.
  • Make goals verifiable. Name the action that proves success: booked, confirmed, agreed to pay, gave an email address.
  • Keep criteria distinct. If two descriptions could both match the same call, merge them or add a detail that separates them.
  • Use Goal Not Reached criteria to learn why. “Price too high”, “Using a competitor”, and “Not the decision maker” turn a single Not interested bucket into reasons you can act on.
  • Keep the list short. Three to six criteria per group is usually enough.

Use criteria in automations

Each criterion creates its own webhook event, POST_PROCESSING_FINISHED:<criterion name>, which you can subscribe to in webhooks. See Webhook events for the full list. Renaming or deleting a criterion updates webhooks that use it. The webhook payload’s successCriteria object tells you the result:
Post-call actions can also run only for specific criteria, for example creating a CRM task only for “Follow-Up Scheduled”. Deleting a criterion asks you to confirm, and lists the post-call actions that use it.

Set criteria with the API

POST /agents/{agentId}/update/interestcriteria replaces the agent’s whole set of criteria.
Request body
Because the request replaces everything, read the agent first, change the criteria, and send back the full object.

Statuses and outcomes

How each outcome is decided.

Post-call analysis

Capture answers and details from each conversation.

Actions

Run follow-ups based on the outcome.

Agent results and insights

Track your success rate.