Skip to main content

Custom Data Collection for AI Voice Agents

Define custom fields the AI phone agent listens for on every call, and send the results to your webhook and call records

Written by Fernando Figueiredo

The Data collection tab lets you define up to 5 custom fields your AI phone agent listens for on every call. Collected values appear in each call's record under Call History and are included in the webhook payload Zeeg sends after the call — ready to feed into your CRM, automation, or data pipeline.

  • Data collection is available on all plans, as long as you're using the AI Voice Agent (for which you need AI minutes).

  • CRM attribute mapping requires a Zeeg paid plan (from Professional onwards).

GDPR note: Anything you collect here may be personal data under GDPR. You are responsible for having a lawful basis to collect and process it.


How to add a custom data-collection field

  1. Open your AI Phone Agent

  2. Click Data collection in the left sidebar and click Add field.

  3. Fill in the field details in the dialog that opens.

    1. Label — a name for the field (up to 60 characters). Zeeg derives the webhook key from this label at save time; the key is locked permanently once the field is saved, even if you later edit the label.

    2. Type — the data format the agent should return. See the Field types section below.

    3. Extraction hint — an internal instruction that tells the agent what to listen for. It is never read aloud to the caller. Adding a specific hint (for example: "The annual gross salary the caller names, in euros") helps the agent return accurate values.Optionally, map the field to a CRM attribute (see below).

  4. Save the field. It appears in the Your fields section and takes effect on the next call.

Important: Your agent only extracts what it actually hears during the call. Add each field's question to the agent's prompt too — under Main Settings — otherwise the field will come back empty.


Field types

Choose the type that matches what you want the agent to extract:

  • Text — free text, like "blue" or "yes, I confirm"

  • Whole number — integers, like "3 years"

  • Decimal — numbers with decimal places, like "45000.50"

  • Yes/no — a true/false value, like "did the caller agree?"


Webhook key

When you create a field, Zeeg derives a camelCase key from the label you type. The key is shown as a preview below the Label field before you save. Once the field is saved, the key is locked — editing the label later does not change it. This keeps past call records and existing webhook integrations working correctly.

In your webhook payload, the value arrives under data.key — for example, data.salaryExpectation. You can use this key to route the value in your automation tool or data pipeline.


How to map a field to a CRM attribute

If your Zeeg plan includes the CRM, you can write a collected value directly onto the matched CRM contact after each call ends.

  1. While adding or editing a field, find the CRM attribute section in the dialog.

  2. Click Search attributes and select the CRM attribute you want to populate.

  3. Toggle Overwrite existing value to control whether the collected value replaces what the contact already has in that attribute. Off keeps the current value; on replaces it with what the agent collected.

Nothing is written if no CRM contact matches the caller.


System fields and your custom fields

The Data collection tab shows two sections:

  • Always collected — system fields Zeeg records automatically on every call. They carry a System badge and cannot be edited or removed.

  • Your fields — the custom fields you define. You can add up to 5 per agent. Each field shows its label, type, and webhook key. If a field is mapped to a CRM attribute, the attribute name appears as a badge on the field row.

Both sections appear in the Data collection panel on each call record in Call History.


Frequently asked questions

Why is my field coming back empty after a call?

The agent only extracts what it actually hears. If you haven't added a question for that field to the agent's prompt (under Main Settings), the agent has no instruction to ask for it, so the field comes back empty. Add the question to the prompt and test the agent again.

Can I change the webhook key after saving a field?

No. The webhook key is permanently locked after the first save so that past call records and existing webhook mappings continue to work. If you need a different key, delete the field and create a new one with the label that produces the key you want.

What happens to collected data when I delete a field?

Past calls keep their collected data in Zeeg and in the ElevenLabs panel. Deleting a field only stops it from appearing in the webhook payload going forward — for any call currently in progress and every call after the deletion.

How many custom fields can I add per agent?

You can add up to 5 custom fields per agent. Once you reach the limit, the Add field button is disabled. Delete an existing field to free up a slot.

Where do I see the collected values after a call?

Open Call History in your AI Phone Agent settings, click on a call record, and expand the Data collection section in the call detail panel. Each field that returned a value is listed there by label.

Did this answer your question?