Note

The documentation you're currently reading is for version 3.1.0. Click here to view documentation for the latest stable version.

Workflow Designer

Workflow Designer is a web-based GUI for creating and editing Orquesta and Mistral workflows. Using a web browser, you can visualize existing workflows, and create new ones.

_images/pkg_promote_workflow.png

All your workflows are still stored as code on your system, but the GUI simplifies the workflow development process. Updates to the graphical view are immediately updated in the underlying code, and vice-versa.

Launching Workflow Designer

Launch Workflow Designer from the main Extreme Workflow Composer Web UI. First login to your Extreme Workflow Composer system at https://YOUR_HOST_IP/. You can launch Designer in two different ways - either by creating a new workflow, or by editing an existing workflow:

Create a New Workflow

From the Web UI, click on the “Actions” button at the top of the screen. From there, click the round “+” button at the bottom center of the screen:

_images/launch_designer.png

This will launch Workflow Designer with a new, blank workflow:

_images/new_workflow.png

Edit an Existing Workflow

You can also edit existing workflows. Using the Extreme Workflow Composer Web UI, go the Actions tab, and navigate to an Orquesta or Mistral workflow. Select the workflow and click “Edit” at the right of the workflow details pane:

_images/existing_workflow.png

This will launch a new browser tab with your workflow:

_images/pkg_promote_workflow.png

Using Workflow Designer

The interface has three main parts: the Library of installed actions, the Workflow Canvas, and the Details panel.

The Library shows all installed actions. You can filter from the list, or just scroll to a pack, and pick an action. Drag it onto the canvas to add it to the workflow.

The Workflow Canvas has buttons for Undo, Redo, Redraw, Save and Run:

_images/workflow_toolbar.png

You can undo or redo multiple steps. Redraw will automatically lay out the workflow. Warning: this will change your saved positions!

You must “Save” the workflow before you can run it. Clicking “Save” will save the workflow and its metadata to disk and the Extreme Workflow Composer database.

If your workflow requires inputs, clicking “Run” will prompt for them:

_images/run_workflow.png

You can also adjust or reset the zoom, using the buttons on the right-hand side of the canvas:

_images/zoom.png

Metadata

The “Metadata” defines data about the workflow, rather than the workflow itself.

This is defined in the “Meta” tab of the Details panel:

_images/metadata.png

All workflows must have a Runner Type. The default is “Orquesta” - we recommend this for all new workflows. Mistral will be deprecated in a future release.

You must choose a workflow name. This will be how you reference the workflow in future with st2 run, or as part of another workflow.

If you do not choose a pack, the “default” pack is used. We recommend using your own pack.

The Description is optional. It’s a good idea to set this - it will remind future you what this workflow does.

The “Entry point” is the file the workflow is saved to. Typically this is workflows/<workflow_name>.yaml. This will be used if you do not pick a custom entry point.

Parameters

Parameters are used as inputs to your workflow. They can be used to pass in dynamic information when you run this workflow. Most workflows will have at least one input parameter.

To add Parameters, go to the Parameters tab. Click “Add Parameter”:

_images/parameters.png

You must provide a name, and a type (string, boolean, number, object, integer, array). You can mark the parameter as “Required” - that is, it must be provided when the workflow is run, and you can provide a default value if one is not provided. You can also mark the parameter as “secret”, so it is masked in logs.

For more information about parameters, see the Actions documentation.

Tasks

The Library on the left shows actions installed on this system that can be added to your workflow. These are grouped by Pack. If you want to install more actions, check the “Packs” tab in the Web UI.

You can filter from the available list of actions by typing in a partial keyword, e.g.:

_images/filtered_actions.png

Find the actions you want to use in your workflow, and drag them onto the canvas. Repeat as required.

_images/basic_workflow.png

To configure a task, select it. You can then use the Details panel to rename the task, and configure task parameters, properties and transitions.

_images/task_parameters.png

To rename a task, click “Edit”, and rename.

Input parameters can use hard-coded values, or use other variables available, such as input parameters. For Orquesta workflows, this might look like <% ctx().my_input %>.

The “Properties” tab lets you set advanced controls, such as “with-items” - to run multiple actions across a list of inputs, and “Join”, to wait for parallel tasks to complete before proceeding.

The Transitions tab lets you control Transition behavior - which tasks should we execute next, under which conditions? See below for more.

To delete a task, select it, then click the “Trash” icon:

_images/delete_task.png

Transitions

Transitions are how we move from one task to another. Orquesta gives us powerful controls over task transition. We can choose simple success/failure paths, or we can branch based upon conditions such as returned result values.

We can run multiple actions in parallel, or we can run sequential actions. Using the “join” option, we can wait for parallel tasks to complete, before proceeding.

Workflow Designer lets us draw transitions between tasks, add conditions, and even set colors for the transition arrow. After all, it’s not just as simple as “Green for success, Red for failure.”

To add a transition, select a task:

_images/task_selected.png

Click and drag the connector to the next task you want to transition to. You can repeat this multiple times if you have multiple transitions:

_images/transition_added.png

By default, new transitions have no criteria. That is, they will always transition to the next task upon completion. Common criteria to add is <% succeeded() %> or <% failed() %>, for simple success/failure. More complex criteria can branch based upon other variables - for example if a task result has more than 3 entries. See the Orquesta documentation for more details.

You can also choose the transition arrow color. Pick a color from the drop-down selector, or type in a color name or hex code:

_images/transitions.png

Transitions often include publishing some or all of the task result. It can then be used as an input to future tasks.

To publish a value, select the transition, then enable the “Publish” option. Give it a name, and the item you want to publish. Typically this will be <% result().<something> %>, e.g.:

_images/publish_status_code.png

We can now refer to <% ctx().status_code %> elsewhere in our workflows - for example, we could use it as part of the message we send via chatops.post_message.

To remove a transition, select the transition arrow, then click the “Trash” icon to remove it.

Code View

Workflow Designer is a visual tool for creating and editing workflows. But the workflows themselves are always stored as code. You can switch to this code view by clicking the icon at the top right of the details panel:

_images/code_view.png