Skip to main content
For general configuration, start with the collection setup guide. This page walks through one practical example. Collect data turns answers in a conversation into a structured submission saved in Visito. In this example, a prospective homebuyer shares a New York City neighborhood, a purchase budget, and a timeframe. The agent asks for missing information, confirms the preferences, and saves them. No spreadsheet, API server, or webhook is needed. This example captures preferences; it does not search listings, qualify a buyer, schedule a viewing, or automatically create a sales opportunity.
Screenshots use the English dashboard and a synthetic local test. The conversation appears under the signed-in test contact; the neighborhood and budget are fictional demonstration values. Use your own business scope and test contact when following along.

1. Create the action

Open Configuration → Actions and select the Collect data card. Give the action a specific name:
In When and how the AI should use it, describe the customer intent, the questions to ask, and the point at which the record should be saved:
Choose Available in deliberately. This demo uses All businesses in a controlled workspace. For a real estate team within a larger workspace, select the relevant business so unrelated conversations do not receive this action. General configuration with the collection purpose, business scope, and Playground-only mode. The screenshot shows the saved editor. Creation presents the same general settings together with fields and an optional destination. After creation, reopen the action to use the General, Fields, and Destination tabs.

2. Define the three fields

Select Add field for each row below. Keep Required checked on all three. Field names are stable identifiers for saved values. Use lowercase letters, numbers, and underscores, starting with a letter. Field descriptions guide the agent; they are more useful than a label alone. Use these descriptions: neighborhood
budget_usd
purchase_timeframe
Text and numeric field setup with descriptions and required values. For Choose one, enter each option in Add choice and press Enter after each:
Check that all three appear as separate chips. The customer can say “the next six months”; the saved value must be the configured Within 6 months option. Do not silently force an answer outside those choices into the nearest option. The purchase timeframe field with three individual choices. The numeric type stores 900000 as a number, not the formatted string $900,000. The USD convention comes from your field name and instructions. A number type alone does not explain the currency to the customer.
“Required” means a value must be supplied before submission. Confirmation before saving is part of this action’s instructions; the checkbox alone does not add a confirmation step.

3. Leave the destination empty

For this example, keep HTTPS destination and Bearer token empty. The submission stays in Visito. An empty optional destination, with the explanation that submissions are saved only in Visito. A webhook is optional delivery of collected information to another system. It is separate from a Connect a system action that calls an API to obtain a result during the conversation. No webhook was sent in this example. Select Create action. New collection actions start in Playground only. The status control offers: For a controlled Webchat test, reopen the action, choose Active, and select Save changes. Use synthetic preferences. In this local demonstration, the planner was temporarily disabled to test the response layer’s action flow; production routing was not verified. The active collection action under the Collect data filter.

4. Test a natural conversation

Start a new Webchat conversation. Do not tell the agent an internal tool name: test the customer’s normal intent.
  1. Customer: “Hi! I’m looking to buy a home in New York City. Can I share what I’m looking for?”
  2. The agent asks for neighborhood, maximum budget in USD, and timeframe.
  3. Customer: “Park Slope in Brooklyn, with a maximum budget of $900,000 USD.”
  4. The agent asks for the missing timeframe instead of saving an incomplete record.
The agent asks for the missing timeframe after receiving neighborhood and budget.
  1. Customer: “Within the next six months.”
  2. The agent repeats all three preferences and asks whether they are correct.
The agent summarizes the preferences before saving.
  1. Customer: “Yes, that is correct. Please save those preferences.”
  2. The action runs, Webchat shows Request saved, and the agent confirms the saved preferences.
Successful Webchat capture after customer confirmation. This test produced one submission, with these values:

5. Inspect Actions history

Open Actions → History, select the action in the Action filter, and open the relevant execution. Refresh if the newest execution has not appeared. The demonstration shows Completed → Information saved, environment Live, the three parameters, and a response containing status: submitted and a submissionId. “Live” describes the channel mode; the screenshot is from a local test environment. History shows the typed parameters and the returned submission ID. The saved submission ID is the concrete result behind the agent’s confirmation. This example’s execution took 32 ms in the local environment; that is action execution time, not a promise about full conversation latency.

6. Inspect the conversation and saved record

Select Open conversation in the execution detail. Expand NYC homebuyer preferences · Completed in the transcript. It shows Outcome: Saved, the submitted fields and their types, and the action version used. Expanded action receipt within the conversation. Open the conversation’s CRM tab. Under Action submissions, verify the same neighborhood, numeric budget, and timeframe. Webhook: Not configured is expected because the destination was empty. The saved values in the conversation CRM panel alongside the completed action receipt. The panel also says No sales opportunity yet in this example. A collection submission is not automatically a sales opportunity, a follow-up assignment, or a scheduled callback. Configure those separately if your workflow needs them. For a real lead workflow, add a contact field only if you need it and explain its purpose to the customer.

Reuse and troubleshoot

  • The agent cannot use it: check mode, business scope, saved changes, and whether routing handed the conversation to a person before the action could run.
  • No record in CRM after a Playground test: expected. Playground submissions are isolated from live CRM records.
  • A required answer is missing: the agent should ask for it. Do not fill gaps with invented values.
  • The customer gives a different timeframe: ask them to choose a supported option, or intentionally edit the action’s choices for your business.
  • The customer corrects a value: confirm the revised preferences before submission. Do not assume a new invocation edits the earlier record.
  • The answer says saved: verify the receipt and submission; the natural-language answer alone is not sufficient evidence.
Before publishing your own version, test incomplete answers, ambiguous currency, unsupported choices, corrections before saving, and a complete submission. This walkthrough directly verified missing-field collection, confirmation, numeric/choice normalization, saved history, and the CRM record. It did not test webhook delivery or production routing. After capturing the local example, return the demo action to Playground only to avoid collecting new live submissions unintentionally. The demonstrated record and execution history remain available.