Environment variables
There is a list of Tray environment variables (prefixed with $.env) that - at any point in your workflow - can be used to access basic info about the workflow/solution environment. These are:
1$.env.execution_uuid2$.env.execution_start_time3$.env.execution_log_url4$.env.organization_uuid5$.env.project_id6$.env.solution_id7$.env.solution_instance_id8$.env.source_workflow_uuid9$.env.workflow_uuid10$.env.workflow_title11$.env.workspace_id
Tray's $.env
environment variables are fixed and it is not possible to create custom $.env variables
An alternative approach may be to use project config variables which are entirely customizable and can be accessed using the $.config
jsonpath
The execution uuidCopy
The $.env.execution_uuid
environment variable is potentially of key importance in managing statuses and errors.
It is the id which is generated every time a workflow is run.
It could be linked to an external execution id (which may have been pulled in from a webhook) - both of which could be stored in Data Storage and retrieved later in the workflow or stored at account level and retrieved in any child workflows which are called.
The workflow uuidCopy
The $.env.workflow_uuid
environment variable is basically the uuid
found in your workflow url:
An example of using $.env.workflow_uuid
can be found in our documentation on workflow threads
In this case it is used as a suffix for an account-level data storage variable, to identify that the variable is connected to that workflow
Callable workflow trigger variablesCopy
Callable workflows have the following environment variables available from their trigger output:
1$.steps.trigger.#calling_workflow2$.steps.trigger.#calling_execution3$.steps.trigger.#calling_execution_log_url
The $.steps.trigger.#calling_workflow
environment variable can be used to obtain the uuid
of the calling workflow.
Again, this is used in our documentation on workflow threads - to make sure the calling workflow accesses the account-level data storage list that was created by the calling workflow.
Embedded environment variablesCopy
There is a further list of environment variables that can be used to access basic info about the solution environment in your Embedded integrations.
These are:
1$.env.execution_uuid2$.env.execution_start_time3$.env.user_id4$.env.external_user_id5$.env.execution_log_url6$.env.workflow_uuid7$.env.workflow_title8$.env.solution_id9$.env.solution_instance_id10$.env.source_workflow_uuid
For example, if you have a step which produces the following error output:
You could use the following:
To format a message which would produce the following:
Environment variables and fallback valuesCopy
When building Embedded Solutions, you should set fallback values when using environment variables.
For example, $.env.solution_instance_id
is only available in the solution instance context and you will get errors while testing the master workflow as the jsonpath isn't yet available.