Understanding flow states

Zendesk Integrations Services (ZIS) uses a JSON-based, structured language similar to Amazon States Language to define an integration. This language can define states in ZIS such as performing tasks, determining which states to transition to next, and stopping an execution with an error. A ZIS Flow is made up of one or more states.

ZIS supports the following state types:

  • Action - A wrapper for a REST API call. See ZIS built-in actions and Custom actions
  • Choice - Adds conditional branching to a flow. See Choice state
  • Map - Enables looping or iterating over a set of input data. See Map state
  • Wait - Pauses for the specified number of seconds before transitioning to the next state. See Wait state
  • Succeed - Stops the flow in cases that are considered successful and passes a developer-defined message to the integration logs. Example: When a Choice state indicates no further action is required. See Succeed state
  • Fail - Stops the flow in cases that are considered errors and passes a developer-defined message to the integration logs. Example: When a Choice state finds an invalid input value. See Fail state
  • Pass - Passing a step's input to its output without doing any work. It can optionally add data to the output. Example: To mockup the result of a Choice or Action state for testing or debugging purposes. See Pass state

All states in ZIS share a Type field to indicate the type of state being used. Example:

"LoadConfig": {    "Type": "Action",    "ActionName": "zis:common:action:LoadConfig",    "Parameters": {        "scope.$": "my-integration:{{$.accountId}}/name"    },    "ResultPath": "$.config_result",    "Next": "NextState"}