Introduction

Ansible is a great automation tool, but in the end, itโ€™s still a command-line application.
While AWX/Tower is a great GUI, it is lacking fancy forms that can grab data from several sources.

Thatโ€™s where AnsibleForms comes in. It allows you to build awesome forms, build extravars and send it to Ansible or AWX/Tower.


Quick Navigation

Get up and running quickly with AnsibleForms:

๐Ÿš€ How to Install

Get AnsibleForms running in minutes with Docker or manual setup

Installation Guide

โš™๏ธ How to Customize

Configure AnsibleForms with environment variables

Environment Variables

๐Ÿ“ Setup config.yaml

Define roles, categories, and access control

Roles & Categories

๐Ÿ“‹ Build Your First Form

Create powerful forms with fields, validations, and data sources

Forms Documentation

Application Capabilities

Feature Description
Categories Group multiple forms under categories
Role based access Limit forms based on roles (users and groups)
Advanced authentication Local authentication, Ldap, AzureAD and OIDC authentication
Job History & Log See the history of your jobs, abort running and relaunch
Environment variables Customizable with environment variables
Credential manager Securely store, get and pass credentials to playbooks
Repository integration Sync your forms config files, ansible playbooks and other required files with a git repo
Ansible and AWX Forms can target a local ansible instance or AWX/Tower
Swagger API Has a rest-api and Swagger documentation
Designer Although the forms are NOT built using a graphical designer, a YAML based editor/designer with validation is present

Form Capabilities

Feature Description
Cascaded dropdowns Allow references between fields to create responsive, cascaded dropdown boxes
Database sources Import data into fields from databases (MySql, MSSql, Postgres, Mongo, Oracle)
Expression based sources Import data using serverside expressions (javascript), such as Rest API's, json-files, yaml-files, ... and filter, manipulate and sort them
Local expressions Use the power of javascript (local browser sandbox) to calculate, manipulate, generate, ...
Field dependencies Show/hide fields based on values of other fields
Visualization Many nice visualizations, such as icons, images, colors, responsive grid-system, help descriptions, ...
Field validations Many types of field validations, such min,max,regex,in, ...
Group fields Group fields together, vertically and horizontally
Advanced output modelling Model your form content into objects, the way you want it
Approval points Stop the execution of a form for approval
Multistep forms Execute multiple playbooks in steps from a single form
Email notifications Send email notifications after form execution

Types of Form Fields

Field Type Description
text A text input field
textarea A textarea input field
datetime A datetime input field
html An HTML field
file A file upload field, the file is uploaded prior to the job start and the extravars will contain the uploaded file info.
number A number input field
password A password masked input field
checkbox A checkbox field
radio A radio field (multi options)
enum A multi-column filterable dropdown box
expression A powerfull javascript driven expression field
table A table input field (insert, modify, delete)

Used Technologies

Component Technology
Backend Node.js / Express
Database MySQL
Frontend Vue 3
Layout Bootstrap 5 / Font Awesome

Requirements

Requirements depend on how you plan to install AnsibleForms. See the installation section to learn more.


Copyright © 2023-2026 AnsibleForms. All rights reserved.