To prepare SaaS support tickets as training data, check that you have the right to license them, remove personal and confidential content, keep the thread structure and outcomes, then document the dataset honestly. Most of the work is redaction and rights checking, not formatting. Tickets with resolution outcomes are worth far more than raw text.
Why are SaaS support tickets in demand?
Tickets are in demand because they show real customers describing real problems and real agents solving them, at scale, in a domain where precise language matters. That is hard to fabricate and hard to find publicly.
Teams building support copilots, triage classifiers, answer-suggestion tools and autonomous support agents need examples of the full interaction: the vague first message, the clarifying questions, the diagnosis, the workaround and the outcome. Public forums give only fragments, and they skew toward problems that the community happens to discuss.
A SaaS company's archive also reflects a product: its features, error messages, configuration quirks and versions. That makes it especially useful to anyone building a support agent for similar software. We cover the buyer's view of the topic in selling customer support conversations to AI companies, and this article focuses on the preparation work on your side.
What should you check before touching the data?
Check your rights first, because no amount of redaction fixes a ticket archive you are not permitted to license. The questions are about contracts, privacy notices and who supplied the content.
Work through these:
- What do your customer terms and privacy notice say about using support content, and is commercial licensing covered or contradicted?
- Do enterprise contracts contain confidentiality clauses that cover support communications?
- Did your helpdesk or support vendor's terms place any limits on the data?
- Were any tickets written by customers' end users rather than the customers' staff, which adds another set of people?
- Are there categories you know should be excluded, such as security incidents, legal disputes, billing complaints or tickets from regulated customers?
You may find that some customers can be included and others cannot, which is a normal outcome. This is general information and not legal advice. Privacy law such as the GDPR and CCPA can apply to the personal data in tickets, and a qualified lawyer should review your position before you list.
What are the steps to prepare a ticket archive?
The steps run from scoping to documentation, and the order matters because early decisions shape everything that follows. Treat it as a pipeline you can repeat.
- Scope the archive: choose a period, product lines and languages, and exclude restricted customers and categories.
- Export with metadata: keep ticket identifiers, timestamps, channel, status, tags, priority and resolution fields, but drop agent and customer email addresses at export time where you can.
- Separate structure from content: normalise threads so each message has a role (customer, agent, system), an order and a timestamp.
- Redact personal and confidential data in both message bodies and metadata.
- Check the redaction with automated detection and a manual sample.
- Add useful labels if you have them, such as category, product area and outcome.
- Document the dataset and prepare a small sample.
The sections below take the harder steps in turn.
How do you redact personal data in tickets?
Combine automated pattern detection with human sampling, because automated tools catch emails and phone numbers but miss names in context and unusual identifiers. Tickets are messy, and people paste everything into them.
Typical items to find and handle:
- Names of customers, their colleagues and your agents
- Email addresses, phone numbers and postal addresses
- Account, order, license and invoice identifiers
- IP addresses, device identifiers and user IDs
- Credentials, API keys, tokens and passwords, which people paste into tickets more often than you would hope
- Attachments and screenshots, which contain faces, dashboards and personal data
- Signatures and quoted email chains in the body of messages
Replace identifiers with consistent placeholders, such as [CUSTOMER_1] and [EMAIL], rather than deleting them, so that the text remains readable and a model can learn that an email address appears at that point. Keep tokens consistent within a thread so the conversation makes sense.
Decide how to treat attachments. Many sellers exclude them entirely at first, which is a reasonable and safe starting position. If images matter to the product, redaction needs a separate process.
For more on the general approach, read how to de-identify company data before selling it, and see anonymisation versus pseudonymisation to understand why placeholders do not always make data anonymous.
Why is secret and confidential content such a concern?
Tickets frequently contain things customers never intended to share beyond your support team: passwords, API keys, internal system names, business plans and snippets of their own customer data. This is both a privacy and a security matter.
Scan for credential patterns and high-entropy strings such as long random-looking tokens. Remove log excerpts or configuration dumps, or process them carefully, since they often include hostnames, tokens and personal records. A ticket that contains someone's database error output may contain rows of that database.
If a leaked credential is found in the archive, it may also need to be rotated or reported internally, regardless of whether you sell anything. That is a useful by-product of the exercise.
How should you structure the dataset?
Structure it so each ticket is a clean, ordered conversation with consistent fields, because buyers fine-tune and evaluate on structure as much as on text. A common arrangement is one record per ticket, with an array of messages.
Fields worth keeping where available:
- Ticket ID (replaced with a random identifier, not the original)
- Created and closed timestamps, or relative durations if you generalise dates
- Channel, such as email, chat or web form
- Product area, category and tags
- Priority, status and resolution type
- Whether it was escalated and to which tier
- Customer satisfaction rating, if collected
- Messages with role, order and cleaned text
Outcome fields are where much of the value is. A buyer building a resolution assistant wants to know which replies solved the problem. Satisfaction scores, reopen flags and resolution tags help, though you should be honest about how reliable they are. If tags were applied inconsistently, say so.
Choose a standard format such as JSON Lines or Parquet, and include a data dictionary. Tidy structure takes some effort but reduces back-and-forth during negotiation.
What do you do about languages, quality and bias?
Describe them rather than hiding them. Buyers expect a ticket archive to be uneven, and what harms trust is discovering unflagged problems after purchase.
Report the language mix, noting if most tickets are in one language. Note the typical length and quality: are there many one-line messages, auto-replies or spam tickets? Consider removing automated notifications and out-of-office replies, or flag them with a field.
Be clear about coverage.
If your archive represents a particular customer segment, such as small businesses in one region, or covers only a period before a major product redesign, say so. Agents' behaviours also shape the data. If one support team's tone dominates, a buyer should know.
Describing bias honestly does not reduce value for the right buyer, and it prevents disputes.
Product drift is another quiet problem. A ticket about a screen that was removed two years ago can teach a model the wrong answer. Where you can, record the product version or release date for each ticket, or mark the period before major changes, so buyers can filter old material out. A short changelog attached to the dataset documentation is cheap to write and saves a buyer a lot of guesswork.
How do you price and list the archive?
Price reflects uniqueness, size after cleaning, outcome labels, domain depth and license rights, not the number of tickets you started with. Heavy redaction and exclusion can shrink the usable set considerably, so count what remains.
The factors that tend to matter include:
- Specificity of the product domain, such as developer tooling, payments, HR software or analytics
- Presence of full threads with resolutions
- Cleanliness of redaction and the evidence behind it
- License scope, including whether training of commercial models is allowed
- Whether you offer ongoing updates through API access
Run the free ten-question valuation at evaluate to see how your archive scores on these factors before you decide on a price. When you are ready, create a listing through sell. Listing is free, and the platform takes a 10% commission when an order completes.
On the platform, buyers can message you and bid, and an accepted bid becomes the checkout price. Payment is held in escrow, you deliver, and the buyer confirms before funds release, or funds auto-release after 72 hours. A sample under NDA is a normal request, and it helps to have a clean 100-ticket sample ready, with the redaction applied exactly as in the full set.
When is selling support tickets a bad idea?
It is a bad idea when your terms do not allow it, when your customers would be surprised and upset, or when redaction cannot be made reliable. The reputational risk with customers is real even where the legal position is arguable.
Consider the trust relationship. Enterprise customers often negotiate confidentiality and data-use terms, and some regard support conversations as sensitive. If you are unsure, the options are to exclude those customers, seek consent, or skip the sale.
Also reconsider if your archive is small, low in variety or mostly boilerplate. Not every archive has a market, and the work of cleaning it could be better spent internally, for example building your own support assistant. You can pursue both aims in sequence.
Frequently asked questions
Do I need customer consent to sell support tickets?
It depends on your contracts, privacy notices and local law. Consent may be required for some customers and not others, and anonymisation may change the analysis. This is a question for a qualified lawyer, who can review your terms before you list anything.
Can I include attachments and screenshots?
You can, but they are hard to redact reliably, since images and files often contain personal data and confidential information. Many sellers exclude them from a first release. If buyers need them, treat attachments as a separate process with its own checks.
How many tickets do I need?
There is no fixed threshold. Value depends on quality, diversity and labelling as much as count. A smaller set of well-redacted, resolved threads in a specialised domain can be more useful than a vast uncurated archive. Describe the size after cleaning.
Should I keep agent replies?
Usually yes, because the agent's reply is the behaviour a support model learns from. Remove agent names and contact details, and check your employment terms. Consider whether any replies contain internal-only information such as private notes.
How do I handle tickets in several languages?
Label the language of each ticket and report the mix. Do not translate without saying so, since translation changes the data. Buyers working in particular languages will search for exactly that, and an honest breakdown helps them.
If your tickets are ready for a first sample, the sell page shows how to create a listing.
LogitAtlas