sales-demos-orchestrator-workflowlisted
Install: claude install-skill ericcames/sales.demos
# sales-demos-orchestrator-workflow
Creates or updates every workflow in
[`inventory/group_vars/aap/ao_workflows.yml`](../../../inventory/group_vars/aap/ao_workflows.yml)
in this environment's Automation Orchestrator. Takes **under a minute**.
This skill contains **no logic**. All the work is in
[`playbooks/ao_workflows.yml`](../../../playbooks/ao_workflows.yml). See
`CLAUDE.md` → *Skills and playbooks*.
## Why the workflow is stored by name, not exported
AO's export embeds values that only exist in the environment it came from — AO
integration and credential UUIDs, AAP's numeric job template IDs, and the
approver's federated username. Imported anywhere else, every one is wrong. The
committed file names things instead, and the playbook looks each one up:
| In the file | Resolved from |
|---|---|
| `job_template` | AAP job template ID, through `GET /api/v1/proxies/aap/job_templates` |
| `credential` | AO credential ID, `GET /api/v1/credentials` |
| `integration` | AO integration ID, `GET /api/v1/integrations` |
| `project` | AO project ID, `GET /api/v1/projects` |
| `approvers_sso` | The federated AO user each AAP username became on first SSO login, `GET /api/v1/users` |
**Node IDs are chosen in the file** (`activity_scan`, …) and expressions
reference them. AO references steps by ID, never by display name.
## What it does
1. Asserts the target environment and the connection variables.
2. Reads the AO Route and logs in to AO as the local `admin`.
3. Looks up projects,