Skip to main content

Interpolation

Many workflow activity fields support interpolation — placeholders that are replaced at runtime with values from the workflow's execution context. Interpolation lets you build dynamic values without writing code.

The syntax is {Key} where Key is the name of a value in the workflow context.

Built-in Placeholders

{date} — Current Date

Inserts the current UTC date and time, formatted with the en locale (slashes replaced with dashes).

Report_{date}.csv

{date FORMAT} — Date with Custom Format

Inserts the current date using a .NET date format string.

{date yyyy-MM-dd}
{date yyyyMM}
{date dd-MMM-yyyy}

Optionally specify a timezone and/or culture in parentheses before the format string:

{date (UTC) yyyy-MM-dd}
{date (Romance Standard Time) dd/MM/yyyy}
{date (fr-FR) dd MMMM yyyy}
{date (UTC) (en-GB) dd MMM yyyy}

Timezone identifiers must be valid Windows timezone IDs (e.g. UTC, Eastern Standard Time, Romance Standard Time). Culture codes use the standard BCP 47 format (e.g. en-US, fr-FR).

{this} — Current Foreach Item Identifier

Inside a Foreach loop, resolves to the internal identifier of the current iteration item (a composite key of the subprocess run ID and the item name). Mainly used for subprocess tracking — prefer {burst} for the item's display name.

{burst} — Current Foreach Item Name

Inside a Foreach loop, resolves to the name of the dimension member currently being processed.

Processing_{burst}_{date yyyy-MM-dd}.log

Runtime Context Keys

At workflow startup, the following keys are added to the context and can be referenced in any interpolated field:

PlaceholderValue
{RunName}The name given to this workflow run
{StartedBy}Username of the user who started the run
{StartedBy_FullName}Full name of the user who started the run
{Tenant}The tenant identifier
{StartTime}The UTC date and time when the workflow started

Startup Parameters

Parameters passed when a workflow is started — from a trigger, a Run Workflow activity, or the API — are loaded directly into the context and available as {ParameterName}.

/api/entities/{EntityId}/close
Hello {ClosingPeriod}, started by {StartedBy}

Script-Set Variables

The Script activity has access to a Context object (an OrderedDictionary). Assign to it to make values available downstream:

Context["Period"] = "2024-Q1";
Context["EntityName"] = "Acme Corp";
Context["TotalCount"] = rows.Count();

Once set, these values are available in all subsequent activities:

Monthly_Close_{Period}_{EntityName}.csv

Activity Output Keys

Many activities write their output to the context using a configurable context key field (e.g. Response Context Key, Timestamp Context Key). Whatever name you set for that key becomes a placeholder you can use in downstream activities.

For example, if a REST API Call activity has its Response Context Key set to ApiResponse, then a later Script or Log Message activity can reference it as {ApiResponse}.

Examples

File name from a Foreach loop

/Reports/{Period}/{burst}_close.xlsx

REST API path from a startup parameter

/api/v1/entities/{EntityId}/close

Email subject mixing variables and date

Monthly Close — {Period} — run by {StartedBy} on {date yyyy-MM-dd}

JSON body using context values

{
"period": "{Period}",
"entity": "{EntityName}",
"runBy": "{StartedBy}"
}

Notes

  • Interpolation is applied immediately before the activity executes.
  • If a placeholder key does not exist in the context, it is left as-is (e.g. {Missing} is passed through literally). This does not stop the workflow, but the consuming system may reject or mishandle the value.
  • Keys are case-sensitive: {Period} and {period} are different.
  • Ensure that Script activities which set context values run before any activity that references those values.