Back to Help Home
Last updated: 2025-10-05Location: AI Agents > [Agent] > Field Entry Tab

Field Extractors (Field Entry Tools)

Overview

Field Extractors automatically capture information from conversations and save it to contact fields. As your AI agent chats with contacts, it "listens" for specific information you've configured and automatically updates the contact's record - no manual data entry required.

Key Benefit: Zero added latency - extraction happens in parallel with the conversation. The contact never experiences any delay.

What Field Extractors Do

Example Scenario:

AI Agent: "Can you tell me about the project you have in mind?" Contact: "I need a new HVAC system installed. My address is 123 Main St, Austin, TX 78701"

With Field Extractors configured:

  • service_description field automatically updated to: "new HVAC system installed"
  • street_address field automatically updated to: "123 Main St"
  • city field automatically updated to: "Austin"
  • state field automatically updated to: "TX"
  • zip_code field automatically updated to: "78701"

All of this happens automatically while the AI continues the conversation.

When to Use Field Extractors

Definitely Use When:

  • Your AI agent asks questions to gather information
  • You want to avoid manual data entry
  • Information is critical for your workflow (addresses for service calls, project details, etc.)
  • You need structured data for reporting or integrations

Optionally Use When:

  • Contacts may volunteer information without being asked
  • You want to capture any mention of specific details
  • Building comprehensive contact profiles over time

Examples:

  • ✅ AI asks for address → Extract street_address, city, state, zip_code
  • ✅ AI asks about project → Extract service_description
  • ✅ AI gathers details → Extract any relevant custom fields
  • ✅ Contact mentions their business → Extract business_name
  • 🤔 Contact might mention their website → Extract website (optional)

Accessing Field Extractors

For Any Agent:

  1. Open the AI Agent Editor Modal
  2. Go to the "Field Entry" tab
  3. Add field extractors

Creating Field Extractors

Using Ava (Edit with AI)

Step 1: Click "Edit with AI" button

Step 2: Tell Ava what information to extract, and whether or not you want the agent to ask for that info proactively or you just want the tool in the background "in-case".

Example Requests:

  • "Extract the contact's address, city, state, and zip code from conversations"
  • "Save the service description when contacts describe their project"
  • "Capture their email address if they mention it"

Step 3: Review what Ava created

Step 4: Click "Apply"

Step 5: Save the agent

Manual Creation

Step 1: In the Field Entry tab, click "Add Field Extractor"

Step 2: Select the field to extract to:

  • Choose from standard contact fields
  • Or select custom fields you've created

Step 3: Describe what to extract:

  • Be clear and specific
  • Always including an example is good practice.
  • Example: "the user's street address. Ex: '123 Main St'"

Step 4: Configure allow overwrite (optional, generally what you want)

  • allowing overwrite means the agent can record new data to a field with an existing value
  • if this is turned off, when the tool executes, if the specified field already has something in it, the new value will not be written to it

Step 5: Click "Create Extractor"

Configuring Field Extractors

Field Selection (Required)

Choose which contact field the extracted data should be saved to.

Standard Fields:

  • first_name, last_name, full_name
  • email, phone
  • business_name, website
  • street_address, city, state, zip_code, country
  • service_description

Custom Fields:

  • Any active custom fields you've created
  • Appears under "Custom Fields" group

What to Extract (Required)

Describe what information the AI should look for.

Be Descriptive:

  • ✅ "the user's street address. Ex: '123 Main St'"
  • ✅ "the user's description of the service they need. Ex: 'My water heater needs to be replaced'"
  • ✅ "the city where the user lives or where the service is needed. Ex: 'Austin'"
  • ❌ "address" (too vague)
  • ❌ "service" (too vague)

Including Examples Helps:

  • Shows AI the format you expect
  • Improves extraction accuracy
  • Example: "the user's phone number. Ex: '555-123-4567'"
  • You can be specific about the value/format you want. Example: Field: pricing_ok Description: "the user's indication of whether or not they are ok with pricing. Fill only with either "Yes" or "No" exactly.

Allow Overwrite

Enabled (Default):

  • New extracted data overwrites existing field value
  • Use when you want the most recent information
  • Recommended for most fields

Disabled:

  • Existing values are preserved
  • New data only saved if field is empty
  • Use for fields that shouldn't change

Common Field Extractor Setups

Example 1: Basic Address Collection

Service Description:

  • Field: service_description
  • Description: "the user's description of the service they are interested in or the project they have in mind. Ex: 'I want an estimate on synthetic turf for my backyard and a putting green on the side' "
  • Allow Overwrite: ✅

Street Address:

  • Field: street_address
  • Description: "the user's street address. Ex: '123 Main St'"
  • Allow Overwrite: ✅

City:

  • Field: city
  • Description: "the city where the user lives or where the service is needed. Ex: 'Westchester' "
  • Allow Overwrite: ✅

State:

  • Field: state
  • Description: "the state from the user's address. Ex: 'TX' Fill only with a standard two letter abbreviation for the state"
  • Allow Overwrite: ✅

Zip Code:

  • Field: zip_code
  • Description: "the user's 5-digit zip code. Ex: '78701'"
  • Allow Overwrite: ✅

