The Workflow Manager REST API is a hierarchy of resources and operations that can be grouped by jobs and configuration.
Workflow Manager also exposes the ability to evaluate arcade expressions, use web hooks to automatically create jobs, and enable job notifications in your applications using web sockets.
Jobs
A job is a single unit of work in the Workflow Manager system. In some organizations, a job might be known as a work order or a task. It can be assigned to a person, many people, or a group, and scheduled for completion by a certain date. It includes the workflow steps to complete and the job's details, outlining its scope. It can also contain additional help for completing steps, attachments, the job's location, and associations to spatial data. Many jobs of the same type can be created in the system.
Create jobs
Create one or more jobs.
Search and statistics
Search for jobs and monitor the status of work using job statistics.
Job properties
Manage the properties of a job.
- Get a job
- Update the properties of a job
- Update the assignment of the current step on a job
- Get a job diagram
Attachments
Manage job attachments.
- Get job attachments
- Get embedded job attachment
- Add an attachment to a job
- Add linked attachments to a job
- Update existing attachment on a job
- Delete an attachment on a job
Comments and history
Job comments can be viewed and added to a job to facilitate job specific communications between Workflow Manager users and groups.
Job history is a log of job actions, such as running steps or managing job attachments and job properties.
Job locations
Manage locations for jobs. Identify locations where work needs to be performed for jobs. A job location can be defined as a point, line, or polygon.
Job actions
Perform actions on one or more steps in a job.
Actions supported include: Run
, Finish
, Stop
, Set
, Hold
, Release
, Refresh
.
Run
- Starts running a step.Finish
- Finishes running a step.Stop
- Stops running a step.Set
- Sets a single step to be the active step on the job.Current Step Hold
- Applies a hold or a dependency to a step.Release
- Releases a hold from a step.Hold Refresh
- Refreshes the step status.Status - Perform an action on one or more steps on a job
Manage jobs
Upgrade, close, reopen, and delete jobs.
Configuration
Configuration resources and operations allow workflow item administrators to create and manage workflow diagrams, job templates, and system settings.
Workflow items
Workflow items are single instances of Workflow Manager that allow groups in your organization to performing different types of work. Your organization may have multiple workflow items in your Workflow Manager deployment.
Import/export workflow configuration
Export a workflow item configuration and import to another workflow item.
Available in ArcGIS Online and ArcGIS Enterprise 11.1 or later.
Export a workflow item configuration and import to another workflow item asynchronously.
- Export a Workflow Manager configuration asynchronously
- Import a Workflow Manager configuration asynchronously
Available in ArcGIS Online and ArcGIS Enterprise 11.4 or later.
Users, groups, and roles
The ability of users to access work and the functionality displayed in workflow items depends on the privileges contained in the roles assigned to the groups to which Workflow Manager users belong.
Users
Groups
- Get all groups associated with Workflow Manager roles
- Get the group information from the workflow system
- Update the information of a group
Roles
- Get a single role in the workflow system
- Get all the roles in the workflow system
- Create or update a role
- Delete a role
Job templates
A job template is a predefined collection of properties that serve as the starting point for different types of jobs that can be performed in Workflow Manager. Every job in Workflow Manager is created from a job template. When jobs are created, they use the workflow diagram, job properties, and extended properties defined in the job template as the starting point of the work.
- Get a job template by jobTemplateId
- Get all job templates
- Create a job template
- Update a job template
- Delete a job template by jobTemplateId
Job template sharing
Choose workflow item groups that you want to allow to use a job template for creating and working with jobs.
Job template automation
Schedule recurring jobs for tasks that needs to be performed on a regular basis. Job template automation can be used to automatically create jobs.
- Get the list of created automation schedules for a job template
- Get the automation creation schedule details used by a job template
- Add, update or delete an automated creation schedule for a job template
Extended properties table definitions
Extended properties tables allow organizations to store additional properties or associate external data with jobs to meet specific business needs.
Workflow diagrams
Workflow diagrams allow you to create a visual representation of a business process that consists of steps and paths. It represents the process that a job will follow from start to finish.
- Get all diagrams
- Get a diagram by diagramId
- Get a diagram version
- Create a new diagram
- Update an existing diagram
- Delete all versions of a diagram
- Delete a diagram version
Searches
Shared searches allow workflow item administrators to create custom searches and share them with all workflow item users or specific groups.
- Get saved searches
- Get share details of a saved search
- Create a saved search
- Update a saved search
- Share a saved search
- Delete a saved search
Server logs
Access Workflow Manager Server logs to monitor and identify problems.
Available in ArcGIS Online and ArcGIS Enterprise 11.2 or later.
Settings
Manage all settings in a Workflow system, such as user defined settings or email settings.
Lookup tables
Manage lookup tables such as priorities, statuses, or user defined lookup tables. Priorities allow you to assign levels of importance to jobs. Status types describe the possible states or stages that a job moves through when it's running. You can add custom priorities or status types to match your existing business processes or to make them more appropriate for your locale.
Templates
Manage email and web request templates. Templates can be used in combination with job activities to send email notifications or web requests when specific job activities are performed.
- Get a template
- Get templates by template type
- Create a new template
- Update a template
- Delete a template
Arcade expression evaluator
The Arcade expression evaluator allows you to test ArcGIS Arcade expressions to ensure that the values returned by the expression are what you expect.
Learn more about dynamic job properties
Web request evaluator
The web request evaluator allows you to test the response from HTTP requests configured in the Send Web Request step. The evaluator can be used to ensure correct responses as well as proper step configuration before running the step in a job.
Available in ArcGIS Online and ArcGIS Enterprise 11.0 or later.
Web hooks
Execute a webhook to create a new job. Integrate with Survey123 webhooks or other webhooks to create jobs in Workflow Manager. Starting at Enterprise 11.2, header security is required for all incoming webhooks.
Configure webhooks for ArcGIS Survey123 surveys to automatically create jobs in ArcGIS Workflow Manager when surveys are submitted.
Available in ArcGIS Online and ArcGIS Enterprise 11.0 or later.
Configure other webhooks to automatically create jobs in Workflow Manager.
Available in ArcGIS Enterprise 11.0 or later.
Web Sockets
Enable your applications to receive notifications of job data updates with the Workflow Manager WebSocket Message API using WebSockets. This allows your applications to get automatic updates from Workflow Manager Server for your jobs and steps instead of making repeated requests to server for updated information.
The WebSocket protocol enables two-way low-latency communication between a client and Workflow Manager Server. It accomplishes this by establishing persistent socket connections between server and client where the server sends data to connected clients.
To get started, you must do the following:
- Establish a web socket connection with Workflow Manager Server
- Subscribe to specific jobs to get job notifications
Available in ArcGIS Online and ArcGIS Enterprise 11.0 or later.
Construct the WebSocket endpoint
You can subscribe and send data to the WebSocket endpoint using the format: wss
. The base URL differs between ArcGIS Enterprise and ArcGIS Online, where gisserver.domain.com/webadaptorname/workflow
forms the base URL for ArcGIS Enterprise and workflow.arcgis.com/{org
forms the base URL for ArcGIS Online.
Example URL for ArcGIS Enterprise:
wss://gisserver.domain.com/server/workflow/{itemID}/notificationWS
Example URL for ArcGIS Online:
wss://workflow.arcgis.com/{orgId}/{itemID}/notificationWS