# How to Build a Multi-Step Form in ZazzyAgent

Some customer processes require more than one answer.

For example, a lead form might need:

1.  Name
    
2.  Email
    
3.  Requirement
    
4.  Budget
    
5.  Timeline
    

You can build this as a conversational multi-step form in ZazzyAgent.

The customer answers one question at a time and the flow moves to the next step.

## What is a multi-step form?

A multi-step form is a series of User Input questions.

The architecture is:

```text
Question 1
    ↓
Answer
    ↓
Question 2
    ↓
Answer
    ↓
Question 3
    ↓
Answer
    ↓
Confirmation
```

The current User Input documentation supports collecting several fields in sequence and saving their answers to system or custom fields. ([botsailor.com](https://botsailor.com/help/en/blog/multi-step-form-with-input-flow-in-botsailor?utm_source=chatgpt.com))

## When should you use one?

Use a multi-step form when you need several pieces of information but want the customer to provide them conversationally.

Examples:

*   Lead qualification
    
*   Appointment requests
    
*   Support requests
    
*   Registration
    
*   Surveys
    
*   Quote requests
    

## Step 1: Decide what you need

Start with the end result.

For example:

> Sales team needs a qualified lead.

What information do they actually need?

Perhaps:

*   Name
    
*   Email
    
*   Service
    
*   Budget
    
*   Timeline
    

That's your form.

## Step 2: Create the first question

Ask:

> What's your name?

Save the answer into the appropriate name field.

## Step 3: Ask for email

Next:

> What's the best email address to reach you?

Use the appropriate email input type.

## Step 4: Ask about the requirement

For example:

> What are you looking for?

Save the response to:

> Requirement

## Step 5: Ask the budget

For example:

> What's your approximate budget?

Save to:

> Budget

## Step 6: Ask about timing

For example:

> When are you hoping to get started?

Save to:

> Timeline

## Step 7: Confirm the information

At the end, send a confirmation.

For example:

> Thanks, Rahul. I've recorded your requirement and budget. We'll use these details to help with the next step.

## Step 8: Trigger the next automation

After the form, you can:

*   Add a label
    
*   Assign a sequence
    
*   Call an API
    
*   Trigger another flow
    
*   Assign a human
    
*   Transfer to an AI Agent
    

The correct action depends on your process.

## Example: Lead qualification form

```text
Name
 ↓
Email
 ↓
Requirement
 ↓
Budget
 ↓
Timeline
 ↓
Confirmation
 ↓
Qualified Lead
```

## Example: Support form

```text
Name
 ↓
Issue Type
 ↓
Order Number
 ↓
Problem Description
 ↓
Confirmation
 ↓
Support Team
```

## Example: Appointment form

```text
Name
 ↓
Service
 ↓
Preferred Date
 ↓
Preferred Time
 ↓
Confirmation
```

## Don't ask everything at once

A message such as:

> Please send your name, email, phone, company, requirement, budget and preferred date.

creates unnecessary work for the customer.

One question at a time is easier to complete and validate.

## Use Quick Replies where possible

Suppose the customer needs to choose:

> What service do you need?

Use:

**Consultation**

**Demo**

**Installation**

instead of forcing them to type.

Then use User Input for information that needs free text.

## Use validation

Each important input should use appropriate validation.

Examples:

**Email**

→ Email validation

**Phone**

→ Phone formatting

**Budget**

→ Numeric validation where appropriate

## Save every answer

Give every important answer a destination.

For example:

```text
Name       → First Name
Email      → Email
Requirement → Custom Field
Budget     → Custom Field
Timeline   → Custom Field
```

## Don't overwrite unrelated fields

Make sure each question saves into its intended destination.

Accidentally saving:

> Budget

into:

> City

can create confusing customer records.

## Use conditions after the form

Suppose:

**Budget = 100000**

After collecting the form:

```text
Budget ≥ 100000
       ↓
Enterprise Sales
```

Otherwise:

> Standard Sales.

## Use labels after the form

You could add:

> Qualified Lead

once all required information has been captured.

## Send data to your CRM

Once the form is complete, use HTTP API or another integration method to send the information to your external system.

For example:

```text
Multi-Step Form
      ↓
Customer Data
      ↓
HTTP API
      ↓
CRM
```

## Don't make forms too long

A ten-question form may be appropriate for some businesses.

But if customers repeatedly abandon it, reduce the number of questions.

Only ask for information that changes what happens next.

## Give customers progress context

When appropriate, tell customers what they're doing.

For example:

> Great. Just two more questions and we'll have everything we need.

This helps them understand why the conversation continues.

## Handle incomplete conversations

Customers may stop answering halfway through.

Design your follow-up strategy appropriately.

Don't assume every customer completes every step.

## Test the complete form

Test:

*   Correct answers
    
*   Invalid answers
    
*   Missing answers
    
*   Early abandonment
    
*   Each saved field
    
*   Confirmation
    
*   Final automation
    

## Multi-step form vs WhatsApp Flow

Use a conversational multi-step form when:

> One question at a time works well.

Use a WhatsApp Flow when:

> A structured form interface is more convenient.

Both can be valuable.

## The architecture

```text
Start
 ↓
Input
 ↓
Validate
 ↓
Save
 ↓
Input
 ↓
Validate
 ↓
Save
 ↓
...
 ↓
Complete
 ↓
Automation
```

Once you understand this pattern, you can build lead forms, booking requests, support intake forms and surveys without creating a separate manual process for each one.
