Portal Community

How Pre-Population Works

  1. The inputMap in the UserFormNode config maps form field keys to workflow expressions
  2. The executor evaluates all expressions before suspending
  3. The evaluated values are stored as initialValues on the HIL task record
  4. When the actor opens the task, the FormRenderer receives the initialValues and passes them to the Atlas Forms player
  5. 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.