Zoho stays the source of truth for lead data. Kylo reads fields in two places: from the post an installed automation sends on each event, and from the live Zoho record when a tool or a gate needs more.

The Fields tab

Fields lists the fields of a module as Zoho reports them. Module offers Leads, Contacts, and Deals. Columns are Label, API name, Type, Required, Custom, and Read-only. Custom fields appear next to standard ones. See Map Zoho fields for the steps. Zoho reference: Field metadata API.

The post Zoho sends on each event

Each installed automation posts a JSON body that carries a Kylo trigger name and these merge fields: Tag is never in the post. Zoho rejects the tag as a merge field in a webhook, so the tag-gated trigger checks the tags on the lead record that Kylo fetches when the event arrives.

Enrichment

When a field the send needs is missing from the post, Kylo fetches the lead from Zoho once and uses the fetched record. This is how the tag gate works and how a template variable gets a value the post did not carry.

Phone fields and normalization

A trigger maps the recipient from one of two Leads fields, Mobile or Phone. Kylo strips every character that is not a digit, then normalizes the number before it looks up the contact thread or sends: The country code is the connection’s Country code, shown on the WhatsApp Connection tab. Store lead numbers in international format in Zoho when your leads come from several countries.

Custom fields

A custom field you add in Zoho shows on the Fields tab at once. The agent can read it with @zoho.leads.fields and @zoho.leads.get, and write it with @zoho.leads.update when it is not read-only. Kylo does not read a custom field into a template variable on its own. Variables take values the agent supplies during its turn. See Template variables.

Zoho automations

The six automations and what each provisions.