How form fields work
Every input on the form has a system name — the key Maestra uses to identify the field when sending data. There are two kinds of fields:- Standard fields (email, name, phone) come with built-in system names. You don’t have to assign them.
- Custom fields require you to set the system name yourself. The system name is what links the form input to a custom field on the customer profile or to a parameter on a customer action.
- Text
- Date
- Number
- Dropdown
- Toggle buttons (single-select)
- Checkboxes (multi-select)
Two ways to pass data to Maestra
You have a choice between a configuration-based approach and a code-based approach. Most teams should start with Basic steps and move to Custom JavaScript only when they hit a limit.Basic steps
Use the form’s built-in action blocks to send data. No code, no pre-created actions. What you can do with basic steps:- Create a new customer
- Update an existing customer
- Issue a customer action
- You’re capturing standard customer data (email, name, phone, simple custom fields).
- You don’t need to run any logic on the data before sending it.
- You haven’t already defined a custom operation that you need to reuse.
Custom JavaScript
Use a pre-created Maestra operation and a JavaScript call to send data. More flexible, but requires more setup. What it adds beyond basic steps:- Send data to any pre-defined operation, including ones that run complex logic.
- Reference any field on the form using percent-sign syntax.
- Compose data dynamically — concatenate fields, transform values, add conditional payloads.
%email%— the email the visitor entered%name%— the name they entered%customs.fields_list.fieldname%— a custom field by its system name%utm_source%— the UTM source from the page URL
operation call to Maestra. The operation must already exist in your project.
When to use it:
- You need to send data to a custom operation that has parameters basic steps don’t expose.
- You need to transform or combine fields before sending.
- You’re integrating with downstream systems that expect a specific payload structure.
Contextual data you can send
Beyond what the visitor types, Maestra exposes useful context you can include in either method:- UTM parameters (
%utm_source%,%utm_medium%,%utm_campaign%, etc.) - Current page URL
- Visitor geolocation (when available)
- Form name
- Submission timestamp in ISO 8601 format
Configuration walkthrough
Basic steps example
You have a giveaway form with two fields: email and a “prize selected” dropdown.1
Assign system names
Email uses the built-in
email system name. For the dropdown, set the system name to prize_selected.2
Open the post-submission settings
Go to What happens after the form is submitted and add an Issue an action block.
3
Pick the action
Choose the action defined in your project for giveaway entries — for example, Entered summer giveaway.
4
Map the fields
Map the form’s
email to the customer’s email and prize_selected to the action’s prize parameter.Custom JavaScript example
Same form, but you want to send the data to a pre-created operation calledWebsiteGiveawayEntry that also expects the page URL and UTM source.
In the form’s Run custom JavaScript block, configure the call to your operation with these parameters:
email→%email%prizeSelected→%customs.fields_list.prize_selected%pageUrl→%page_url%utmSource→%utm_source%
The custom JavaScript approach requires that the operation already exists in your Maestra project before the form can send data to it. Create the operation in Settings → Operations first, then reference it from the form.