Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

ACP Workflows

This overview covers basic workflow actions, such as creating a new workflow, editing its identity data, and an overview of high-level options.

Table of Contents


Using Workflows

Workflows are the primary component of ACP.  Each workflow is an independent entity using its own connectors, inside which multiple steps can be created to chain together actions from separate API services.

For information on adding connectors to a workflow, see Connectors. For detailed information on working with workflow steps, see the next section, Workflow Steps.

Creating a New Workflow

A new workflow can be created from the “New Workflow” button in the primary actions menu, or by the “New Workflow” button just after login.

Image Added

Once a new workflow is created, it immediately appears in the main ACP editor.

...

The upper-left area of the ACP editor shows basic information about the workflow, all of which can be edited in - place. 

Image Added

The workflow name can be edited by clicking the "edit" button that appears when hovering over the name, then clicking "close" when complete.

The ‘slug’, below the workflow name, is the means by which the workflow is executed from outside ACP.  It is the distinct URL for the workflow. The slug can be edited, but not the path leading to the ACP projects folder.

The category the workflow is assigned to can also be changed.  Clicking the existing category brings up a list of all existing categories.  Picking a new category will assign this workflow to it.

Image Added

The description box is a free-form text field which can contain any notes that are associated with this workflow.

Rollback Mode and Debug Mode

The ‘preferences’ link in the upper-right can be used to bring up an options menu.  The choices are:

  1. Enable Rollback:  this setting controls whether the workflow immediately halts or rolls back executed steps when it encounters a failure condition, or is unable to find an appropriate Route at the end of a step.
  1. Debug Mode:  this setting controls whether or not detailed debug output is shown at the end of workflow execution within the ACP GUI.  It has no effect on execution via API calls.

Connectors

The ‘connectors’ link in the upper-right opens a window which can be used to define, edit, and import connectors to external API providers.  In order to use an API service in an ACP Workflow, you must first define a connector to its service.

To edit an existing connector, click the ‘select’ drop-down and pick it from the menu.

To create a new connector, click the ‘select’ drop-down and pick the service type you would like this connector to be.

ACP currently supports the following connector types:

  1. 6connect ProVision
  2. 6connect ACP
  3. Google Compute
  4. Microsoft Azure
  5. Amazon AWS
  6. Kubernetes

You can define your own connectors to services not natively supported by ProVision by using the ‘Generic Connectors’ functionality, described in a later section.

Once you have picked a connector type, the form updates itself with the locations and credentials required to make calls against this service.  The ‘test’ button at the bottom of the window verifies whether or not the supplied information validates against the API service, and the ‘apply’ button saves the new connector.

New connectors are automatically added to the current workflow.

The Step Listing

Workflows are represented as a series of steps (see ‘Getting Started 3. Connecting Steps’ from the examples library).  Step headers in blue are initiators, and are executed first when the workflow is run.  

Step headers in green are dependant steps and may or may not be executed depending on the specific routing logic built into the workflow.

Step headers in red are steps which have produced errors when executed.  These can happen for a variety of reasons, including omitted required values, data type mismatches (ie, a string instead of an integer), or a failure to find an appropriate route in from the Conditions & Routes section.

Step headers in red also display a ‘view response’ link on the right-hand side.  This can be clicked to bring up a window which shows what the API service is responding with.  This can be very helpful in debugging. Also, turning on Debug Mode can show the full logical pathway of the ACP Workflow.

A new step can be added by using the ‘Add New Step’ form at the top of the screen.  Select the connector you want to use, then the API Endpoint Family, then the specific API Endpoint you are interested in.  

Steps can be removed from a Workflow by clicking the ‘x’ button on the far right of their entry.

Steps can be re-ordered by using the arrow buttons on the left of their entry.

The output section is required cannot be removed.  An ACP workflow must have at least one step in addition to the output section.

Anatomy of a Step

Clicking on any step header will expand the step to a long list of step details, separated into sections.

The first section is ‘General Options,’ and it contains a field where you can add a description of what the step is trying to accomplish.  You can also customize the name of the step, and there is a ‘test step’ button which will attempt to run this single API call in isolation.  This is useful for debugging.

The second section is ‘iteration options,’ which deals with how to loop over array responses.  This section will be covered in more detail later.

The third section is for ‘Required Inputs.’  These are the variables that must be set for the API call to proceed.  This section is not always present, as not all API calls have required parameters.

