SiteCallDevelopers

Team metrics

How quickly every caller and texter is answered.

SiteCall measures responsiveness per workspace-local day. GET /api/v1/metrics (scope metrics:read) reads any range of up to 366 days, per workspace, agent, queue or number, and three lists name the people still waiting.

Who sees what

The summary

QueryMeaning
dimensionworkspace, agent, queue, number (default workspace).
idOnly this dimension id.
toThe last local day, YYYY-MM-DD (default today in the workspace's time zone).
fromThe first local day; or
days1–366 days ending on the to day (default 7). Send from or days, not both.
limit, cursorPages in dimension-id order; a cursor belongs to its date range.
const week = await sitecall.metrics.summary({ dimension: "agent", days: 7 });
for (const row of week.data) {
  console.log(row.subject?.name, row.metrics.answer_rate, row.metrics.speed_to_answer_median_secs);
}

Each row names its subject (the workspace, a member or an application user with your externalUserId, a queue or a number) and carries every metric below under metrics. A value is null when there was nothing to measure; rates are 0–1 and durations seconds. refreshedAt is the stalest day's refresh.

Who is still waiting

ListOrderFilters
GET /api/v1/metrics/missed-offersNewest firstfrom, to, days, memberId
GET /api/v1/metrics/unreturned-callsLongest waiting firstfrom, to, days, phoneNumberId
GET /api/v1/metrics/awaiting-repliesLongest waiting firstphoneNumberId

Each list holds its first 500 entries and pages through them with the usual cursor. A phoneNumberId filter applies within those 500, so a busy workspace may see fewer rows for one number than it has. Waiting times count business hours only.

Metrics

KeyMetricUnitOn rows of
offersOffers. Calls offered to a person (a queue offer or a ring) that resolved: accepted, declined, missed or withdrawn.countworkspace, agent, queue, number
offers_acceptedAccepted offers. Offers the person answered.countworkspace, agent, queue, number
offers_declinedDeclined offers. Offers the person declined on their device.countworkspace, agent, queue, number
offers_missedMissed offers. Offers that rang out unanswered.countworkspace, agent, queue, number
offers_withdrawnWithdrawn offers. Offers that ended because someone else answered or the caller hung up; never counted as a miss.countworkspace, agent, queue, number
answer_rateAnswer rate. Answered offers ÷ offers made while the person was available (withdrawn offers left out).ratioworkspace, agent, queue, number
speed_to_answer_median_secsSpeed to answer (median). Median seconds from an offer reaching a person until that person answers.secondsworkspace, agent, queue, number
speed_to_answer_p90_secsSpeed to answer (p90). Nine in ten answered offers were answered within this many seconds.secondsworkspace, agent, queue, number
missed_callsMissed calls. Inbound calls from a dialable number that no person or AI answered, or that went to voicemail.countworkspace, number
missed_voicemailsVoicemails among missed calls. Missed calls where the caller left a voicemail.countworkspace, number
missed_returnedReturned. Missed calls followed by an outbound call or text to that number from anyone in the workspace.countworkspace, number
missed_reconnectedCaller got through. Missed calls whose caller called again and reached a person before anyone returned the call.countworkspace, number
missed_unreturnedUnreturned. Missed calls nobody has returned and whose caller has not reached anyone since.countworkspace, number
returned_15m_rateReturned within 15 min. Share of missed calls returned within 15 minutes of business time.ratioworkspace, number
returned_1h_rateReturned within 1 hour. Share of missed calls returned within 1 hour of business time.ratioworkspace, number
returned_same_day_rateReturned the same business day. Share of missed calls returned before the close of the business day they came in (the next business day after hours).ratioworkspace, number
return_median_secsReturn time (median). Median business-hours time from a missed call or voicemail to the first call or text back.secondsworkspace, number
return_p90_secsReturn time (p90). Nine in ten returned calls were returned within this much business time.secondsworkspace, number
text_waitsTexts waiting for a reply. Inbound texts that started a wait for a reply; on an agent's row, the waits that agent answered first.countworkspace, agent, number
text_repliedTexts replied. Waits a person replied to; an agent is credited with the replies they sent first.countworkspace, agent, number
text_response_median_secsText first response (median). Median business-hours time from an inbound text to the first human reply in that thread.secondsworkspace, agent, number
text_response_p90_secsText first response (p90). Nine in ten replied texts got their first human reply within this much business time.secondsworkspace, agent, number
voicemailsVoicemails. Voicemails left.countworkspace, number
voicemails_heardVoicemails heard. Voicemails someone has listened to.countworkspace, number
voicemail_pickup_median_secsVoicemail pickup (median). Median business-hours time from a voicemail arriving to its first listen.secondsworkspace, number
voicemail_pickup_p90_secsVoicemail pickup (p90). Nine in ten heard voicemails were first heard within this much business time.secondsworkspace, number
queue_offeredQueue calls. Calls that entered a queue and were answered, abandoned or overflowed, or are still waiting past the target; callbacks left out.countworkspace, queue, number
queue_answeredQueue calls answered. Queue calls a person answered.countworkspace, queue, number
queue_answered_in_targetAnswered in target. Queue calls answered within the queue's target (20 seconds unless the queue sets one).countworkspace, queue, number
queue_abandonedAbandoned. Queue calls whose caller hung up while waiting.countworkspace, queue, number
queue_overflowedOverflowed. Queue calls that waited past the queue's maximum and moved on (voicemail or the next step).countworkspace, queue, number
queue_callbacksCallbacks requested. Callers who left the line asking to be called back.countworkspace, queue, number
service_levelService level. Queue calls answered in target ÷ queue calls.ratioworkspace, queue, number
abandon_rateAbandon rate. Abandoned queue calls ÷ queue calls.ratioworkspace, queue, number
queue_average_wait_secsAverage wait. Average seconds a caller waited in the queue before being answered, hanging up or overflowing.secondsworkspace, queue, number
queue_longest_wait_secsLongest wait. The longest any caller waited in the queue.secondsworkspace, queue, number
queue_target_secsAnswer target. The queue's service-level threshold: calls answered within it count as in target.secondsqueue
queue_goal_pctService level goal. The percent of queue calls the queue aims to answer in target (80 unless it sets one).percentqueue
available_secsTime available. Time signed in as Available and free to take a call.secondsworkspace, agent
offered_secsTime ringing. Time a queue offer was ringing the person.secondsworkspace, agent
on_call_secsTime on calls. Time on a call, from the agent state log.secondsworkspace, agent
wrap_up_state_secsTime in wrap-up. Time in wrap-up after calls, from the agent state log.secondsworkspace, agent
away_secsTime away. Time set to Away (by the person, or after a missed offer).secondsworkspace, agent
offline_secsTime offline. Time signed out or offline.secondsworkspace, agent
occupancyOccupancy. Time on calls ÷ time available (available, ringing, on a call or in wrap-up).ratioworkspace, agent
calls_handledCalls handled. Inbound calls a person answered and finished (each person who answered a transferred call counts it).countworkspace, agent, queue, number
average_handle_secsAverage handle time. Talk + hold + wrap-up per answered call.secondsworkspace, agent, queue, number
talk_secsTalk time. Time connected on answered calls, less time on hold.secondsworkspace, agent, queue, number
hold_secsHold time. Total time answered calls spent on hold, from device-reported and server hold and resume.secondsworkspace, agent, queue, number
hold_per_call_secsHold per call. Hold time ÷ answered calls.secondsworkspace, agent, queue, number
held_callsCalls put on hold. Answered calls with any hold.countworkspace, agent, queue, number
wrap_up_secsWrap-up time. Wrap-up time after answered calls.secondsworkspace, agent, queue, number
calls_transferredTransferred. Answered calls the person handed on: a blind or completed warm transfer; refused requests do not count.countworkspace, agent, queue, number
transfer_rateTransfer rate. Answered calls transferred out ÷ answered calls.ratioworkspace, agent, queue, number
outbound_callsCalls placed. Outbound calls placed.countworkspace, agent, number
outbound_connectedCalls connected. Outbound calls the other side answered.countworkspace, agent, number
connect_rateConnect rate. Outbound calls connected ÷ outbound calls placed.ratioworkspace, agent, number
outbound_textsTexts sent. Texts a person sent.countworkspace, agent, number
inbound_callsInbound calls. Inbound calls that came in and ended.countworkspace, queue, number
inbound_answeredInbound answered. Inbound calls a person answered.countworkspace, agent, queue, number
repeat_calls_48hRepeat callers. Answered calls whose caller called again within 48 hours (a sign the issue was not resolved).countworkspace, agent, queue, number
repeat_caller_rateRepeat-caller rate. Repeat callers ÷ inbound calls answered.ratioworkspace, agent, queue, number
sentiment_callsCalls with sentiment. Answered calls the existing call analysis rated (no extra AI is run for metrics).countworkspace, agent, queue, number
sentiment_averageAverage customer sentiment. Average caller sentiment on rated calls, from -1 (negative) through 0 (neutral) to 1 (positive).scoreworkspace, agent, queue, number
negative_callsCalls flagged negative. Answered calls whose caller sentiment was negative.countworkspace, agent, queue, number
ai_callsAI-handled calls. Inbound calls the AI answered.countworkspace, queue, number
ai_handoffsAI handoffs. AI-answered calls a person took over afterwards.countworkspace, queue, number
ai_shareAI-handled share. AI-handled calls ÷ inbound calls.ratioworkspace, queue, number

More keys may appear within /v1: read the ones you know and ignore the rest.