Information Extractors
Information Extractors allow your AI agent to capture specific data points from conversations and return them in a structured format. Each extractor defines what information to collect and how to format the answer.
All extracted data is automatically included in the post-call webhook, making it easy to integrate with your CRM, database, or other systems.
Overview
Information Extractors are reusable actions that you create once and attach to any agent. They work in the background during calls to identify and extract specific information based on the rules you define.
Types of Extractors
Yes/No Question
Returns a boolean (true or false) based on whether a condition was met during the call.
Example use cases:
- “Did the customer confirm their appointment?”
- “Is the lead interested in a demo?”
- “Did the caller request a callback?”
Single Choice
Provides a predefined list of options, and the AI selects the one that best matches the conversation.
Example use cases:
- “What was the customer’s mood?” → Options: Happy, Neutral, Frustrated
- “Which product did they inquire about?” → Options: Basic Plan, Pro Plan, Enterprise Plan
- “What is their preferred contact method?” → Options: Email, Phone, Text Message
Open Question
Allows the AI to extract free-form answers based on the conversation context without predefined options.
Example use cases:
- “What specific issue did the customer describe?”
- “What product features did they mention?”
- “What is the customer’s company name?”
Create an Information Extractor
Information Extractors are created globally in your workspace and can be attached to any agent. This example demonstrates creating a Yes/No extractor to determine if a user is open to new career opportunities.
Navigate to the After the Call tab, and select Information Extractor. A window will show up listing all your existing extractors. Select the ones you wish to attach to your agent, or click on New Action to create a new one.

In case you decided to create a new action, we offer extractor templates that can help you simplify the process. You can edit them according to your use case.

Select the extractor type that matches your needs (Yes/No, Single Choice, or Open Question).
Enter a unique name for your extractor using snake_case format (e.g., open_to_opportunities).
Write a clear, simple question or instruction that tells the AI what to extract. For example: “Is the user open to considering new opportunities?”
Important limitations:
- Keep your extraction prompt concise and specific
- Avoid complex instructions or multiple questions
- Do not use pseudocode, code syntax, or special characters like
{},[], or<> - Do not request JSON, XML, or other structured format outputs
- Request plain text answers only
Requesting structured outputs (JSON, code formats) will cause JSON parsing errors and may result in failed calls.
Attach to an Agent
Once created, attach the Information Extractor to your agent so it runs during calls.
Your agent will now extract this information during every call and include it in the post-call webhook payload.
Best Practices
- Keep questions simple - One piece of information per extractor
- Use clear language - Write extraction prompts as if asking a human
- Request plain text only - Never request JSON, code formats, or use special characters like
{},[],<>in your extraction instructions - Name consistently - Use snake_case for extractor names (e.g.,
customer_sentiment,product_interest) - Test thoroughly - Make test calls to verify extraction accuracy
- Consider context - Ensure your agent’s prompt discusses topics relevant to what you’re extracting
FAQ
Can I extract multiple pieces of information from one call?
Yes, you can attach multiple Information Extractors to a single agent. Each extractor will run independently and return its own data in the webhook payload.
What happens if the information isn't mentioned in the call?
The extractor will return null or an empty value if the requested information isn’t found in the conversation. Your webhook handler should account for missing data.
Can I use the same extractor across multiple agents?
Yes, Information Extractors are global to your workspace. Once created, you can attach the same extractor to as many agents as needed.
How do I access the extracted data?
All extracted data is automatically included in the post-call webhook payload under the extractor’s name. You can also view extracted data in your call logs within the Synthflow dashboard.
Can I edit an extractor after creating it?
Yes, you can edit extractors at any time. Changes will apply to all future calls for any agents using that extractor. Past call data will not be affected.
What's the difference between Single Choice and Open Question?
Single Choice limits responses to predefined options you specify, ensuring consistent categorization. Open Question allows the AI to extract free-form text, which is useful when you don’t know all possible answers in advance.
Can I request structured outputs like JSON or use code syntax?
No. Information Extractors must return plain text values only. Do not request JSON, XML, or other structured formats, and avoid using pseudocode or special characters like {}, [], or <> in your extraction instructions. Using these formats will cause JSON parsing errors and may result in calls remaining in “in progress” status indefinitely.
Instead of: “Return JSON with name and email: {name: string, email: string}”
Use: “Extract the customer’s name and email address” (create two separate extractors)
Why is my call stuck in 'in progress' status?
If a call remains in progress indefinitely after completing, it may be due to a JSON parsing error caused by your Information Extractor configuration. Check that you’re not requesting structured outputs (JSON, code formats) or using special characters like {}, [], or <> in your extraction prompts. Update your extractors to request plain text values only.