Helptal โ€” Home
HelptalHelptal
Helptal
  • Support Tickets

    Every customer email and message in one shared list.

    Live Chat

    A chat bubble for your website, with AI handling the easy ones.

    Appointment Booking

    Online booking pages with calendar sync and meeting links.

    AI Automation

    An AI teammate that drafts replies in your tone of voice.

    Knowledge Base

    Help articles on your own web address โ€” the AI quotes them too.

    • About Helptal

      The mission and the team behind the product

    • Why Helptal

      How we compare to the older help desk tools

    • Use Cases

      How different teams use Helptal day-to-day

    • Blog

      Helpdesk benchmarks, playbooks, product news

    • Documentation

      Setup guides and developer reference

  • Pricing
  • Support
Sign inGet Started
Helptal โ€” Home
Helptal

Menu

    • Support Tickets
    • Live Chat
    • Appointment Booking
    • AI Automation
    • Knowledge Base
    • About
    • Why Helptal
    • Use Cases
    • Blog
    • Documentation
  • Pricing
  • Support
    • Terms & Conditions
    • Privacy Policy
    • GDPR
    • Sub-processors
Sign inGet Started

9 ticket custom field designs that turn intake into structured data

by Helptal Editorial

July 4, 2026โ€ข9 min read
Customer SupportOperationsTicketingHelp DeskSaas
9 ticket custom field designs that turn intake into structured data

Most support teams bolt custom fields onto their intake forms the way you'd tape a receipt to a wall โ€” a dropdown for product area, a text box for "anything else," a checkbox someone added in 2023 that nobody removed. The result is intake data that reads fine on individual tickets but breaks the moment you try to route by it, report on it, or feed it to an AI classifier. These nine field designs fix that.

Key takeaways

  • Typed dropdowns with fixed option lists produce reportable data; free-text fields produce transcripts.
  • Fields that block ticket submission should hold trust: max three required fields, all with obvious values the customer already knows.
  • LOOKUP_FROM_USER fields pull structured account context from your SSO metadata so customers never have to type their plan tier or account ID.
  • Tag-adjacent fields need cardinality caps โ€” a dropdown with 47 options is a text field pretending to be structured.
  • Split intake fields (customer-facing, required) from triage fields (agent-only, optional) so your form stays short and your reports stay clean.

Why field design decides whether your data is useful

A custom field's job isn't to record information โ€” it's to make information queryable. A field called "issue description" holding "the checkout button doesn't work on Safari" is worthless for reporting because no two tickets will ever match. A field called browser with a dropdown of Chrome / Safari / Firefox / Edge / Other is worth its weight in gold because you can filter, group, count, and route on it.

Every custom field decision comes down to one question: will this value ever match another ticket's value exactly? If yes, you have structured data. If no, you have a transcript.

The nine designs below all optimize for that match rate. Some of them will feel over-engineered for a five-person team. They aren't. The compounding cost of unstructured intake shows up two years later when you can't answer "how many tickets did we get about billing in Q2?" without a human reading every row.

1. Typed dropdowns instead of free-text for anything you'd ever group by

Rule of thumb: if you can imagine a chart with this field on the X-axis, it must be a dropdown.

"Which area of the product?" is a dropdown. "Steps to reproduce" is a textarea. "Affected environment" is a dropdown (Production / Staging / Dev). "Business impact" is a dropdown (Blocking work / Degraded / Cosmetic). "What's your account ID?" is a text field โ€” but only because IDs are unique-per-customer, so grouping doesn't apply.

The test: could two different customers plausibly type slightly different phrasings for the same underlying thing? If yes, dropdown. "Login issue," "can't log in," "login broken," and "authentication problem" are the same value to a human and four different values to a report.

2. Cardinality caps: no dropdown longer than 12 options

A dropdown with 47 product areas isn't a dropdown, it's a scrolling text field. Customers scan the first six options, don't find a perfect match, pick something close, and now your data has systematic noise.

Hard limits that work for B2B SaaS teams under 15 agents:

Field typeMax optionsIf you need more
Product area8-10Split into two fields (area โ†’ subarea) with conditional logic
Issue type6-8Consolidate โ€” "bug," "error," and "broken" are the same option
Environment3-4You genuinely only have three environments
Severity/impact3-4More granularity = worse consistency across agents