The fourth section is for ‘Optional Inputs,’ which are those parameters that the API call might make use of which are not explicitly required.  Some APIs are flexible and allow you to add additional optional parameters. To allow for this, the ‘add input’ button will allow you to define an additional optional input to complete the API call.

Both types of inputs have a small green ‘?’ next to their name which will supply help text as to what that parameter does.  For more details, see the official API documentation for the API service you are using.

Both types of inputs can be customized with the following states:

  1. Omitted.  The default state.  This parameter will not be sent with the API call.
  2. Default value.  This parameter will be set to some constant, defined here.
  3. User given.  This parameter will be supplied by the user executing the ACP Workflow.
  4. Workflow link.  The input for this parameter is the output of another step.  This will be described in greater detail later.
  5. Function.  The input of this parameter will be supplied by the output of a javascript function.  This will be described in greater detail later.

If there are no optional inputs for a given API call, the entire section is hidden.

After the ‘output’ section appears after the ‘optional inputs section.  This section shows an example return of the API endpoint, for use in establishing Workflow Links.

The ‘Sub Steps’ section describes how to iterate over an array of return objects, similar to the ‘iteration options’ previously.  This will be described in more detail later.

Lastly the ‘Conditions & Routes’ section describes the flow-control by which the ACP system chooses what step is next.  The logic involved is complicated and receives its own section later in this document.

Links Between Steps

Setting a Required Input or an Optional Input to be a ‘workflow link’ will indicate that this parameter is to be taken from the results of a previous step.  The result can come from any previous step so long as it has run previously.  

When the ‘workflow link’ option is selected the form expands to gather the necessary information.  The middle drop-down selects what step you will be taking this information from. Once a step is selected, the rightmost ‘property’ box accepts the name of a parameter.

For example, if you are referencing a ProVision Resource GET call you can specify ‘id’ or ‘name’ here to feed in the associated value to this parameter.

If the step you are referencing returns an array of items, you can specify which item in the array you reference by way of the syntax ‘index.property’.  For example, if an API call returns an array of 3 objects, and you want to reference the id of the last one, you would put ‘2.id’ in the ‘property’ field.

A simple example of using the ‘workflow link’ parameter can be found in the ACP examples library as ‘Getting Started 3. Connecting Steps.’  

Another example can be found in ‘Getting Started 9. Working with Arrays.’  The Output area contains a reference to ‘2’, which indicates the entire 3rd object returned by the ProVision Get Resources query.

, and directly edited by double clicking on the current description, then clicking anywhere outside the description area when complete.

Image Added


Workflow Options

Workflow Info

Once saved, every Workflow is assigned a distinct URL that can be used to execute it remotely by POST’ing data to it.  This URL can be found by navigating to the header area of the Workflow and clicking on the ‘More options’ drop-down below the description area.


Then select the ‘Workflow Info’ option.  

Image Added

A modal window appears which displays the Workflow URL and the user-given variables required for the Workflow to run.

Initiator Conditions

The 6connect ACP system uses “initiator conditions” as a pre-routing system to determine, based on user-given data, which step is executed first. 

The Initiator Editor can be accessed by scrolling to the top of a workflow and clicking ‘More options’, followed by ‘initiator conditions.’  

Image Added

For more detail, see Initiator Conditions and Iteration.

Export as JSON

Workflows can be exported in JSON format by navigating to the header area of the Workflow and clicking the ‘More options’ drop-down below the description area.  

Image Added

Then select the ‘Export as JSON’ option.  

The Workflow JSON will be downloaded through the browser.  This exported JSON can be saved as a backup, shared with coworkers, or sent to 6connect Support for assistance.


Workflow Preferences

Click on the "Preferences" link to bring up workflow operation settings.

Image Added

Rollback Mode and Debug Mode

The ‘preferences’ link in the upper-right can be used to bring up an options menu.  

Image Added


The choices are:

  1. Enable Rollback:  this setting controls whether the workflow immediately halts or rolls back executed steps when it encounters a failure condition, or is unable to find an appropriate Route at the end of a step.
  2. Debug Mode:  this setting controls whether or not detailed debug output is shown at the end of workflow execution within the ACP GUI.  It has no effect on execution via API calls. For an example of how to use Debug mode, see Quick-Start Tutorial 2.



Additional Information

Continue on to additional User Guide pages for detailed information on working in ACP:

ACP User Guide

Children Display
depth1
pageACP User Guide

...