Example 2: Business Information

Business Name:

  • Field: business_name
  • Description: "the name of the user's company or business. Ex: 'ABC Software' "
  • Allow Overwrite: ✅

Website:

Example 3: Custom Field for Project Timeline

Custom Field: "project_timeline"

  • Field: project_timeline (custom field you created)
  • Description: "when the user wants to start the project or their timeline. Ex: 'next week' "
  • Allow Overwrite: ✅

Example 4: Equipment Details

Custom Field: "current_equipment"

  • Field: current_equipment (custom field)
  • Description: "details about the user's current equipment or system. Ex: 'Carrier AC unit, 10 years old' "
  • Allow Overwrite: ✅

How Field Extractors Work

Extraction Process

  1. Contact sends message
  2. AI generates response
  3. In parallel: Field extractors scan the conversation
  4. AI looks for information matching your descriptions
  5. When found, data is extracted
  6. Contact field is updated (or not, if allow_overwrite is disabled and field has value)
  7. Contact receives AI response (no delay)

Performance:

  • Zero added latency to conversation
  • Runs in parallel with response generation
  • Contact doesn't notice anything

When Extraction Happens

When using Field extractors, your AI evaluates:

  • The current message from contact
  • Recent conversation history

This means:

  • Can extract from any message, not just responses to specific questions
  • Works even if contact volunteers information without being asked
  • Can improve the input for a certain field as the user provides more info

Overwrite Behavior

With Allow Overwrite Enabled:

Contact record: street_address = "123 Main St"
Contact says: "Actually, my address is 456 Oak Ave"
Field extractor updates: street_address = "456 Oak Ave"

With Allow Overwrite Disabled:

Contact record: street_address = "123 Main St"
Contact says: "Actually, my address is 456 Oak Ave"
Field extractor skips: street_address stays "123 Main St"

Best Practices

Extract What You Actually Need

Don't extract every possible field:

  • ✅ Fields critical to your workflow
  • ✅ Information AI is actively asking for
  • ✅ Data needed for booking, CRM sync, or service delivery
  • ✅ Info you expect some users to provide based on the subject of the conversation the agent is designed for, but aren't explicitly asking for
  • ❌ Every possible field "just in case"

Match Extractors to Agent Instructions

If your agent asks: "Can you tell me about the project?"

Then extract:

  • service_description (or custom field you create, project_description)

If your agent asks: "What's your address?"

Then extract:

  • street_address
  • city
  • state
  • zip_code

Use Descriptive "What to Extract" Text

The AI uses your description to understand what to look for:

  • Be specific
  • Include examples when helpful
  • Describe the format you expect

Enable Allow Overwrite (Usually)

Most fields should allow overwriting:

  • Ensures you have the most current information
  • Corrects mistakes or changes
  • Updates as contact provides more details

Disable Allow Overwrite for:

  • Historical data you want to preserve
  • Fields that should never change once set

Use Custom Fields for Business-Specific Data

Create custom fields for information unique to your business:

  • Equipment types
  • Service preferences
  • Project timelines
  • Budget ranges
  • Property details
  • etc.

Then extract to those custom fields.

Combine with Conditional Tools

Example Setup:

Field Extractor:

  • Field: zip_code
  • Description: "the user's 5-digit zip code"

Conditional Tool:

  • Trigger: "user provides or confirms zip code"
  • Action: Zip Code Territory Check

This way your agent extracts the zip code AND validates territory.

Monitoring Field Extractors

AI Text Agent Logs

Access: AI Agents page > AI Text Logs tab

What You See:

  • Which field extractors fired
  • What values were extracted
  • Whether fields were updated
  • Any extraction errors

Use For:

  • Verifying extraction accuracy
  • Identifying missed extractions
  • Debugging issues
  • Optimizing descriptions

Reviewing Contact Records

After conversations, check contact records:

  • Verify fields were populated correctly
  • Check data quality
  • Ensure formats are as expected
  • Adjust extractor descriptions if needed

Troubleshooting

Problem: Field extractor not firing

Solution:

  • Check that extractor is enabled (toggle)
  • Make description more specific
  • Ensure contact actually provided that information
  • Review AI logs to see if AI detected the information
  • Test with agent test feature

Problem: Wrong data being extracted

Solution:

  • Review and refine the "What to Extract" description
  • Add examples showing expected format
  • Be more specific about what to capture
  • Test with different conversation scenarios

Problem: Field not updating even though extractor fired

Solution:

  • Check if "Allow Overwrite" is disabled and field already has value
  • Verify field name is correct
  • Check contact record for existing value
  • Review logs for extraction errors

Problem: Extracting to wrong field

Solution:

  • Verify field selection in extractor configuration
  • Check for duplicate extractors
  • Ensure field name matches what you intended
  • Edit extractor to select correct field

Problem: Missing extractions in conversation

Solution:

  • Contact may have provided information in unclear way
  • Make description less specific/more flexible
  • Add alternative phrasings to description
  • Consider if information was actually mentioned

Related Features

  • AI Text Agents - Configure agents with field extractors
  • Conditional Tools - Take actions based on conversation content
  • Contacts - View extracted data in contact records