Skip to main content

Command Palette

Search for a command to run...

How to Map Webhook Data to Customer Fields in ZazzyAgent

Updated
View as Markdown

Receiving a webhook is only the beginning.

An external system may send ZazzyAgent information such as:

{
  "name": "Rahul",
  "phone": "+919XXXXXXXXX",
  "email": "rahul@example.com",
  "lead_type": "Enterprise"
}

ZazzyAgent needs to know what each value means and where it should be stored or used.

That's what field mapping is for.

What is webhook field mapping?

Field mapping connects a value received from an external webhook to a field that ZazzyAgent can use.

For example:

Webhook:
customer_name
       ↓
ZazzyAgent:
Name

Another:

Webhook:
lead_type
       ↓
Custom Field:
Lead Type

Why does mapping matter?

Without correct mapping, the webhook can arrive successfully while your automation still doesn't work.

You may see:

Webhook received.

but later discover:

Customer name is empty.

or:

The phone number wasn't found.

The request arrived.

The problem is what happened after it arrived.

Example webhook payload

Suppose your website sends:

{
  "full_name": "Rahul Sharma",
  "customer_phone": "+919876543210",
  "service": "Consultation",
  "budget": "50000"
}

You could map:

Incoming field ZazzyAgent destination
full_name Name
customer_phone Phone
service Service Interest
budget Budget

The exact available system fields and custom fields depend on your configuration.

Step 1: Send a test webhook

Before mapping anything, send a real sample request from the external system.

The sample should contain realistic values.

For example:

Name: Rahul Sharma
Phone: +919876543210
Service: Consultation
Budget: 50000

This makes it easier to identify each incoming field.

Step 2: Inspect the received payload

Look at the webhook data ZazzyAgent captured.

You may see fields such as:

full_name
customer_phone
service
budget

Pay attention to the exact names.

Don't assume:

phone

and:

customer_phone

are the same thing.

They are different field names unless you map them accordingly.

Step 3: Decide where each value belongs

For each incoming value, ask:

Is this a standard customer property?

or:

Is this business-specific information?

For example:

Standard information

Name

Phone

Email

Business-specific information

Budget

Service Interest

Company Size

Preferred Date

Use custom fields for information specific to your business.

Step 4: Create custom fields where needed

Suppose your webhook sends:

budget

and you don't already have a Budget field.

Create an appropriate custom field.

For example:

Budget

Then map the incoming budget value to it.

See ZazzyAgent Custom Fields Guide.

Step 5: Map the phone number carefully

Phone mapping is especially important when the webhook will trigger a WhatsApp message.

Your workflow needs to know which customer the phone number belongs to.

Make sure the external system sends the number in the expected international format.

For example:

+919876543210

rather than an ambiguous local format.

Step 6: Map the name

If the incoming field is:

full_name

and your destination is the customer's name field, connect those values appropriately.

Then your automation can personalize messages where supported.

Step 7: Map custom information

Suppose the webhook contains:

service = Consultation

Create or select:

Service Interest

Then map:

service
   ↓
Service Interest

Step 8: Use mapped data in the next step

Once the information is stored correctly, your workflow can use it.

For example:

Webhook
   ↓
Map Lead Type
   ↓
Condition
   ↓
Enterprise?
 ↙       ↘
Yes       No
 ↓         ↓
Sales     Standard

Use mapped webhook data in messages

Suppose the webhook sends:

name = Rahul

You can use the stored customer value in a suitable message.

For example:

Hi Rahul, thanks for your enquiry.

Use mapped data in conditions

Suppose:

lead_type = Enterprise

You can route the conversation differently.

This is where mapping becomes more than simple data storage.

Use mapped data with APIs

Webhook data can also become the input to another API call.

For example:

Webhook
   ↓
Order Number
   ↓
HTTP API
   ↓
Order Status

See How to Use HTTP API in ZazzyAgent Flow Builder.

Use mapped data with labels

Suppose:

lead_type = Enterprise

Your automation can apply an appropriate label.

For example:

Enterprise Lead

Check field types

A common mistake is treating every value as plain text.

For example:

budget

may need to be treated as a number for numeric comparisons.

Likewise:

email

should be stored using an appropriate email field where available.

The field type affects how the data can be validated and used later.

Check nested JSON

External systems don't always send flat data.

You might receive:

{
  "customer": {
    "name": "Rahul",
    "phone": "+919876543210"
  }
}

Here, the information isn't directly at the top level.

You need to understand the payload structure before mapping it.

What if the field is missing?

Your external system may sometimes send:

name
phone

but omit:

email

Don't assume every webhook contains every field.

Your automation should account for missing values.

What if a field is empty?

An empty value is different from a missing value.

For example:

email = ""

means the field exists but contains no value.

You can use conditions or validation where appropriate.

Common mapping mistakes

Correct webhook, wrong field

The request arrived, but you're using the wrong field name.

Phone isn't mapped

ZazzyAgent cannot identify the intended WhatsApp recipient.

Custom field doesn't exist

Create the field before mapping.

Wrong value type

A numeric field may receive unexpected text.

Nested data ignored

The value exists inside another object in the JSON structure.

Test with one customer first

Don't test using 500 live leads.

Send one test request.

Check:

  • Correct customer

  • Correct name

  • Correct phone

  • Correct custom fields

  • Correct next action

Then move to production.

A useful debugging sequence

Webhook received?
       ↓
Correct payload?
       ↓
Correct field name?
       ↓
Correct destination?
       ↓
Value saved?
       ↓
Next automation uses it?

That sequence tells you where the problem actually is.

The key idea

A webhook delivers the data.

Mapping gives the data meaning inside ZazzyAgent.

Once the mapping is correct, the same information can drive messages, conditions, actions, APIs and customer management.