Skip to main content
Configure dynamic forms for ticket creation, contact forms, and user input collection. AGO’s form system supports conditional fields, validation rules, and hidden values for flexible data collection.

Overview

Form configuration enables:
  • Dynamic field visibility based on user selections
  • Hidden fields for metadata and routing
  • Validation rules for data integrity
  • Custom field types for different input needs

Prerequisites

  • Admin access to configure forms
  • Understanding of your ticketing workflow
  • Field definitions for your use case

Field Types

To create a field that behaves as hidden (not visible to users but included in submissions), set the is_hidden property to true on any field type.

Conditional Fields

Conditional fields display based on the value of another field. This creates dynamic forms that adapt to user selections.
Conditional fields help reduce form complexity by showing only relevant fields based on user choices.

Configuration Options

Example: Issue Type Routing

Create fields that appear based on issue type selection: Step 1: Create the parent field
Step 2: Create conditional child fields

Multiple Conditions

For complex forms, chain conditional fields:

Hidden Fields

Hidden fields pass values to the ticketing system without displaying them to users.
Hidden field values can be inspected in browser developer tools. Do not use hidden fields for sensitive data that users shouldn’t see at all.

Use Cases

Configuration

Setting Hidden Values Dynamically

Pass hidden field values via the widget API:

Validation

Validation behavior varies by field visibility:
  • Hidden fields: Not validated
  • Conditional fields: Validated only when visible
  • Required conditional fields: Error shown only when field is displayed

Available Validation Options

Regex Validation

Use the regexp field type or set regexp_for_validation on any field to enforce a pattern:

Ticket Form Settings

When configuring forms for ticketing, additional settings control behavior and integration with external systems.

Form-Level Properties

Success Messages

Customize what users see after submitting a ticket:
With Markdown:

AI Prefilling (System Prompt)

Configure how AI extracts ticket information from conversations:
Best Practices for System Prompts:
  • Be specific about field formats and lengths
  • Provide examples of expected output
  • Mention keywords that indicate priority levels
  • List available categories/options for select fields

Zendesk-Specific Settings

Static Tags:
Brand Assignment:
Group Assignment:

Complete Ticket Form Example


Complete Form Example

Here’s a comprehensive form configuration with conditional fields and validation:

Best Practices

Form Design

  • Keep forms short: Only ask for essential information
  • Use conditional fields: Hide complexity until needed
  • Provide helpful placeholders: Guide users on expected input
  • Order logically: Most important fields first

Validation

  • Validate on blur: Give immediate feedback
  • Use clear error messages: Explain what’s wrong and how to fix it
  • Don’t over-validate: Accept reasonable variations

Hidden Fields

  • Document hidden fields: Track what metadata is being captured
  • Don’t rely on hidden fields for security: They’re visible in source
  • Use for routing and context: Perfect for ticket categorization

Troubleshooting

Problem: Field doesn’t show when parent value is selected.Solutions:
  1. Verify conditional_field matches the parent field’s id exactly
  2. Check conditional_field_value matches an option value (not label)
  3. Ensure parent field is rendered before conditional field
  4. Check browser console for JavaScript errors
Problem: Invalid input is accepted.Solutions:
  1. Confirm validation rules are properly formatted
  2. Check if field is hidden (hidden fields skip validation)
  3. Verify conditional field is visible (hidden conditionals skip validation)
  4. Test regex patterns separately before adding to config
Problem: Hidden field data missing from submission.Solutions:
  1. Verify field has is_hidden: true set
  2. Check field is included in form configuration
  3. Ensure default_value is set or value passed via widget API
  4. Inspect form submission in browser network tab
Problem: Form doesn’t appear in widget.Solutions:
  1. Verify form is associated with the correct agent
  2. Check form configuration for JSON syntax errors
  3. Ensure all required field properties are present
  4. Review browser console for rendering errors