InTouch Hub · Blue Isle Software

Support Ticket Triager

Classify a support ticket by category, priority, and sentiment. Drafts a polite first-touch response (for human review) grounded in the ticket text and an optional knowledge base. Designed for the high-volume first-line support funnel.

Support Ticket Triager Skill

Classify an incoming support ticket and draft a first-touch response — for human review before sending. Cuts the time-to-first-response from hours to seconds and gives the support agent a strong starting draft instead of a blank text box.

The Problem

The first response on a ticket is the highest-leverage interaction in support. It sets expectations, defuses frustration, and often resolves the issue if it's a simple one. But it's also the slowest because everyone is busy. A drafted response in the inbox the moment a ticket arrives means agents review-and-send instead of read-and-write.

How It Works

  1. A scheduled job polls your support tool's API for new tickets (Zendesk, Freshdesk, HubSpot, GitHub Issues, etc.) — or a webhook drops them into a folder
  2. The support-ticket-triager skill classifies and drafts
  3. The triage output is posted back to the ticket as an internal comment for the agent to review and either send-as-is, edit, or replace

Setup

  1. Install this skill
  2. Create an http credential for your support tool's API
  3. Optional: prepare a small knowledge base text file with FAQ entries — pass its contents in the skill input
  4. Use the YAML below; schedule for every 5-15 minutes (or wire to a webhook)

Example YAML Job

name: support-ticket-triage
version: 1.0.0
description: Triage new support tickets and post draft responses

notifications:
  - userNames: [intouch]
    alertOnError: true

tasks:
  - name: fetch-new-tickets
    tool: http
    credentialName: zendesk
    properties:
      method: GET
      url: "https://yourorg.zendesk.com/api/v2/tickets.json?status=new&sort_by=created_at&sort_order=desc&per_page=10"
      headers:
        Accept: "application/json"

  - name: triage
    tool: skill
    properties:
      skillName: support-ticket-triager
      input: |
        knowledgeBase: |
          - Refunds: customers can self-serve refunds within 30 days
            in their account settings
          - Login issues: 90% of "can't log in" tickets are a forgotten
            password — direct to the reset flow
          - API rate limits: 1000 req/min on Pro, 100 on Free

        tickets:
        {{fetch-new-tickets.responseBody}}

  - name: post-internal-comment
    tool: http
    credentialName: zendesk
    properties:
      method: PUT
      url: "https://yourorg.zendesk.com/api/v2/tickets/${TICKET_ID}.json"
      headers:
        Content-Type: "application/json"
      body: |
        {
          "ticket": {
            "comment": {
              "body": "{{triage.answer}}",
              "public": false
            }
          }
        }

Note: a real implementation needs a per-ticket loop (split tickets out of the JSON, call triage per ticket, post back per ticket). Use a runtimeenv task to iterate, or split into multiple jobs. The example above shows the shape — production wiring depends on your support tool.

Customization

Safety notes

Cost