This exercise walks you through building an automation controller workflow in Ansible Automation Platform (AAP) 2.x. A workflow is an end-to-end orchestration that links job templates (and other nodes) into a logical flow with conditional paths.
In our case, the flow will:
You can also wrap conditional logic (run on success/failure/always) and even add rollback paths if needed. The steps below reflect the AAP 2.5 UI.
We’ll create a Workflow Job Template and add our existing job templates as nodes.
It’ll look like this when finished:

In the AAP web UI, go to Automation Execution → Templates.
Click Create template and choose Create workflow job template.
Fill out the form:
| Key | Value | Note |
|---|---|---|
| Name | Example Workflow | |
| Description | End-to-end process | |
| Organization | Default | |
| Inventory | Windows Workshop Inventory | |
| Limit | windows |

| Key | Value | Note |
|---|---|---|
| Node Type | Job Template | |
| Job template | Windows Updates | |
| Convergence | Any |

Click Next, then Finish.
Back in the visualizer, click the 3 dots and select Add Step and link

| Key | Value | Note |
|---|---|---|
| Node type | Job Template | |
| Job template | IIS Advanced | |
| Status | Always run | |
| Convergence | Any |

At this point, you have a two-stage process: Windows Updates → IIS Advanced, where IIS runs regardless of update outcome. (You can later add notifications for failures.)
| Key | Value | Note |
|---|---|---|
| Node type | Job Template | |
| Job template | Chocolatey - Install Packages | |
| Status | Run on success | |
| Convergence | Any |

| Key | Value | Note |
|---|---|---|
| Node type | Job Template | |
| Job template | Chocolatey - Facts and configuration | |
| Status | Run on success | |
| Convergence | Any |


From the left navigation, go to Automation Execution → Templates.
Click the rocket ship (Launch) icon for Example Workflow to start it. You can also open the workflow template and click Launch template from its details.
You’ll see real-time output for each node as the workflow runs.
If all goes well, your results will resemble:
