Skip to main content
Customize ticket creation forms to collect the right information from users. This reference covers form properties, field types, conditional logic, external system integration, and AI prefilling.

Overview

Ticket forms control:
  • What information users provide when creating tickets
  • How fields are displayed and validated
  • Integration with external ticketing systems (Zendesk, HelpScout)
  • Embedding external forms (HubSpot, Typeform, etc.) directly in the chat
  • AI-powered ticket prefilling
  • Post-submission user experience

Creating Ticket Forms

Basic Setup

  1. Navigate to SettingsTicket Forms
  2. Click Create New Form
  3. Configure form properties
  4. Add and arrange fields
  5. Save and set as default (optional)

Form Properties


Field Configuration

Available Field Types

Field Properties


Conditional Fields

Show or hide fields based on user selections to create dynamic, streamlined forms.

Basic Conditional Field

This field only appears when category equals technical.

Multiple Trigger Values

Show a field for multiple parent values:

Nested Conditionals

Chain conditions for complex forms:

Conditional Options

Options within a select field can also be conditional:

Grouped Options

Create hierarchical dropdown menus with option groups.

Configuration

Add a group property to options:

Display

Options with groups appear in a hierarchical hover menu:

Option Messages

Show a contextual message below the field when a specific option is selected. Useful for warning users about expected delays, asking them to attach extra documents, or pointing them to a self-serve resource before submitting.

Configuration

Open the field builder, expand an option’s extras panel, fill in the Info message text, and pick a style: The message appears immediately below the field as soon as the option is picked, and disappears if the user changes their selection.

External System Integration

Zendesk Field Mapping

Map form fields to Zendesk custom fields using external_id:

Zendesk Group Assignment

Route tickets to specific Zendesk groups: Via Option external_id:
Via zendesk_group_id:

Tagger Fields (Zendesk Tags)

Create fields that apply tags to Zendesk tickets:
Selected values become Zendesk tags automatically.

HelpScout Tags

For HelpScout, use the special tag_helpscout external_id:

Name Extraction

Configure fields to extract user names for ticket requesters.

First Name Field

Last Name Field

Full Name Split

For a single “Full Name” field, the system attempts to split it automatically.

Form-Level Settings

Static Tags

Apply tags to all tickets from this form:

Brand Assignment (Zendesk)

Route tickets to a specific Zendesk brand:

Group Assignment (Zendesk)

Route all tickets to a specific group:

Private Comment Content

Include all field values in the private comment:

AI Prefilling

Configure AI to extract ticket information from conversations and pre-fill form fields automatically.

How It Works

When a user requests to create a ticket, the AI analyzes the conversation and extracts relevant information to pre-fill the ticket form. This includes standard fields (subject, body, priority, typology) and any custom fields you enable for AI pre-fill. Pre-filled fields are marked with a sparkles icon so users can review and adjust the values before submitting.

Enabling AI Pre-fill for Custom Fields

Each custom field on a ticket form can be individually enabled for AI pre-fill:
  1. Navigate to Settings > Ticket Forms
  2. Open a form in the builder
  3. In the Fields section, click the sparkles icon next to any field to toggle AI pre-fill
  4. Save the form
When AI pre-fill is enabled for a field, the AI will attempt to extract its value from the conversation context. For fields with predefined options (select, tagger), the AI selects from the available choices. For text fields, the AI extracts relevant text.

System Prompt

Customize the AI extraction behavior with a system prompt:
You can auto-generate a system prompt from the form fields using the Generate from fields button in the form builder. This creates a prompt that lists all AI-prefillable fields with their types and available options.

Best Practices

  • Enable AI pre-fill only for fields where automated extraction adds value
  • Be specific about expected formats and lengths in the system prompt
  • Provide examples for ambiguous fields
  • List available options for select fields
  • Define keywords that indicate priority levels

Example: E-commerce Support


Embedded External Forms

Instead of using the built-in inline form, you can embed an external form (such as HubSpot, Typeform, or any web form) directly in the chat. When a user requests to talk to a human, the embedded form is displayed inside the conversation.

Setting Up Embed Mode

  1. Navigate to Settings > Ticket Forms
  2. Create or edit a form
  3. In the General tab, set Form Mode to Embedded Form
  4. Go to the Embed tab
  5. Paste your Embed HTML Code (e.g., a HubSpot form script tag)
  6. Optionally set a Description to display above the form
  7. Save the form

Embed HTML Code

Paste raw HTML embed code (such as a HubSpot or Typeform script tag) directly. The HTML is rendered inside the chat conversation and auto-resizes to fit the content. Example — HubSpot form:

Submission Detection

The system automatically detects when a user submits the embedded form. Detection is supported for:
  • HubSpot — HubSpot form callback events
  • Generic HTML forms — standard <form> submit events
After submission is detected, a configurable success message is shown, a ticket record is created in the system, and the conversation is blocked from further input. Ticket triggers and email notifications are processed the same way as inline form submissions.

AI Prefilling in Embed Mode

AI prefilling works in embed mode. When a user requests to create a ticket, the AI analyzes the conversation to extract relevant information and automatically fills matching fields in the embedded form. Field matching uses exact name matching against the following standardized field names: Verify your HubSpot form properties use these internal names for auto-fill to work.

Form Data Capture

When a user submits an embedded form, the system captures the form field values and stores them in the ticket record. This works automatically for standard HTML forms, HubSpot forms, and AJAX-based form submissions. The captured data is used to populate the ticket subject and body, and the raw field values are stored for reference.

Limitations

  • Submission detection depends on the form provider supporting cross-origin messaging (HubSpot is supported; Google Forms is not)
  • Auto-fill requires form fields to use the standardized field names listed above

Success Messages

Customize post-submission experience.

Basic Message

With Markdown


Complete Form Examples

Simple Contact Form

Enterprise Support Form

Multi-Product Form with Routing


Best Practices

Form Design

  • Keep forms concise - Only ask for essential information
  • Use conditional fields - Show complexity only when needed
  • Provide clear labels - Avoid jargon and abbreviations
  • Add placeholders - Give examples of expected input
  • Order logically - Most important fields first

Field Configuration

  • Set sensible defaults - Pre-fill when possible
  • Use appropriate types - Email fields validate emails, etc.
  • Mark critical fields required - But don’t overdo it
  • Group related options - Use hierarchical dropdowns

Integration

  • Test field mappings - Create test tickets to verify
  • Validate external IDs - Double-check Zendesk/HelpScout IDs
  • Monitor for errors - Check logs after deployment

Troubleshooting

  1. Check conditional_field matches parent field ID exactly
  2. Verify conditional_field_value matches option value (not label)
  3. Verify field is included in form configuration
  4. Check browser console for errors
  1. Verify external_id format (e.g., ticket_field_12345 for Zendesk)
  2. Check field type matches external system expectations
  3. Test with a simple ticket first
  4. Review AGO logs for mapping errors
  1. Verify system_prompt is set on the form
  2. Verify AI pre-fill is enabled (sparkles icon) on the desired custom fields
  3. Check conversation has enough context
  4. Review AI instructions for clarity
  5. Test with explicit conversation content