What is a data pill?
A data pill is a reference to a value that was produced by a previous step in the flow. Every step that produces output creates data pills — the trigger produces record field pills, action steps produce output pills, Script steps produce variable pills.
Trigger data pills
For a record-based trigger, the trigger produces a data pill for the record itself and one pill per field. These are available throughout the entire flow:
Trigger: Incident record
→ Trigger > Incident Record (full record reference)
→ Trigger > Incident Record > Number
→ Trigger > Incident Record > Assigned To
→ Trigger > Incident Record > Assigned To > Name (dot-walked)
Dot-walking in data pills
Data pills support dot-walking through reference fields. Click the expand arrow on a reference pill to access fields on the referenced record. This is equivalent to current.assigned_to.email in scripting.
Step output pills
Every action step and script step produces output pills you can consume in later steps:
Step: Look Up Record → Incident
→ outputs: Incident Record (the matched record, all fields available)
Flow variables
Flow variables persist across the entire flow execution and can be read and written by any step. Use them to accumulate values across loops or pass data between branches.
Create them: Flow properties → Flow Variables. Set them with the "Set Flow Variable" action.
Common data pill limitations
Limitation 1: Data pills from inside a For Each loop are only available inside that loop iteration — they do not persist after the loop ends. Use Flow Variables to accumulate loop results.
Limitation 2: Data pills are resolved at the time the step runs. If a referenced record was updated between steps, the pill still contains the value from when the record was fetched.
Limitation 3: You cannot use data pills in conditions directly — you need to transform them with Script steps or Action steps first if complex comparison logic is needed.
Script steps and data pills
Script steps can consume data pills as input variables and produce output variables as data pills:
// Script step inputs: record_number (String from data pill)
// Script step outputs: formatted_message (String)
var formatted_message = 'Incident ' + record_number + ' has been processed.';
outputs.formatted_message = formatted_message;