The three extraction methods
Post-Call Analysis Fields
LLM-based extraction that runs after the call ends. Produces named fields in the session’s analysis object. Best for deriving intent, sentiment, and summary information.
Output Variables (Flow Nodes)
Variables set during the call by flow nodes or function call responses. Available in real time during the call. Best for data collected from the caller or returned by API calls.
Regex Patterns
Pattern-based extraction applied to transcript text. Useful for structured tokens with predictable formats: phone numbers, email addresses, booking IDs, postal codes.
LLM Extraction Prompts
A sub-category of post-call analysis where the extraction instruction is a free-form prompt. More flexible than regex but requires LLM processing and can produce variable output.
Method 1: Post-Call Analysis fields
PCA fields are configured in your agent’s Post-Call Analysis settings. After each call, DialNexa runs an LLM extraction pass over the full transcript using your field definitions. When to use: deriving information that requires understanding the whole conversation — caller intent, call resolution, sentiment, whether the agent successfully completed the task. Configuration: Navigate to your agent, then Settings > Post-Call Analysis > Add Field. Each field requires:- Field name: a slug used in the API and webhooks (e.g.,
intent,appointment_date) - Extraction prompt: an instruction to the LLM (e.g., “What was the caller’s primary intent? Return one of: booking, cancellation, inquiry, complaint”)
- Type:
string,boolean,number, orenum(with allowed values)
| Field name | Extraction prompt | Type |
|---|---|---|
intent | ”The caller’s primary goal. One of: booking, cancellation, inquiry, complaint, other” | enum |
resolved | ”Was the caller’s issue resolved during the call? true or false” | boolean |
appointment_date | ”The appointment date mentioned by the caller, in YYYY-MM-DD format. Empty if none.” | string |
sentiment | ”The caller’s sentiment at the end of the call. One of: positive, neutral, negative” | enum |
- Monitor > Post-Call Analysis results view
- The
call.analysis_readywebhook payload underanalysis.* - The API:
GET /v1/sessions/{session_id}/analysis
Method 2: Output variables in conversational flow
In a conversational flow agent, flow nodes can set variables as the call progresses. These variables are populated in real time and can be used by subsequent nodes, passed to function calls, and accessed in post-call webhooks. When to use: data collected from the caller during the conversation (name, account number, appointment preference), or data returned by API calls (CRM lookup result, availability check response). Setting a variable from a function call response: In the Function Node settings, map the function response fields to variable names:call.ended and call.transcript_ready webhook payloads under variables.*, and via the API: GET /v1/sessions/{session_id}/variables
Method 3: Regex pattern extraction
Regex extraction applies pattern matching to the transcript text to pull out structured tokens. When to use: when the data you need has a predictable format that regex can reliably match — phone numbers, email addresses, reference IDs, postal codes, dates in a known format. Configuration: Navigate to Settings > Post-Call Analysis > Regex Patterns. Add a pattern:- Field name: the variable name for the extracted value
- Pattern: a valid regex pattern
- Source: the transcript role to search (
caller,agent, orboth)
| Field name | Pattern | Source |
|---|---|---|
phone_number | \+?[\d\s\-\(\)]{10,15} | caller |
email | [a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,} | caller |
booking_id | [A-Z]{2}\-\d{4,8} | both |
postal_code_in | [1-9][0-9]{5} | caller |
- Transcription errors break pattern matching. If a caller says “BX-4521” but it is transcribed as “BX for five two one”, the regex will not match.
- For human-spoken data (amounts, dates, names), prefer LLM-based PCA fields over regex.
Accessing extracted data via API and webhooks
All extracted data — regardless of method — is accessible through consistent interfaces: API:- PCA fields:
call.analysis_readyevent,analysisobject - Flow variables:
call.endedevent,variablesobject (if variables were set during the call)