When you're tempted to add option 13, look at your last 90 days of tickets and count how many actually hit each existing option. Most "we need more granularity" arguments die when you see that option 7 has 4 tickets and option 3 has 380.

3. LOOKUP_FROM_USER fields for account context

The single highest-leverage field design for B2B SaaS is one where the customer types nothing. LOOKUP_FROM_USER fields (available on Helptal's custom fields on Growth+ plans) source their dropdown options directly from the customer's SSO metadata at sign-in time.

Concrete examples:

  • Plan tier โ€” populated from ssoMetadata.plan ("free," "starter," "pro," "enterprise"). Now every ticket is instantly filterable by plan, and your reports can show whether enterprise customers get faster response times than they should.
  • Account/workspace ID โ€” a dropdown of the workspaces the signed-in customer belongs to. No more "what's your account ID?" reply from your agent.
  • User role โ€” admin, member, viewer. Determines whether the customer can even change what they're asking about.
  • Project selector โ€” for customers with multiple projects under one account, a dropdown of their actual projects.

These fields are structured by construction. The customer can't misspell their plan tier because they never see the option list you generated it from.

4. Required-at-submit vs optional-after-triage

Every required field is a tax on ticket submission. A form with seven required fields gets abandoned; a form with two required fields gets used.

Split your fields into two groups:

Customer-facing, required at submit: the two or three things you genuinely can't route without. For most B2B SaaS: issue category (dropdown) and severity (dropdown). Maybe account context if it's not already coming from SSO.

Agent-only, filled during triage: everything else. Root cause category, affected feature area, related bug ID, resolution type. These live on the ticket but the customer never sees them. Agents populate them from the ticket view once they've read the message.

This split is what lets your intake form stay short (three fields max) while your report data stays rich (twelve fields deep). The mistake most teams make is putting a triage field on the customer form because "we need this data" โ€” no, you need agents to fill it in after the ticket exists.

5. Severity/impact fields that describe the customer, not the ticket

"Priority" is a ticket attribute your agents set. "Business impact" is a customer attribute they self-report. They aren't the same field and shouldn't share a dropdown.

Good business-impact dropdown:

  • Blocking my team from working
  • Slowing us down but we have a workaround
  • Annoying but not urgent
  • Question, not a problem

Notice this is written in the customer's voice, not yours. "P1 / P2 / P3 / P4" is agent language. Customers pick randomly when you use it because they have no idea what the levels mean.

Then your automation converts customer-reported impact + your own priority logic (contract tier, SLA policy, product area) into the actual ticket priority the agent sees. Two fields, one derived from the other.

6. Boolean checkboxes only when the negative case matters

"Is this a security issue?" as a checkbox is fine โ€” the negative case ("no, this isn't security") matters for routing.

"Would you like a follow-up call?" as a checkbox is fine โ€” again, both states are meaningful.

"I agree to the terms" as a checkbox is not a custom field, it's a form control. Don't clutter your custom field catalog with them.

The pattern: checkboxes are boolean dropdowns. If "unchecked" and "checked" both have distinct downstream behavior (routing, priority, tagging), it earns its place. If "unchecked" just means "the customer didn't feel like it," delete the field.

7. Date fields with clear semantics, not "when did this start?"

"When did the issue start?" as a free-text date field is useless. Customers write "yesterday," "last Tuesday," "a few weeks ago," or "since we upgraded." None of those group.

Use a proper Date field type โ€” the picker enforces a real timestamp โ€” and be explicit about what you're asking:

  • First noticed โ€” the specific day/time the customer first saw the problem. Useful for correlating with your deploy history.
  • Deadline โ€” the date the customer needs this resolved by. Feeds your prioritization.
  • Meeting/event date โ€” for tickets tied to a scheduled thing.

If you can't articulate what the date means and what you'd do with it, don't add the field.

8. Custom fields on customers, not just tickets

Half the fields teams add to tickets belong on the customer record instead. "Plan tier," "account manager," "contract renewal date," "MRR band" โ€” these don't change per ticket, they change per customer. Storing them on every ticket duplicates data and rots it (a customer upgrades in June; every ticket from January still shows the old tier).

Helptal supports custom fields on both tickets and users (customers) with the same field types. The rule:

  • Ticket field if the value can differ across two tickets from the same customer.
  • User field if it's a property of the account.

A user field then propagates to every ticket via reporting joins and routing conditions. One update, all tickets reflect it.

9. Naming and description conventions that survive turnover

The field named "Category" and the field named "Type" and the field named "Area" โ€” a team that's been running for two years has all three, filled inconsistently, because whoever added the second one didn't know the first existed.

Before adding a new field, document:

  • Machine name โ€” snake_case, unique, permanent (product_area, business_impact, first_noticed_at).
  • Display label โ€” the customer/agent-facing question ("Which part of the product?").
  • Description โ€” one sentence on what it means and when to use it.
  • Owner โ€” the person who maintains the option list.
  • Downstream use โ€” one line naming the routing rule, report, or AI feature that consumes it. If nothing consumes it, delete it.

A field with no downstream use is a form of technical debt. Every quarter, walk the catalog and prune anything that hasn't influenced a decision in 90 days.

How Helptal fits in

Helptal's ticket custom fields support Text, Textarea, Dropdown, and Date types with per-tenant catalogs and required-field toggles at the form level. Growth+ plans add LOOKUP_FROM_USER fields sourced from SSO metadata and LOOKUP fields fetched live from your API at form-render time. Structured fields feed directly into Helptal's AI auto-tagging and routing โ€” the AI classifier gets meaningfully better when it can see "plan=enterprise, impact=blocking" than when it has to infer both from the message body. Ticket forms let you branch intake into different field sets per inquiry type without cluttering the base form.

Frequently asked questions

How many custom fields should a B2B SaaS support team have?

Most 5-15 agent teams do well with 8-15 total custom fields across tickets and users, of which only 2-3 are customer-required at submit. The rest are agent-populated during triage or sourced automatically from SSO metadata. If your catalog is above 25 fields and you haven't recently audited which ones drive routing or reports, you almost certainly have dead fields.

Should custom fields be required on the customer intake form?

Only for fields where the customer genuinely knows the answer and you genuinely can't route without it. In practice this means one category dropdown and maybe a business-impact dropdown. Everything else โ€” root cause, resolution type, related product area โ€” should be agent-only fields populated during triage. Required fields kill submission rates.

What's the difference between tags and dropdown custom fields?

Tags are free-form, unlimited-cardinality labels agents apply after the fact. Dropdown custom fields have a controlled option list and can be required at submit. Use tags for emergent patterns you're still discovering ("holiday-rush," "post-migration"). Use dropdown fields for stable dimensions you report and route on (product area, environment, business impact). Never let a dropdown grow to tag-scale โ€” cap it at 12 options.

How do LOOKUP_FROM_USER fields work?

LOOKUP_FROM_USER fields pull their dropdown options from an array stored in the customer's SSO metadata at sign-in. When your product's SSO handshake passes ssoMetadata.plans = ["acme-prod", "acme-staging"], a LOOKUP_FROM_USER field bound to that key renders as a dropdown with those two options. The customer never sees or types the raw values โ€” they pick from a list scoped to their own account, and your reports get consistent, structured data.

Can custom fields feed AI auto-tagging?

Yes, and they should. AI classifiers are dramatically more accurate when structured fields are part of the context โ€” knowing plan tier, environment, and business impact narrows the classification space significantly. Helptal's AI auto-tag and priority features read all populated custom fields when making decisions, so the more structure you capture at intake, the better the AI performs.

This week, open your custom fields settings and count how many fields haven't influenced a routing rule, report, or automation in the last 90 days. Delete the dead ones, promote two or three text fields to dropdowns, and move plan/account context to LOOKUP_FROM_USER. If you're rebuilding intake from scratch, Helptal's free plan includes the full custom fields catalog on Growth-tier lookup features up to your first ten agents.

Share this post

Start with Helptal Free, free forever

Sign up in under a minute. No credit card, no sales call. Your one-person helpdesk can be handling real customer emails before lunch.

Get Started Free
  • No credit card required

  • Free forever โ€” upgrade any time

Decorative gradient background
Decorative gradient background
Helptal

Modern helpdesk for support teams who care.

LinkedInLinkedIn
FacebookFacebook

Products

  • Support Tickets
  • Live Chat
  • Appointment Booking
  • AI Automation
  • Knowledge Base
  • Pricing

Resources

  • About
  • Why Helptal
  • Use Cases
  • Blog
  • Documentation
  • Support

Legal

  • Terms & Conditions
  • Privacy Policy
  • GDPR
  • Sub-processors

Copyright ยฉ 2026 Evith LLC. All rights reserved.