Custom ticket forms in GLPI with the Formcreator plugin

Custom ticket forms in GLPI with the Formcreator plugin

The native GLPI ticket-creation form has three fields: category, description, attachments. For helpdesk, that's enough. For service requests with a specific business process — onboarding a new employee, hardware requests, system access requests — it's not. The Formcreator plugin turns GLPI into a tool for building custom forms with conditions and validations, which on submit create a ticket or change with precisely configured content.

Installing the plugin

Formcreator is available either through the GLPI Plugins Marketplace (GLPI 10.0.6+) or installed manually:

# manual install (Linux, GLPI 10)
cd /var/www/glpi/plugins
wget https://github.com/pluginsGLPI/formcreator/releases/download/v2.13.10/formcreator-2.13.10.tar.bz2
tar -xjf formcreator-2.13.10.tar.bz2
chown -R www-data:www-data formcreator
# in the GLPI UI: Setup → Plugins → Install → Enable
php /var/www/glpi/bin/console glpi:plugin:install formcreator
php /var/www/glpi/bin/console glpi:plugin:activate formcreator

For GLPI 11 there's a different plugin version (compatibility matrix is in the repository). Always check plugin version against GLPI version before upgrading — incompatibility is the source of 80% of plugin maintenance pain.

Field types

After activation, an Administration → Forms entry appears in the menu. Create a form via Add, then add sections and fields. Available field types:

  • Text — single-line text (name, employee ID, phone).
  • Textarea — multi-line description. Optionally with a WYSIWYG editor.
  • Select — dropdown with predefined values or sourced from a GLPI dropdown table (category, location, department).
  • Checkboxes / Radios — for one or more selections.
  • Date / DateTime — for start dates and deadlines.
  • File — attachment upload. Size and type can be restricted.
  • GLPI object — link to an existing GLPI object (User, Computer, Software). On ticket creation it's automatically attached as requester / item.
  • Hidden — for stored values the user doesn't see (for example a URL parameter the form was launched with).
  • Description — text-only with no input, used to explain a section.

Each field has optional validation (required, regex match, min/max length).

Conditional display

The real power of Formcreator is in conditions. On a field's Conditions tab you set when the field appears:

  • Request type = New hardware → show the What kind of device field.
  • Device type = Laptop → show Preferred OS, Mobile / desk laptop.
  • Amount > €1,000 → show Purchase justification (required) and trigger manager approval.

Conditions evaluate both client-side (live as the user changes a field) and server-side (on submit). So even if the user bypasses JavaScript, validation catches it.

Target ticket mapping

After form submit, Formcreator creates a target object — typically a ticket. On the form's Targets tab:

  • Target type — Ticket, Change, or Issue.
  • Title template — for example Onboarding: ##answer_full_name##, where ##answer_full_name## is the value from the "Full name" field.
  • Content template — the entire ticket description, formatted from form values.
  • Category, urgency, requester, technician group — preset or computed dynamically from answers.
  • Validation — whether the ticket needs approval and from whom (direct manager from LDAP, department manager, fixed user).

One form can create multiple targets at once — for example an onboarding form creates a ticket for IT (provision the account), a ticket for HR (employment record), and a ticket for facilities (allocate a desk).

Example 1: HR onboarding

An onboarding form HR fills in three days before the new hire's start date:

  • Section 1 — Personal details: Full name, Position, Department (dropdown), Manager (GLPI User), Start date.
  • Section 2 — Workstation: Device type (Laptop / Desktop), [conditional] Preferred OS, [conditional] External monitor.
  • Section 3 — Access: Email account (checkbox), VPN (checkbox), [conditional VPN] Reason, M365 licences (multi-select), Specialised software (textarea).
  • Section 4 — Peripherals: Headset, Webcam, Keyboard/mouse.

Targets: a ticket for IT (category "Onboarding"), a ticket for Facilities (if External monitor = yes), validation by the direct manager. SLA on the IT ticket is 2 days, which gives HR a clear deadline to submit the form.

Example 2: New hardware request

A leaner form for existing employees:

  • Device type (radio: laptop, monitor, peripheral).
  • [conditional laptop] Existing laptop (GLPI Computer dropdown), Reason for replacement.
  • Estimated cost (number).
  • [conditional cost > 1000] Purchase justification (required textarea).
  • Required-by date.

Targets: a single ticket categorised as "Hardware request", validation by the direct manager. If cost > €5,000, a second validation by the CFO. On approval the ticket is auto-assigned to the procurement team via business rule.

Bottom line

Formcreator isn't "a small extra field tacked onto a ticket". It's a custom application layer over the GLPI ticketing engine, turning processes that previously lived in emails and Excel forms into structured, auditable, approvable requests. Every recurring process (onboarding, offboarding, access requests, hardware requests, change requests) has a direct Formcreator use-case. The 4 – 6 hours invested in configuring a single form pay back within the first 20 uses.

Need help with this topic?

Get in touch