Use ArcGIS Arcade expressions to dynamically populate input values throughout a workflow. For example, you can use an Arcade expression to assign steps to specific users or groups based on the result of a previous step and send notification emails that contain job-specific information. You can also configure the Run GP Service step to use the JobLocation Arcade expression as an input parameter that's replaced with the extent of the job's location when the step is run. Every input value that supports Arcade expressions appears with a This input supports Arcade Expressions button that contains a list of expressions that can be added to its associated text box.
You can also use nested Arcade expressions to modify the output of other expressions. For example, you can use the following Text and Date functions to convert the output of the JobDueDate expression from epoch time to a more readable date format:
Text(Date(JobDueDate($Job)), 'dddd, MMMM D, Y')
If you need to combine plain text and Arcade expressions, you'll need to format the text as follows:
'Plain text' + ArcadeExpression() + 'plain text'
The following table contains an overview of the different categories of Arcade expressions specific to Workflow Manager:
Category | Description |
---|---|
Retrieve job information managed by ArcGIS Workflow Manager. | |
Retrieve custom business-specific information from extended properties tables. | |
Retrieve job data source and version information. | |
Retrieve job location information. | |
Retrieve user-defined settings. | |
Retrieve output values and past step assignment information. |
Visit the ArcGIS Developer website for a complete list of Arcade functions and global variables. The This input supports Arcade Expressions button context menu contains the following expressions from the Arcade Function Index list.
Name | Arcade Expression | Description |
---|---|---|
Current Portal | $currentPortal | Returns the current active portal. |
Current User Details | var u = GetUser($currentPortal); return u['<key 1>'] + u['<key 2>'] | Returns properties of the current user. |
Current User Email | GetUser($currentPortal)['email'] | Returns the current user's email address. |
Current User ID | GetUser($currentPortal)['id'] | Returns the current user's ID. |
Current Username | $currentUser | Returns the current user's username. |
Get User Details | var u = GetUser($currentPortal, '<username>'); return u['<key1>'] + u['<key2>'] | Returns properties of a specified user. |
Get User Email | GetUser($currentPortal, '<username>')['email'] | Returns a specified user's email address. |
Get Username | GetUser($currentPortal, '<username>')['username'] | Returns a specified user's username. |
User Groups | userGroups($currentUser) | Returns the ArcGIS Enterprise portal group IDs for the current user. |