Skip to content

Pill References

Pill references pass data between steps — the output of one step becomes the input to another.

$<source>.<field>
$<source>.<field>.<subfield>

Access fields from the triggering record:

$trigger.current.number
$trigger.current.short_description
$trigger.current.caller_id # Reference field (sys_id)
$trigger.current.caller_id.email # Dot-walk through reference

Access subflow input parameters:

$input.my_param
$input.recipient.email # Dot-walk on reference inputs

Access scratch variables:

$variable.counter
$variable.temp_record

Reference outputs from earlier steps using the step’s id:

steps:
- action: lookup_record
id: find_user
inputs:
table: sys_user
conditions: "sys_id=$trigger.current.caller_id"
- action: send_email
inputs:
to: $find_user.record.email
subject: "Hello $find_user.record.name"

Give a step an id to reference its outputs:

- action: lookup_record
id: my_lookup
inputs:
table: incident

Then reference it as $my_lookup.<output>.

Common action outputs:

ActionOutputs
lookup_recordrecord, record_count
create_recordrecord, record_sys_id
run_scriptScript-defined outputs

Pill references work inline in text:

inputs:
subject: "Incident $trigger.current.number needs attention"
body: "Assigned to $find_user.record.name ($find_user.record.email)"

flowctl --validate checks that:

  • $<step_id> references point to a step with that id
  • Referenced steps appear before the referencing step (no forward references)
  • $trigger, $input, and $variable are reserved and not checked against step IDs

If a pill reference points to an undefined step ID:

pill reference $find_user (in input "to") refers to undefined step id