> ## Documentation Index
> Fetch the complete documentation index at: https://docs.visitoai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Extract structured data from conversations

> Define the information your agent should capture, collect missing details, and save structured submissions in Visito.

**Collect data** turns information shared in a conversation into structured fields saved in Visito. You define the fields and when they should be saved. The agent uses details already available and asks for anything required that is still missing.

Use it for contact details, preferences, requests, feedback, or other information your team needs in a consistent format. You do not need a spreadsheet, API server, or webhook.

## Choose the right action

Use **Collect data** when the result you need is a saved set of fields. Use [Connect a system](/product-guides/ai-agent/custom-tools) to retrieve current information from an API or perform an operation in another system. Use [Google Sheets](/product-guides/integrations/google-sheets) to read or write spreadsheet rows.

A saved submission does not automatically create a sales opportunity, schedule an appointment, or assign a follow-up. Configure those workflows separately when needed.

## 1. Explain what to collect and when

Open **Configuration → Actions → Collect data**. Give the action a name that describes the information it captures.

In **When and how the AI should use it**, explain the customer's intent, what each field means, and when the agent should save the information. Tell it to use details already shared, ask only for missing information, and never invent values.

If you want the customer to review or confirm the details before saving, say so in these instructions. Marking fields as required does not add a confirmation step on its own.

Choose the intended business scope. Use **All businesses** only when the action should apply throughout the workspace.

## 2. Define your fields

Select **Add field** for each piece of information. You can configure up to 20 fields.

| Setting | Purpose |
| - | - |
| Field name | The stable name used for the saved value; use lowercase letters, numbers, and underscores, starting with a letter |
| Type | The kind of value to save |
| Description | What the value means, how to obtain it, and any format or unit the agent should use |
| Required | Whether a value must be present before submission |
| Choices | The accepted values for a choice field |

Choose the type that fits the information:

| Type | Use for |
| - | - |
| Text | Free-form details |
| Email or Phone | Contact information |
| Date | A calendar date |
| Number | Numeric values that may include decimals |
| Whole number | Counts without decimals |
| Yes/No | A boolean answer |
| Choose one | One value from your configured choices |
| Choose several | Multiple values from your configured choices |

Specify units and meaning in the description. A Number field alone does not tell the agent whether a value is a price, distance, or quantity. For choices, add each option separately and check that all intended options are present.

Required fields must be supplied before saving; optional fields can be omitted. If an answer is unclear or does not fit the choices, the agent should ask for clarification.

## 3. Choose where the data goes

By default, submissions are saved in Visito. Leave **Destination** empty if your team will review them there.

To deliver collected information to another system, configure the optional **HTTPS destination** and any required **Bearer token**. This is a webhook destination for saved information, rather than an API lookup used to answer the customer. Review [collection action delivery](/api-docs/actions-api) with whoever maintains the receiving system.

Creation shows the general settings, fields, and optional destination together. After saving, reopen the action to edit its **General**, **Fields**, and **Destination** tabs.

## 4. Test the conversation

New collection actions start in **Playground only**.

| Mode | Behavior |
| - | - |
| Off | Unavailable for new agent executions; existing history remains |
| Playground only | Saves test submissions, without webhooks or live CRM records |
| Active | Available in eligible live conversations, subject to business scope |

In Playground, test how the customer would naturally describe their needs. Provide some details first, then the remaining required information. Check that the agent reuses known answers instead of asking everything again.

Also try an invalid value, an unsupported choice, a correction before saving, and a complete submission. Confirm that values have the expected types and that the agent saves at the point described in your instructions.

After reviewing the results, use **Active** and save the action to enable it for live conversations. If testing a live channel or webhook, use a controlled destination and synthetic data.

## 5. Find the saved information

Open **Actions → History**, filter by the action, and open an execution. Review its inputs and result. A successful submission provides a saved-record reference; the agent's reply alone is not proof that data was saved.

Use **Open conversation** to see the action receipt next to the exchange. For live submissions, open the conversation's **CRM → Action submissions** panel to review the structured values and any delivery status. Playground submissions do not appear as live CRM records.

If the customer changes details after saving, do not assume another invocation edits the original submission. Check the saved records and define the follow-up behavior your workflow needs.

## Troubleshooting

| What you see | What to check |
| - | - |
| The action does not run | Mode, business scope, instructions, required values, and conversation handoff state |
| The agent asks for information already given | Field descriptions and instructions to reuse conversation details |
| No live CRM record after a Playground test | Expected: test submissions are isolated |
| A value is saved in the wrong format | Field type, units, choices, and description |
| Data is saved but not delivered externally | Whether a destination is configured and the delivery result |

## Example: capture property preferences

<Card title="Real estate inquiry" icon="house" href="/product-guides/actions/real-estate-lead">
  Collect a preferred neighborhood, budget, and purchase timeframe, then follow the saved values through the conversation and CRM panel.
</Card>

Developers can manage these actions through the [Actions API](/api-docs/actions-api).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.