Flow Studio
Pre-Populating Form Fields
Using inputMap to pass workflow data into Atlas Form fields as default values — how initial values flow through to the FormRenderer.
How Pre-Population Works
- The
inputMapin the UserFormNode config maps form field keys to workflow expressions - The executor evaluates all expressions before suspending
- The evaluated values are stored as
initialValueson the HIL task record - When the actor opens the task, the FormRenderer receives the
initialValuesand passes them to the Atlas Forms player - The Atlas Forms player applies initial values as field defaults — users see them pre-filled
inputMap Examples
{
"inputMap": {
"employeeName": "$output.fetchEmployee.displayName",
"department": "$output.fetchEmployee.department",
"requestDate": "new Date().toISOString().split('T')[0]",
"claimAmount": "$output.parseClaim.amount",
"currency": "$output.parseClaim.currency ?? 'USD'",
"category": "$json.claimCategory",
"managerNote": "\"Submitted for your review\""
}
}
Read-Only vs. Editable Pre-Population
Whether a pre-populated field is editable depends on the Atlas Form's field configuration — not the workflow's inputMap. If a field is set to read-only in the form definition, the pre-populated value will be visible but the user cannot change it.
Use read-only pre-population for context fields (employee name, request ID) and editable pre-population for fields the reviewer should be able to adjust (approved amount, effective date).
Complex Initial Values
Some Atlas Form fields accept complex initial values (arrays, objects for multi-select, grid fields, etc.):
{
"inputMap": {
"selectedItems": "$output.cartNode.items.map(i => ({ id: i.id, name: i.name, qty: i.quantity }))",
"approverList": "$output.getRoleMembers.userIds",
"startDate": "$json.requestedStartDate",
"preferences": { "sendEmail": true, "priority": "high" }
}
}
Field key matching: The keys in
inputMap must exactly match the field keys in the Atlas Forms form definition. Check the form builder's "Field Key" property for each field — it may differ from the display label.