Tools and troubleshooting

Use ChatGPT Data Analysis to Build an SLA Exception Table

Summary

Cihan's view: Upload a support CSV with one ticket per row, state the response and resolution thresholds, and ask ChatGPT to show every exception with its source values. Check the rows and counts yourself before changing staffing, customer promises, or escalation rules.

Choose another work task →

A support report can look tidy while hiding the tickets that need attention. ChatGPT Data Analysis can inspect an uploaded CSV and create a table, but the table is still a draft until someone checks the source rows and thresholds.

Reader and decision: You are a support operations manager deciding whether a fictional ticket sample is ready for a staffing review. The artifact is an SLA exception table. The decision is whether to investigate the exceptions, not whether to change staffing immediately.

Evidence label: Documentation-based and illustrative. OpenAI documents CSV uploads, tables, calculations, and explanations in ChatGPT Data Analysis. The data, prompt, and output below are fictional. No ChatGPT run or personal test is claimed.

What you need

  • ChatGPT with file uploads and Data Analysis available. Availability depends on your plan, model, workspace settings, and account capabilities.
  • A CSV with one ticket per row and clear column names.
  • Approved data, or the fictional sample below.
  • The owner of the support targets, who can confirm whether the thresholds still apply.

Do not upload customer data unless your organization has approved the account and workspace for it.

Create the fictional input

Save this as support-sla-sample.csv:

ticket_id,team,first_response_hours,resolution_hours,status
T-101,Onboarding,10,48,Closed
T-102,Billing,6,72,Closed
T-103,Onboarding,9,60,Closed
T-104,Billing,4,30,Closed

The fictional targets are:

First response target: 8 hours
Resolution target: 48 hours
Rule: an exception is a row where first_response_hours > 8 or resolution_hours > 48.

The comparison is strict. A value equal to the target passes. The sample includes one row at each useful boundary: 4, 6, 9, and 10 hours for first response, plus 30, 48, 60, and 72 hours for resolution.

Run the workflow

1. Upload the file and state the rules

Open ChatGPT, attach support-sla-sample.csv, and paste this prompt:

Analyze the attached CSV as a support-operations review.

Targets:
- First response passes when first_response_hours <= 8.
- Resolution passes when resolution_hours <= 48.

Create these sections:
1. A table of every exception, with ticket_id, team, failed metric, actual value, target, and status.
2. Counts for total tickets, first-response exceptions, resolution exceptions, and tickets failing both metrics.
3. A short note about boundary values that pass.
4. Missing or ambiguous data.

Rules:
- Use only the attached CSV and the targets in this prompt.
- Preserve ticket_id and team exactly.
- Do not invent causes, owners, customer impact, staffing changes, or recommendations.
- Show the comparison used for each exception.
- Treat a value equal to the target as passing.
- If a required field is missing, say UNKNOWN and stop that calculation.

OpenAI’s documentation says ChatGPT can analyze uploaded files, create tables and charts, and explain assumptions and results. The exact controls and available file types can vary by account or workspace.

2. Check the illustrative artifact

For the fictional CSV, the expected exception table is:

| ticket_id | team      | failed metric       | actual | target | status |
|-----------|-----------|---------------------|--------|--------|--------|
| T-101     | Onboarding| first response      | 10 h   | 8 h    | Closed |
| T-102     | Billing   | resolution          | 72 h   | 48 h   | Closed |
| T-103     | Onboarding| first response      | 9 h    | 8 h    | Closed |
| T-103     | Onboarding| resolution          | 60 h   | 48 h   | Closed |

A compact count check is:

Total tickets: 4
First-response exceptions: 2, T-101 and T-103
Resolution exceptions: 2, T-102 and T-103
Tickets failing both metrics: 1, T-103
Boundary pass: T-101 resolution = 48 hours

This is an illustrative output written from the fictional CSV. It is not a captured ChatGPT response.

3. Decide what the table is allowed to do

Use the artifact to choose the next review step:

Check result Decision
Every exception keeps its source ID and comparison Send the table to the target owner for review.
A count does not match the listed rows Recheck the CSV and prompt before using the table.
A target, cause, or owner is missing Keep the field UNKNOWN and ask the responsible owner.
The table is accurate but the business response is unclear Discuss staffing or policy separately. Do not let the table decide it.

Acceptance checks

The sample passes when:

  • all four input rows are accounted for;
  • T-101, T-102, T-103, and T-104 retain their original IDs and teams;
  • equal-to-target values pass, including T-101’s 48-hour resolution;
  • T-103 appears under both failed metrics;
  • the exception rows and counts agree;
  • no cause, owner, customer impact, or staffing decision is invented; and
  • missing information remains UNKNOWN.

Troubleshooting

The output lists only one row for T-103. Ask for one row per failed metric, then compare the output with the original CSV. A ticket can fail more than one threshold.

A value equal to 48 is marked as late. Restate the rule as resolution_hours <= 48 and check the displayed comparison. Do not silently change the target to make the table look cleaner.

The result contains a cause such as understaffing. Remove unsupported explanations and rerun with the rule against invented causes. The CSV contains times, not reasons.

The file cannot be analyzed. Check that the upload completed, that the CSV has one record per row and clear column names, and that the account or workspace allows file uploads. Use a small approved sample to diagnose the workflow before using operational data.

Limits and decision

The table can help you find rows to review. It does not establish why a ticket missed a target, whether the target is still valid, or what staffing change would work. Keep the source CSV, prompt, output, and human decision together so the next review can reproduce the comparison.

TRY this workflow on a fictional or approved CSV. SKIP it for a staffing decision when the target owner or source fields are unresolved. USE the exception table as a review aid after the rows and counts pass the checks above.

For more practical AI workflows built around real work tasks, join The Weekly Verdict.

Sources

Evidence label: Documentation-based and illustrative. The CSV, prompt, table, calculations, and decisions are fictional teaching material. No ChatGPT execution, customer data, staffing result, or Cihan test is claimed.

About Cihan

Creator and operator focused on practical AI for business professionals. Background and editorial approach →