LeadMove Docs
Delivery

Field mapping and transforms

How to declare which fields a buyer receives, under which names, and how to reformat each value before it is sent.

Each delivery method has an Expected fields list — the buyer's delivery schema. It decides exactly which fields leave LeadMove, in which order, and under which names. Everything else stays behind.

Edit it on the delivery method's page, under Expected fields.

The Expected fields list on a buyer's delivery method: draggable rows for timestamp, email, phone, quality_score and quality_grade, each showing its field key, the label the buyer sees, and its transform (all "As-is" here, with shortcuts to format as date, phone or number).

This is not a passthrough

Only the fields declared here are ever sent. A schema field with no mapping goes out empty, and a pipeline field the schema doesn't declare never reaches the buyer, whatever it's named. Adding a field to your pipeline does not add it to a buyer's delivery.

Two kinds of field

System fields are filled by LeadMove on every lead, so they always resolve:

KeyValue
timestampDelivery time
email, phoneThe lead's contact details
lead_idThe lead reference, e.g. LD-00042
campaignThe pipeline the lead came from
buyerThe receiving buyer's name
sourceTraffic source, direct when unknown
quality_score / quality_gradeScore 0-100 and grade A-D (Using grades)

Mapped fields are your pipeline's data. You declare the name the buyer expects here, then line your own field name up with it in each routing rule's Field mapping (Routing rules).

Each row has a key and a label. The key is the name the buyer's system sees in a webhook payload, and the variable you use in templates ({zip}). The label is the human column title used in the Google Sheets header. Drag rows to change the order of the columns or payload keys.

Per-field transforms

Every field can be reformatted right before it's sent. Default is Send as-is.

TransformOptions
Map valuesPairs like sedan → car. Case-insensitive. If a value matches no pair: keep original, send empty, or send a fixed value
Text caseUPPERCASE, lowercase, Title Case
Phone formatE.164 (+15551234567), National ((555) 123-4567), International (+1 555 123 4567), Digits only (5551234567)
Date formatIncoming: auto-detect, MM/DD/YYYY, DD/MM/YYYY, YYYY-MM-DD, MM-DD-YYYY, Unix. Send as: the same four masks, plus Unix timestamp and ISO 8601
Number formatDecimals (auto, 0, 1, 2) and an optional thousands separator
Fixed valueAlways sends the same value, whatever the lead carries — how you pass a buyer's constant, like an account key

Two options apply on top of any transform: Trim spaces (before) and If empty, send… (after, when the result would be blank).

The editor shows a live example under each transform — the same code that formats the real delivery. If a value can't be converted (an unparseable date, a phone number with no country), it is sent unchanged rather than dropped.

Common questions

The buyer says a field arrives empty. Where do I look? The field is in the schema but nothing feeds it. Check the routing rule's field mapping for that pipeline — an unmapped schema field is sent empty.

Do I have to redo this for every pipeline? No. The schema belongs to the delivery method, so it's written once per buyer. Only the mapping — your field name to their field name — is per routing rule.

My buyer wants dates as DD/MM/YYYY and everyone else wants ISO. Set a date transform on that one buyer's field. Transforms are per delivery method, so nobody else is affected. Cleaning data for all buyers belongs upstream instead: Data normalization.

Can I send a value the lead doesn't contain? Yes — add the field and give it the Fixed value transform.

On this page