Call2Me
Core

Post-Call Actions: extract data, fire workflows

Define structured fields to extract from every call, then trigger webhooks or auto-schedule follow-ups based on the extracted values.

Updated May 6, 2026

Every call ends with a transcript. Post-Call Actions turn that transcript into structured data and downstream workflows — without you writing parsing code.

The two halves

Post-Call Data Extraction defines what fields to extract from each transcript. Post-Call Actions define what to do when those fields land.

You configure both on the agent. They run automatically after every call.

Defining extraction fields

In Agents → Edit → Post-Call Data Extraction, list the fields you want:

[
  {"name": "customer_name", "type": "string", "description": "Customer full name"},
  {"name": "interest_level", "type": "enum", "description": "high, medium, low, none"},
  {"name": "follow_up_required", "type": "boolean", "description": "Whether follow-up is needed"},
  {"name": "follow_up_date", "type": "string", "description": "Follow-up date in ISO 8601 format"},
  {"name": "callback_number", "type": "string", "description": "Phone number to call back, digits only"}
]

Supported types: string, number, boolean, enum. The description guides the extraction model — write it like you'd describe the field to a new analyst.

How extraction runs

After each call:

  1. The full transcript is sent to the extraction model
  2. The model fills in the JSON object you defined
  3. The result is stored on the call and surfaced in the dashboard's "AI Analysis" tab — and optionally sent via webhook

Defining actions

Actions live alongside extraction:

{
  "type": "schedule_call",
  "name": "Auto follow-up",
  "condition": { "field": "follow_up_required", "operator": "==", "value": true },
  "config": {
    "use_field": "follow_up_date",
    "fallback_delay_minutes": 1440,
    "from_number": "+908501234567"
  }
}

Action types

TypeWhat it does
schedule_callBooks a future call using extracted fields as parameters
webhookPosts the extraction result to your URL
transfer_call(During call) hands off to a human number

Conditions

Each action has an optional condition:

  • field — the extracted field to check
  • operator== or !=
  • value — string, number, boolean, or null

If no condition is set, the action always runs.

Wiring it to a CRM

The fastest path to "extracted data appears in our CRM" is a webhook action with interest_level == high (or whatever signal matches your funnel). Your CRM endpoint receives the extraction JSON and creates a lead.

For richer integration, use the same pattern with multiple actions — high-interest goes to sales, low-interest goes to nurture.

What's next

  • Webhooks — receiving the data in real time
  • Schedules — the underlying primitive schedule_call uses
  • Calls — where extracted data is stored on the call object

Frequently asked

Q.What can I extract from a call?

Any field you can describe in plain language — customer name, interest level, follow-up date, callback number, sentiment. The extraction model reads the transcript and returns structured JSON.

Q.How accurate is extraction?

For well-defined fields with clear values from the transcript, accuracy is high. For ambiguous fields (sentiment, intent), accuracy depends on the model you choose. Larger models cost more and do better on edge cases.

Q.Can I trigger different actions based on extracted values?

Yes. Each action has an optional condition — e.g. fire this webhook only when interest_level is high, schedule a follow-up only when follow_up_required is true.

Q.What's the difference between Post-Call Actions and webhooks?

Webhooks fire on every call event. Post-Call Actions fire after extraction completes, with the structured data already available. Use webhooks for live UI; use Post-Call Actions for downstream workflows.

ShareX / TwitterLinkedIn

Ready to ship?

Spin up your first agent in 5 minutes — $10 free credit.

Start free