Skip to main content
DialNexa provides three methods for extracting structured data from calls. Each method has a different trigger point, output format, and appropriate use case. Understanding when to use each one prevents duplicated effort and ensures extracted data is available where you need it.

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, or enum (with allowed values)
Example field definitions:
Field nameExtraction promptType
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
Accessing PCA data: PCA results are available in:
  • Monitor > Post-Call Analysis results view
  • The call.analysis_ready webhook payload under analysis.*
  • 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:
Response field: customer.name  →  Variable: {{customer_name}}
Response field: customer.tier  →  Variable: {{account_tier}}
Setting a variable from caller input: Use an information-collection node or a Press Digit node to capture caller input and store it as a variable. The variable is then available to all subsequent nodes and to post-call webhooks. Accessing output variables: Output variables are included in the 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, or both)
Example patterns:
Field namePatternSource
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
If a pattern matches multiple times in the transcript, all matches are returned as an array. Limitations of regex extraction:
  • 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:
# Get analysis (PCA fields + regex extractions)
GET /v1/sessions/{session_id}/analysis

# Get output variables (flow variables)
GET /v1/sessions/{session_id}/variables
Webhook payloads:
  • PCA fields: call.analysis_ready event, analysis object
  • Flow variables: call.ended event, variables object (if variables were set during the call)