Routing & Auto-Assignment

Get tickets to the right person automatically. Instead of manually triaging every inbound email, Scitor routes tickets based on AI-detected categories and labels β€” so billing questions go to your finance team, bug reports go to engineering, and urgent issues go to whoever is on call.

Pro plan required. Routing requires AI analysis to detect categories.

Why routing matters

Without routing, every ticket lands in a single queue and someone has to manually assign it. With routing:

  • Faster response times β€” the right person sees the ticket immediately
  • Less context switching β€” team members only see tickets relevant to their expertise
  • No manual triage β€” Scitor assigns tickets as soon as AI analysis completes
  • SLA compliance β€” urgent tickets reach the on-call team without delay

How it works

  1. A customer sends an email or submits a form
  2. Scitor creates the Issue and runs AI analysis (sentiment, category, priority)
  3. Routing rules are evaluated in order against the AI labels
  4. The first matching rule assigns the ticket to the configured team members

Configuration

Add a routing section to your .github/scitor.yaml:

routing:
  auto_assign: true
  rules:
    - category: billing
      assignees: [alice, finance-team]
    - category: bug-report
      assignees: [engineering-team]
    - category: account
      assignees: [account-manager]
    - label: "priority:urgent"
      assignees: [oncall-team]

Options

Field Default Description
auto_assign false Enable automatic ticket assignment on inbound
rules [] Routing rules, evaluated in order β€” first match wins

Rule format

Each rule matches a condition and assigns to one or more GitHub users or teams:

Field Type Description
category string Match the AI-detected category (e.g. billing, bug-report, question)
label string Match a label name (e.g. priority:urgent, sentiment:negative)
assignees string[] GitHub usernames or team slugs to assign. Leading @ is stripped automatically.

A rule must have at least one of category or label, and at least one assignee. Invalid rules are silently ignored.

Matching behavior

  • Rules are evaluated in order β€” the first matching rule wins
  • A rule with both category and label requires both to match
  • Place more specific rules before general ones
routing:
  auto_assign: true
  rules:
    # Most specific: urgent bugs go to senior engineering
    - category: bug-report
      label: "priority:urgent"
      assignees: [senior-eng]

    # All other bugs go to engineering
    - category: bug-report
      assignees: [engineering-team]

    # All urgent tickets (any category) go to on-call
    - label: "priority:urgent"
      assignees: [oncall-team]

    # Billing goes to finance
    - category: billing
      assignees: [alice, bob]

Common patterns

Route by category

Assign tickets based on what the customer is asking about:

routing:
  auto_assign: true
  rules:
    - category: billing
      assignees: [finance-team]
    - category: bug-report
      assignees: [engineering-team]
    - category: feature-request
      assignees: [product-team]
    - category: account
      assignees: [account-manager]

Route by priority

Ensure urgent tickets are seen immediately:

routing:
  auto_assign: true
  rules:
    - label: "priority:urgent"
      assignees: [oncall-team]
    - label: "priority:high"
      assignees: [senior-support]

Combine with SLA tracking

Routing and SLA work together. When a ticket is auto-assigned to the right person and has an SLA deadline, the assignee sees both the responsibility and the time pressure:

routing:
  auto_assign: true
  rules:
    - label: "priority:urgent"
      assignees: [oncall-team]

sla:
  first_response:
    urgent: 30m
    high: 4h

Tip

Use GitHub’s notification settings to ensure assignees are notified immediately. Combine with the GitHub Actions guide for Slack or Teams alerts on assignment.

Scitor β€” Turn GitHub into your support platform