In my previous blogs, I covered how to deploy AWX on Kubernetes using Helm and how to sync GitLab projects into AWX. Now that AWX is up and running, the next thing I wanted to do was actually run a playbook from the AWX UI — and that involves setting up a few things first.
In this blog I'll walk through everything you need to configure inside AWX before you can launch your first job:
- Dashboard overview
- Adding an Organisation
- Adding Users
- Adding Inventory and Hosts
- Adding Credentials
- Adding a Project
- Creating a Job Template and launching it
Let's go step by step.
The AWX Dashboard
When you first log in with your admin credentials, you land on the AWX dashboard. It gives you a nice overview of everything happening on your server at a glance:
- Number of hosts that have successfully run playbooks
- Number of hosts that failed
- Total number of inventories
- Number of projects and their sync status
- A graph showing playbook runs over time
On the left side you'll see four main sections — Resources, Access, Administration and Settings. Everything we need is in here.
Step 1 — Add an Organisation
The first thing I set up was an organisation. In AWX, almost everything sits under an organisation — users, credentials, projects, inventories.
- On the left pane go to Access → Organisations
- Click Add
- Enter a Name and Description
- Click Save
Simple enough — but don't skip this, everything else depends on it.
Step 2 — Add a User
Next I created a user under the organisation. AWX has three user types and it's worth understanding the difference before you set one up:
Normal User — can create, use and update templates. Good for engineers who need to run playbooks but shouldn't have full admin access.
System Auditor — can view inventory, templates and job status but cannot create or modify anything. Great for someone who just needs visibility.
System Administrator — has full privileges, same as the default admin account. Use this carefully.
To add a user:
- Left pane → Access → Users
- Click Add
- Enter First Name, Last Name, Email, Username and Password
- Select the Organisation you just created
- Choose the User Type based on the access you want to give
- Click Save
Step 3 — Add an Inventory
An inventory in AWX is basically your list of hosts — the machines you want to run playbooks against. You can organise them into groups like development, testing, and production.
To add an inventory:
- Left pane → Resources → Inventories
- Click Add → Add Inventory
- Enter a Name and select your Organisation
- Click Save
Adding Hosts to the Inventory
Once the inventory is saved, add your hosts to it:
- Open the inventory you just created
- Click the Hosts tab
- Click Add Host
- Enter the Hostname — this can be an IP address or a URL. For example, my host IP was 192.168.237.145
- Add a Description if you want
- Click Save
You can add as many hosts as you need. I added two hosts to my inventory. You can also temporarily remove a host from the inventory using the on/off toggle on the right side of each host — handy when you want to skip a machine without deleting it.
Step 4 — Add Credentials
AWX stores credentials separately from everything else — which is actually a really clean way to manage it. You create a credential once and reuse it across multiple templates.
- Left pane → Resources → Credentials
- Click Add
- Enter a Name and Description
- Select your Organisation
- Select Credential Type → choose Machine (this is similar to SSH login)
- Enter the Username and Password of the remote machine
- If your playbook needs to run as root, fill in the Privilege Escalation Username and Password as well
- Click Save
If You're Pulling Playbooks from a Git Repo
If your playbooks are coming from GitHub or GitLab, you'll need a second credential for source control:
Follow the same steps above but select GitHub Personal Access Token as the credential type
Paste your token and save
To get a GitHub personal access token:
Log into GitHub → Settings → Developer Settings → Personal Access Tokens → Generate new token
Copy it and paste it into AWX — you won't see it again after leaving that page!
Step 5 — Add a Project
A project in AWX is where you point AWX to your playbooks — either from a Git repo or a directory on the AWX server itself.
- Left pane → Resources → Projects
- Click Add
- Enter a Name and Description
- Select your Organisation
Select SCM Type:
Choose Git if your playbooks are in GitHub or GitLab
Choose Manual if the playbooks are already sitting on the AWX server in a local directory
Enter the SCM URL — this is your GitHub/GitLab repo URL
Under SCM Update Options select what makes sense for your setup — I ticked Update Revision on Launch so AWX always pulls the latest version
Click Save
Once saved, hit the Sync button. Wait for the status to turn green — that means AWX has successfully pulled your playbooks from the repo.
Step 6 — Create a Job Template and Launch It
This is the exciting part — this is where you actually wire everything together and run your playbook.
- Left pane → Resources → Templates
- Click Add → Add Job Template
- Enter Name, Job type check or run , inventory, project, crendetails
- Click Save
- Click Launch 🚀
AWX will start running the job and you can watch the output in real time right from the UI. Every task, every host, every result — all visible on screen. No more tailing log files!
What the Output Looks Like
Once the job runs, AWX shows you a full breakdown:
Which tasks ran on which hosts
Green for ok, yellow for changed, red for failed
Total summary at the end showing how many tasks succeeded or failed per host
If something fails, you can click into the task and see the exact error — no guessing needed.
What I Noticed Along the Way
The credential separation is really useful. Because credentials are stored separately, I can update a password in one place and every template using that credential picks it up automatically. No hunting through playbooks.
The on/off host toggle is underrated. Being able to disable a host in the inventory without deleting it saved me a few times when I wanted to test on just one machine.
Always sync your project before creating a template. If you create a template before syncing the project, the playbook dropdown will be empty. Sync first, then create the template — saves confusion.
Check mode is your friend Before running anything on production hosts, I always create the template with Job Type: Check first. It does a dry run and shows what would change without actually changing anything.
What's Next
Now that I can run playbooks from AWX, the next things I want to cover are:
- Workflows — chaining multiple playbooks together in AWX
- Schedules — running playbooks automatically at set times
- Notifications — getting alerts when jobs succeed or fail
If you're setting up AWX for the first time and getting stuck anywhere in these steps, drop it in the comments — happy to help!
— Sireesha
















Top comments (0)