Choosing Your Ticketing System
Decision Framework
When to Use Each System
AGO Internal- Starting from scratch with no existing support tools
- Small teams that don’t need advanced workflows
- Development and testing environments
- Simple support needs with basic ticket tracking
- Email is your primary support channel
- Conversation-based support style
- Need simple tagging and prioritization
- Small to medium teams (5-20 people)
- Already using HubSpot CRM and want a unified customer view
- Sales and support teams need to share context
- Contact auto-creation and property sync from HubSpot
- Owner-based ticket assignment
- Enterprise-scale support operations
- Complex routing and assignment rules
- Multi-brand or multi-product support
- Advanced analytics and reporting needs
- Integration with existing enterprise tools
Form Design Best Practices
Keep Forms Focused
Do:- Ask only for essential information
- Use 5-7 fields maximum for initial forms
- Make most fields optional except critical ones
- Require every field
- Ask for information available in context
- Include fields “just in case”
Use Progressive Disclosure
Show complexity only when needed: This reduces cognitive load and improves completion rates.Write Clear Labels
Provide Helpful Placeholders
Group Related Options
For long dropdown lists, use hierarchical groups:Conditional Fields Strategy
When to Use Conditional Fields
- Different information needed per category - Technical issues need error messages, billing needs invoice numbers
- Reducing form complexity - Show advanced options only when relevant
- Routing decisions - Collect different data based on where the ticket will go
Best Practices
- Limit nesting depth - Avoid more than 2-3 levels of conditionals
- Test all paths - Ensure every combination displays correctly
- Consider mobile - Deeply nested forms are hard on small screens
- Provide defaults - Pre-select common options when appropriate
Example: Support Tier Routing
- Standard: Basic description only
- Priority: + Urgency level, business impact
- Enterprise: + Account manager, SLA reference, escalation contacts
AI Prefilling Optimization
Writing Effective System Prompts
Be specific about formats:Testing Prefilling
- Create test conversations with different issue types
- Initiate ticket creation and review prefilled values
- Adjust system prompt based on results
- Test edge cases (vague requests, multiple issues)
Common Prefilling Issues
External System Integration
Zendesk Best Practices
Field Mapping- Use
external_idformat:ticket_field_12345678 - Test mappings with a dedicated test form first
- Document all field IDs in a reference sheet
- Create forms per major department
- Use option-level
zendesk_group_idfor flexible routing - Test routing with each group to verify permissions
- Use lowercase, hyphenated format:
from-widget,needs-review - Match tags to Zendesk automation triggers
- Avoid spaces and special characters
- Combine static form tags with user-selected tagger fields
- Default to Zendesk user validation for existing customers
- Use “Allow All Users” for public support portals
- Cache user validation results (30-minute default)
HubSpot Best Practices
Private App Setup- Enable only the scopes you need (
tickets,crm.objects.contacts.read/write,files) - Store the access token securely — it is only shown once
- Use a dedicated Private App for AGO (not a shared one)
- Use Import from HubSpot in the form builder to sync available properties
- Set
hubspot_property_nameon each field to match the internal HubSpot property name - Test with a sample ticket to confirm values appear in HubSpot
- Add a dropdown field with
hubspot_owner_idset on each option - Find owner IDs via the HubSpot API or Settings > Users & Teams
HelpScout Best Practices
OAuth Setup- Rotate client secrets periodically
- Monitor token cache hit rates
- Test in sandbox before production
- Use priority tags:
priority-low,priority-normal,priority-high - Use typology tags:
type-question,type-incident,type-task - Add custom tags via
tag_helpscoutexternal_id
- Verify mailbox ID matches your intended destination
- Test conversation creation permissions
- Configure notification preferences in HelpScout
Success Messages
Writing Effective Messages
Include:- Confirmation of submission
- Expected response time
- What happens next
- How to follow up
Different Messages for Different Forms
Automation with Triggers
Common Ticket Triggers
Auto-categorization:- Condition: Subject contains “password” or “login”
- Action: Set category to “Authentication”
- Condition: Priority is “Urgent” AND status is “Open” for 1 hour
- Action: Notify support manager
- Condition: Typology is “Billing”
- Action: Assign to Billing group
Using Placeholders
Create dynamic notifications:Trigger Best Practices
- Start simple - Add complexity gradually
- Test thoroughly - Create test tickets for each trigger
- Monitor logs - Watch for trigger execution errors
- Avoid conflicts - Ensure triggers don’t fight each other
- Document - Maintain a trigger reference document
Permission Configuration
Designing Permission Hierarchy
- Global Config (default) — base permissions
- Custom Permission (per user type) — overrides Global Config
- Allow All Users (superadmin override) — overrides everything above
Permission Strategies
Restrictive (B2B SaaS)- Ticket creation tied to active subscription
- Different access levels per plan tier
- Account admins can grant access to team members
- Enable “Allow All Users”
- Collect email from widget users
- Validate email format only
- Existing users validated against Zendesk
- New users require manager approval
- Widget users get limited access
Custom Denied Messages
Create helpful messages instead of generic errors:Operational Excellence
Monitoring & Metrics
Track these metrics:- Ticket creation success rate
- Average prefilling accuracy
- Form completion rate
- Time to first response
- Resolution time by category
- Spike in ticket creation failures
- External system integration errors
- Unusual volume patterns
Regular Maintenance
Weekly:- Review trigger execution logs
- Check for integration errors
- Monitor user feedback
- Analyze form completion rates
- Review and update category options
- Audit field mappings
- Review and optimize system prompts
- Update success messages
- Evaluate trigger effectiveness
Documentation
Maintain documentation for:- Field ID mappings (AGO ↔ external system)
- Trigger logic and conditions
- Permission configurations
- Integration credentials (securely stored)
- Escalation procedures
Common Pitfalls to Avoid
Form Design
Integration
Operations
Checklist: Launching Ticketing
Pre-Launch
- Ticketing system selected and configured
- Form fields defined and tested
- External system integration verified
- Field mappings documented
- Permissions configured
- Success messages written
- AI prefilling tested
- Triggers configured and tested
- Denied messages configured
Launch Day
- Enable ticketing for production
- Monitor first 10 tickets closely
- Verify external system receives tickets
- Check trigger execution
- Confirm notifications working
Post-Launch
- Collect user feedback
- Review completion rates
- Adjust form based on data
- Optimize prefilling prompts
- Document lessons learned
Related
- Ticketing — Core ticketing features
- Ticket Form Customization — Form configuration
- Ticketing Connectors — External system integration
- Ticketing Tool — Agent ticketing tool
- Set Up Ticket Escalation — Step-by-step setup guide
