One rule above allChange the workflows and their actions as much as you need. Do not change the Tower integration or the request/response contracts — Tower depends on those exactly as shipped. See Architecture.
What you can change
What you must not change
How the example workflows are organized
The starter includes three example workflows so you can see the pattern:standard_promotion— the baseline: review → on approval, deploy to the target environment.multi_level_approval_promotion— the same shape with additional review stages.approval_git_versioning_model_promotion— review plus post-approval actions (Git versioning, messaging, a REST callout).
How to add a review stage
Extend the approval policy with another human step. Prerequisites: A target group for the new stage (an approver group your OIDC provider can assign). Steps:- In the workflow definition, add a user task for the new stage and route the flow through it (before or after the existing approval, as your policy requires).
- Assign the task to the appropriate group.
- Keep the existing Tower-contract steps (the review handshake and the approval callback) in place.
- Rebuild and redeploy the Sidecar.
How to add or replace an action
Attach work that runs as the workflow advances — for example, your own notification or system-of-record update. Prerequisites: The endpoint/credentials your action needs, supplied via environment variables (see Configuration). Steps:- Add the action as a service step at the point in the workflow where it should run.
- If it should be optional, gate it behind a configuration flag and make it best-effort — log and continue on failure so governance is never blocked (the same pattern the example actions follow).
- Leave the Tower-contract steps untouched.
- Rebuild and redeploy.
How to remove an example action
Drop an example you don’t need (for instance, the holidays REST callout). Steps:- Remove the action step from the workflow definition.
- Leave its configuration variables unset (they simply have no effect once the step is gone).
- Rebuild and redeploy.
Next Steps
- Build a customized Sidecar: prerequisites and commands to rebuild after changing a workflow
- Git Model Versioning: the Git action, end to end
- Configuration: variables for actions and core wiring
- Architecture: the core-vs-customizable split