Goals & evaluation
This is configured on the Outcomessub-tab under Configure (Configure → Outcomes). It turns every conversation into structured data. You define what to capture and what to check; after each call, Seny replays the transcript through a model and fills both in automatically.
Data extraction
Define the fields you want pulled out of conversations — name, email, event date, vehicle of interest, budget, whatever matters to your business. Each field has a name, a description, and a type.
After a conversation ends, the filled-in values land on the conversation as extracted_data — visible on the conversation detail page and in the API. Fields the visitor never mentioned come back empty rather than invented.
Acceptance criteria
Acceptance criteria are pass/fail checks on how the conversation went — "Did the agent answer the visitor's question?", "Was contact info collected?", "Was an appointment booked?". Each criterion is a name plus a plain-English description of what counts as satisfied.
After each call, every criterion gets one of three verdicts:
- pass — the criterion applied and was met.
- fail — the criterion applied and was not met.
- not applicable— the criterion didn't apply to what the visitor wanted. A visitor who only asked for store hours shouldn't fail an "appointment booked" criterion — it simply didn't apply.
not-applicable verdicts are excluded from pass-rate analytics, so your numbers reflect calls the criterion actually applied to.
Writing conditional criteria
Because the verdict is decided by a model reading the transcript, you can phrase a criterion conditionally and it will resolve sensibly:
If the visitor asked to book an appointment, an appointment
was booked with a specific date and time. If the visitor did
not ask to book anything, this criterion is not applicable.Where results show up
- Conversation detail— per-criterion verdicts and the model's reasoning, plus the extracted fields.
- Analytics — per-criterion pass rates across recent calls and per-field fill rates.
- API & webhooks —
extracted_dataandcriteria_resultson every conversation.
Timing
Evaluation runs right after a conversation ends and takes a few seconds. If you fetch a conversation immediately, the fields may still be populating — a backstop sweep guarantees every completed conversation is eventually scored.