Virbe Documentation

Collect User Data

Prompt the user for a specific piece of information and store their response in a variable for use later in the conversation.

The Collect User Data node asks the user a question and waits for their response. The response is captured and stored in a specified variable – making it available to subsequent nodes in the flow.

Use this node to gather structured input from users: their name, email address, order number, preference, or any other value the pipeline needs.

Collect User Data stores whatever the user says or writes as their next input – verbatim, including anything beyond the answer you asked for. Design the conversation so the user naturally responds with just the value (e.g. "Please type your email address only"), and in voice deployments encourage the user to speak slowly and clearly. This reduces transcription errors and prevents accidental storage of extra information – including personal data the user volunteers but you never asked for. See Data and Privacy for your obligations around stored personal data.

Available in: Conversational Flows


Configuration

FieldDescription
Skip if value existsWhen enabled, the node is skipped if the target variable already has a value – the user isn't asked again
QuestionThe question or instruction shown to the user (up to 1,000 characters), e.g. "What is your email address?"
VariableThe variable where the user's response is stored. Must already exist – select it from the dropdown (create it first in the Variables panel if it's not listed).

Routing is built in

Collect User Data has two output ports on the canvas: Submit and Cancel.

Collect User Data node configured with Submit and Cancel ports


Usage pattern

A typical data collection sequence:

[Text: "To look up your order, I'll need a few details."]
  → [Collect User Data: "What's your email address?" → store in user.email] ── Submit ──►
  → [Collect User Data: "And your order number?" → store in conversation.orderNumber] ── Submit ──►
  → [Call Webhook: look up order by email + order number]
  → [Text: "Found it! Your order is currently {{conversation.orderStatus}}."]

Each arrow above follows the node's Submit port; connect Cancel separately if you need to handle it.


After collection

Once the variable is set, use it with:

  • Text node – reference {{variable.name}} in the message
  • Check Variable – branch logic based on the value
  • Call Webhook – pass the value to an external API
  • Tool Agent – the AI can reference conversation variables automatically

On this page