Skip to content

Per-account contractual SLAs + a config UI — the global map flags every open ticket #203

Description

@NathanTarbert

SLA targets come from a single global per-priority map in packages/outpost/shared/src/constants.ts (DEFAULT_SLA_FIRST_RESPONSE / DEFAULT_SLA_RESOLUTION). There is no per-customer override and no UI to set one.

Why it matters

The global targets are tuned for paid support — HIGH means 8 hours to resolve — and are meaningless for OSS community tickets. So SLA_CHECK flags essentially every open ticket: on 2026-07-31 the dashboard read "SLA Breaches 51" against 51 total tickets. A metric that fires on everything conveys nothing.

This also blocks the sales use case: Outpost is meant to serve sales as well as support, and contractual SLAs are per-customer by definition.

Fix

  • SLA targets become a per-Account setting, editable on the customer page, sourced from that customer's contract, with the global map as the fallback.
  • A settings surface to edit them.
  • Clear slaBreachedAt once a ticket receives a response — today it is write-once, so the count only ever grows.
  • Scope the dashboard card to the selected month.

Interim, decided 2026-07-31: the dashboard card becomes "Needs human reply" — AI answered, no human followed up, across Discord + GitHub.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: productDashboard / product surfacesroadmapTracked on the Outpost roadmaproadmap: nextRoadmap horizon: after launch path clears

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions