Skip to main content

Command Palette

Search for a command to run...

How to Send User Input Data to an External API in ZazzyAgent

Updated
View as Markdown

A common ZazzyAgent workflow is:

Ask the customer for information → send that information to another system.

For example:

What's your name?

What's your email?

What service do you need?

After the customer answers, you may want to send the information to your CRM, database or custom application.

The JSON API Connector can be used for this type of outgoing integration.

What we're building

We'll create:

Customer
   ↓
User Input Flow
   ↓
Collect Information
   ↓
JSON API Connector
   ↓
External Webhook
   ↓
External System

Before you start

You need:

  • A ZazzyAgent Flow

  • User Input fields

  • A receiving webhook/API URL

  • Access to the JSON API Connector

Step 1: Build your User Input flow

Create a flow that collects the information you need.

For example:

Name

Email

Phone

Requirement

Save each answer to the appropriate system/custom field.

Step 2: Test the User Input first

Before adding the API integration, make sure the flow successfully stores the customer responses.

This gives you a known-good starting point.

Step 3: Prepare the external endpoint

Create the endpoint that will receive your JSON data.

For testing, you can use a webhook inspection service.

For production, use your own secure API/webhook endpoint.

Step 4: Open JSON API Connector

Open the JSON API Connector in ZazzyAgent.

Create a new connector.

Step 5: Name the connector

Use a meaningful name.

For example:

CRM – Lead Submission

This makes it clear what the connector does.

Step 6: Add your webhook URL

Enter the external URL that should receive the data.

For example:

https://example.com/api/leads

Use your actual endpoint.

Step 7: Choose the trigger

Select:

User Input Flow

Then select the Flow that collects your lead information.

This tells ZazzyAgent:

When this particular input flow completes, send the selected data.

Step 8: Select the fields

Choose the information you want to send.

For example:

  • First Name

  • Email

  • Phone

  • Requirement

  • Budget

The connector can send system fields as well as customer/user-input information. (botsailor.com)

Step 9: Save

Save the connector.

Step 10: Run a test

Start your User Input flow.

Enter test information:

Rahul

rahul@example.com

+919XXXXXXXXX

WhatsApp automation

Then check your receiving endpoint.

Step 11: Inspect the request

You should see the information in JSON form.

The exact structure depends on your selected fields and ZazzyAgent's current payload format.

Example business workflow

Suppose your sales team uses a CRM.

Your ZazzyAgent lead flow collects:

Name
Email
Phone
Requirement
Budget

When the form finishes:

User Input Complete
        ↓
JSON API Connector
        ↓
CRM API
        ↓
New Lead

Now your sales team doesn't need to manually copy the lead.

Use it with Instagram leads

An Instagram AI Agent may qualify a customer.

Once the required information has been collected:

Instagram
    ↓
AI Agent
    ↓
Lead Qualification
    ↓
User Input / Saved Data
    ↓
JSON API
    ↓
CRM

The same architecture can be used for WhatsApp or other supported channels.

Use it with website leads

A website isn't the only place where this approach works.

Any ZazzyAgent conversation that produces structured information can potentially feed an external system.

Send only the necessary data

Suppose the CRM only requires:

  • Name

  • Email

  • Phone

Don't send twenty unrelated fields.

Smaller payloads are easier to maintain.

Keep your external endpoint stable

Don't change your endpoint URL casually after the connector is configured.

If the destination changes, update the connector and test it again.

What if the external system doesn't receive anything?

Check in this order:

1. User Input completed

Did the customer actually reach the end of the form?

2. Connector is active/configured

Is the correct connector attached to the intended User Input Flow?

3. URL

Is the webhook/API URL correct?

4. Endpoint

Is the receiving server online?

5. Payload

Did the request contain the expected fields?

What if some fields are empty?

Check whether:

  • Customer actually provided them.

  • The field is mapped correctly.

  • The field is the correct system/custom field.

  • The User Input question saves the answer correctly.

What if you need custom authentication?

If the receiving API requires authentication features that the JSON API Connector doesn't directly provide, use a secure backend relay.

For example:

ZazzyAgent
   ↓
Your secure webhook
   ↓
Authenticated server-side API call
   ↓
CRM

This avoids placing private API credentials in the customer-facing automation.

Test with a real-looking payload

Don't test only:

Test User

Use realistic values.

That lets you discover:

  • Field formatting problems

  • Phone-number issues

  • Empty values

  • Unexpected characters

  • CRM validation errors

Add error handling

Your external system can fail.

For example:

  • Server unavailable

  • Invalid request

  • CRM error

  • Duplicate lead

  • Authentication failure

Your business should decide what happens when that occurs.

Don't tell the customer the API failed

Avoid:

HTTP 500

Instead:

We've received your information. Our team will process it shortly.

Then let your technical system handle the failure internally.

The final architecture

Customer
   ↓
User Input
   ↓
Validate
   ↓
Save Fields
   ↓
JSON API Connector
   ↓
External System
   ↓
CRM / Database / Application

This is one of the simplest ways to turn a ZazzyAgent conversation into an automated business process.