Documentation · KPIs & SLA

KPIs & SLA

KPIs measure each member's performance against their targets: how fast customers get a reply, how long issues take to resolve, and how many get resolved. This feature is available on the Pro and Custom plans.

KPI report: response, resolution, and productivity targets per person.
KPI report: response, resolution, and productivity targets per person.

Business hours

  • Set them in Settings → General (available on every plan — also used by channel auto replies and the livechat widget status): tick the business days and enter the opening and closing time for each day. Times follow the workspace time zone.
  • Per-channel business hours: a channel can use its own business hours (channel settings → Hours & auto replies), e.g. a livechat that stays open into the evening. Response time, resolution, and SLA for that channel's conversations are counted with its hours; "per day" targets still use the workspace business days.
  • All KPI and SLA time is counted within business hours only. Example (Monday–Friday 08:00–17:00): a message received Saturday night and answered Monday at 08:15 counts as 15 minutes; a message received Monday at 16:50 and answered Tuesday at 08:10 counts as 20 minutes. A message received and answered entirely outside business hours counts as 0 minutes.
  • When business hours are off, time counts 24 hours a day.
  • "Per day" targets (e.g. solved per day) are divided by the number of business days in the report range.

Targets

TargetUnitDefaultWhat is measured
First responseminutessame as Settings → GeneralFrom the customer's first message until it is answered.
Follow-up reply timeminutes60From the customer's next message (after a reply) until it is answered again.
Email first responsehours4Like first response, for email conversations only.
Email follow-up reply timehours4Like follow-up reply time, for email conversations only.
Livechat first responseminutes2Like first response, for livechat conversations only (the site visitor is waiting on screen).
Livechat follow-up reply timeminutes2Like follow-up reply time, for livechat conversations only.
API channel first responseminutes15Like first response, for API channel conversations only.
API channel follow-up reply timeminutes15Like follow-up reply time, for API channel conversations only.
Conversation resolutionhours24From conversation created until Solved.
Conversations solved per business daycountno targetHow many conversations a person solves per business day.
Ticket responsehours2From ticket created until the Back Office team first responds (a discussion message or status change by someone other than the creator).
Ticket resolution by priorityhoursUrgent 4 · High 8 · Normal 24 · Low 72From ticket created until Resolved. If the ticket has a due date, the due date is the target.
Tickets resolved per business daycountno targetHow many tickets a person resolves per business day.
  • Enter 0 for no target.
  • Targets can be set for a specific team or person. The most specific one applies: personal target → team target → workspace target. If someone is in several teams with targets, the strictest one is used.
  • Targets are counted in business hours: a 24-hour target means 24 business hours (with 08:00–20:00 business hours, roughly two business days).
  • Per channel type: email isn't expected to be answered within minutes, so email conversations are judged against the email first response & follow-up targets; WhatsApp uses the regular response targets. Livechat (the visitor is waiting on screen) and API channels have their own response targets too. Resolution is the same for every channel. Every per-channel-type target can be changed per workspace, team, and person in Settings → KPI targets.

How KPIs are calculated

KPICalculation & who it counts for
First responseFor conversations created in the range: business time from the customer's first message to the first reply. Counts for the person who replied first. A reply from the number owner's phone ends the wait but counts for no one; automatic replies don't count.
Follow-up repliesEvery time the customer writes again after a reply: business time until the next reply, for the person who replied (replies within the range).
ResolutionConversations marked Solved in the range: business time from creation to Solved, for the assignee at the time it was solved (without an assignee: the person who marked it Solved).
Solved per business dayThe number of conversations they solved divided by the business days in the range.
Contacted again ≤ 3 daysOf the chat conversations they solved: the share whose contact got in touch again (a new conversation) within 3 days after Solved. Lower is better.
EscalationsTickets they created from conversations divided by the conversations they handled.
Ticket responseFor tickets created in the range: business time until the team's first response, for the person who responded. Messages sent from the conversation panel don't count as a team response.
Resolved on timeEvery time a ticket is resolved (Resolved, or closed directly) in the range: on time if before its due date, or — without a due date — no longer than its priority target. Counts for every assignee of the ticket (without an assignee: whoever resolved it). Broken down by priority.
ReopenedThe share of tickets they resolved that were later reopened.
Feedback to conversationBusiness time from ticket created until the first feedback or conclusion is sent to the original conversation.
Backlog & past target nowThe current state: active tickets they own, and their conversations/tickets already past target.

Status colours = the share done within target: green ≥ 90%, yellow ≥ 75%, red below that. For per-day targets: green when the average reaches the target, yellow at ≥ 80% of it.

SLA markers in the inbox & tickets

  • Conversations waiting for a reply get a yellow Close to target marker (80% of the target used) and a red Past target marker. The target is the conversation assignee's (or their team's), counted in business hours. The Info tab of the detail panel shows a Reply target row with its due time.
  • Active tickets without a due date show a Resolve by time based on their priority; overdue ones are marked red. The Past target figure on the Dashboard uses the same calculation.

Warnings & daily summary

WhenWho is notified
80% of targetThe conversation / ticket assignee.
Past targetThe assignee; without one, the members of the conversation's/ticket's team (or assignment managers when there is no team).
150% of targetSupervisors: people who can manage assignments (conversations) or manage tickets (tickets) and can see that conversation/ticket.
  • Each level is sent once. Outside business hours the level doesn't increase.
  • After closing time each business day (17:00 when business hours are off), members who were below target that day get a KPI summary, and people with report access get the number of members below target.
  • When this feature is first switched on for a workspace, existing conversations & tickets don't trigger warnings — only those that continue afterwards.

Reports & my KPIs

  • Reports → KPIs: Frontline and Back Office tables per person, ranges of 7/30/90 days or custom (up to 93 days, workspace time zone), team filter, and a Channel type filter (All channels / WhatsApp / Email / Livechat / API channel — with Email, response times are shown in hours against the email targets; "All" judges every conversation against its own channel type's target). Click a name for details: metric cards, daily trend, items past target, and the targets in effect with their source (person/team/workspace).
  • People with report access see every member (or the members of their teams, without "Can view all data"). Other members see their own KPIs from the My KPIs today card on the Dashboard.
  • Download CSV: a KPI summary per person, or raw data per conversation, per reply, and per ticket for your own analysis. Times are in the workspace time zone; "within target" columns contain 1/0. Raw rows only include conversations & tickets you are allowed to see. The per-conversation & per-reply CSVs have a channel_type column at the end.
  • The same data is available through the API: GET /api/v1/kpi, /kpi/users/{id}, /kpi/me, with a channel_type parameter (see API).