# Timeline Call Analytics

`ringcentral_timeline-call-analytics` · RingCentral MCP tool · Analytics

Fetch time-series call-volume/duration analytics for the RingCentral account, bucketed by hour/day/week/month and grouped by company, users, queues, sites, or another dimension, over a date-time window. Read-only.

## RingCentral Frequently Asked Questions

**What does the Timeline Call Analytics tool do?**

This page documents the Timeline Call Analytics tool (`ringcentral_timeline-call-analytics`). Fetch time-series call-volume/duration analytics for the RingCentral account, bucketed by hour/day/week/month and grouped by company, users, queues, sites, or another dimension, over a date-time window. Read-only. It is one of the RingCentral Analytics tools, invoked through your firm's Weave MCP connection and available to members whose access level permits it.

**What is the RingCentral integration?**

The RingCentral integration connects your firm's RingCentral account to Weave. RingCentral (RingEX) is a cloud phone/UCaaS platform. This integration exposes read-only call log, call analytics, recordings, directory, extension, and account diagnostics data as governed MCP tools, scoped per member by access level. It groups 17 tools into 5 categories, exposed through your firm's Weave MCP connection and filtered per member by access level.

## Input

- **interval** `string` (required, enum: "Hour", "Day", "Week", "Month") — Time-series bucket width. Must be strictly smaller than the report's `timeSettings.timeRange` — RingCentral rejects an interval that doesn't fit into the range with 400 ANL-305.
- **page** `integer` (>= 1) — Which results page to fetch (1-based). Omit for the first page.
- **perPage** `integer` (>= 1, <= 20) — Records per page (max 20). Omit for the RingCentral default.
- **grouping** `object` (required) — How to group the time-series: a fixed dimension via `groupBy`, or a member scope via `groupByMembers`, optionally narrowed to specific entity ids via `keys`.
- **timeSettings** `object` (required) — The report's date-time window and timezone. `timeSettings.timeRange.timeTo` must not be in the future — RingCentral rejects it with 400 ANL-302.
  - **timeZone** `string` (required) — IANA time zone name applied to `advancedTimeSettings` and aggregation intervals, e.g. 'America/Los_Angeles', 'US/Pacific'. Does not shift `timeRange`, which already carries its own UTC offset.
  - **timeRange** `object` (required) — The report's date-time window.
    - **timeFrom** `string` (required) — Start of the report window, RFC 3339 date-time (inclusive), e.g. '2026-08-03T00:00:00.000Z'.
    - **timeTo** `string` (required) — End of the report window, RFC 3339 date-time (inclusive). Must not be in the future — RingCentral rejects a future `timeTo` with 400 ANL-302.
  - **advancedTimeSettings** `object` — Optional finer-grained day/hour filters layered on top of `timeRange`.
    - **includeDays** `array` — Restrict the report to these days of the week only.
      - **[]** `string` (enum: "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")
    - **includeHours** `array` — Restrict the report to these clock-time windows only.
      - **[]** `object`
        - **from** `string` (required) — Start of the interval, `hh:mm` (inclusive).
        - **to** `string` (required) — End of the interval, `hh:mm` (inclusive).
- **callFilters** `object` — Optional filters narrowing which calls are included in the time-series.
  - **extensionFilters** `object` — Narrow by the extensions that received/placed the call.
    - **fromIds** `array` — Match calls incoming to any of these extension ids (OR).
      - **[]** `string`
    - **toIds** `array` — Match calls outgoing to any of these extension ids (OR).
      - **[]** `string`
  - **queues** `array` — Only calls routed through one of these queue extension ids.
    - **[]** `string`
  - **calledNumbers** `array` — Only calls to one of these direct company numbers.
    - **[]** `string`
  - **directions** `array` — Only calls in one of these directions.
    - **[]** `string` (enum: "Inbound", "Outbound")
  - **origins** `array` — Only calls whose initial segment had/lacked an external party.
    - **[]** `string` (enum: "Internal", "External")
  - **callResponses** `array` — Only calls with one of these first-response outcomes.
    - **[]** `string` (enum: "Answered", "NotAnswered", "Connected", "NotConnected")
  - **callResults** `array` — Only calls with one of these overall results.
    - **[]** `string` (enum: "Completed", "Abandoned", "Voicemail", "Unknown", "Missed", "Accepted")
  - **callSegments** `array` — Only calls that contain one of these segments.
    - **[]** `object`
      - **segment** `string` (required, enum: "Ringing", "LiveTalk", "Hold", "Park", "Transfer", "IvrPrompt", "Voicemail", "VmGreeting", "Setup") — The call segment that must be present.
      - **length** `object` — Optional duration bound on that segment.
        - **minSeconds** `integer` — Lower bound, in seconds (inclusive).
        - **maxSeconds** `integer` — Upper bound, in seconds (inclusive).
  - **callActions** `array` — Only calls that contain one of these actions.
    - **[]** `string` (enum: "HoldOff", "HoldOn", "ParkOn", "ParkOff", "BlindTransfer", "WarmTransfer", "DTMFTransfer")
  - **companyHours** `array` — Only calls placed inside/outside company business hours.
    - **[]** `string` (enum: "BusinessHours", "AfterHours")
  - **callDuration** `object` — Only calls within this total-length range.
    - **minSeconds** `integer` — Lower bound, in seconds (inclusive).
    - **maxSeconds** `integer` — Upper bound, in seconds (inclusive).
  - **timeSpent** `object` — Only calls where the specified mailbox(es) spent this much time on the call.
    - **minSeconds** `integer` — Lower bound, in seconds (inclusive).
    - **maxSeconds** `integer` — Upper bound, in seconds (inclusive).
  - **queueSla** `array` — Only queue calls that were in/out of SLA (Queues grouping only).
    - **[]** `string` (enum: "InSla", "OutSla")
  - **callTypes** `array` — Only calls of one of these types.
    - **[]** `string` (enum: "Direct", "FromQueue", "ParkRetrieval", "Transferred", "Outbound", "Overflow")
- **responseOptions** `object` (required) — Which counter/timer time-series to include in each point.
  - **counters** `object` — Call-count time-series to include.
    - **allCalls** `boolean` — Include the total call count per time point.
    - **callsByDirection** `boolean` — Include call count by direction per time point.
    - **callsByOrigin** `boolean` — Include call count by origin per time point.
    - **callsByResponse** `boolean` — Include call count by first response per time point.
    - **callsSegments** `boolean` — Include call count by segment per time point.
    - **callsByResult** `boolean` — Include call count by result per time point.
    - **callsByCompanyHours** `boolean` — Include call count by company hours per time point.
    - **callsByQueueSla** `boolean` — Include call count by queue SLA per time point (Queues grouping only).
    - **callsByActions** `boolean` — Include call count by action per time point.
    - **callsByType** `boolean` — Include call count by type per time point.
    - **queueOpportunities** `boolean` — Include queue-opportunity count per time point. Limited to `Users`/member (Department, Queue, Site, UserGroup) grouping.
  - **timers** `object` — Call-duration time-series to include.
    - **allCallsDuration** `boolean` — Include total call duration per time point.
    - **callsDurationByDirection** `boolean` — Include call duration by direction per time point.
    - **callsDurationByOrigin** `boolean` — Include call duration by origin per time point.
    - **callsDurationByResponse** `boolean` — Include call duration by first response per time point.
    - **callsSegmentsDuration** `boolean` — Include call duration by segment per time point.
    - **callsDurationByResult** `boolean` — Include call duration by result per time point.
    - **callsDurationByCompanyHours** `boolean` — Include call duration by company hours per time point.
    - **callsDurationByQueueSla** `boolean` — Include call duration by queue SLA per time point (Queues grouping only).
    - **callsDurationByType** `boolean` — Include call duration by type per time point.

## Output

- **paging** `object` (required) — Pagination metadata for `data.records`.
  - **page** `integer` (required) — The current page number.
  - **perPage** `integer` (required) — Items displayed per page.
  - **totalPages** `integer` (required) — Total number of pages in the result set.
  - **totalElements** `integer` (required) — Total number of items in the result set.
- **data** `object` (required) — Timeline result (rc-platform.yml `TimelineResponseData` ~L42129–42141).
  - **groupedBy** `string` (required, enum: "Company", "CompanyNumbers", "Users", "Queues", "IVRs", "SharedLines", "UserGroups", "Sites", "Departments") — The grouping dimension actually applied.
  - **records** `array` — One time-series per grouping key.
    - **[]** `object`
      - **key** `string` (required) — The grouping key (e.g. account id, extension id).
      - **info** `object` — Human-readable label for `key`.
        - **extensionNumber** `string` — The extension number, when the key is one.
        - **name** `string` — Display name for the grouping key.
      - **points** `array` — The requested time-value points for this grouping key.
        - **[]** `object`
          - **time** `string` (required) — The time-series bucket start, RFC 3339 date-time.
          - **timers** `object` — Requested call-duration breakdowns.
            - **allCalls** `object` — Total call duration.
              - **valueType** `string` (required, enum: "Percent", "Seconds", "Instances") — Unit of `values` (instances, seconds, or percent).
              - **values** `number` (required) — Aggregated value for all calls.
            - **callsByDirection** `object` — Call duration by direction.
              - **valueType** `string` (required, enum: "Percent", "Seconds", "Instances") — Unit of each value in `values`.
              - **values** `object` (required) — Breakdown by call direction.
                - **inbound** `number` (required) — Value for inbound calls.
                - **outbound** `number` (required) — Value for outbound calls.
            - **callsByOrigin** `object` — Call duration by origin.
              - **valueType** `string` (required, enum: "Percent", "Seconds", "Instances") — Unit of each value in `values`.
              - **values** `object` (required) — Breakdown by call origin.
                - **internal** `number` (required) — Value for internal-origin calls.
                - **external** `number` (required) — Value for external-origin calls.
            - **callsByResponse** `object` — Call duration by first response.
              - **valueType** `string` (required, enum: "Percent", "Seconds", "Instances") — Unit of each value in `values`.
              - **values** `object` (required) — Breakdown by first-response outcome.
                - **answered** `number` (required) — Value for answered calls.
                - **notAnswered** `number` (required) — Value for unanswered calls.
                - **connected** `number` (required) — Value for connected calls.
                - **notConnected** `number` (required) — Value for unconnected calls.
            - **callsSegments** `object` — Call duration by segment.
              - **valueType** `string` (required, enum: "Percent", "Seconds", "Instances") — Unit of each value in `values`.
              - **values** `object` (required) — Breakdown by call segment.
                - **ringing** `number` (required) — Value for the ringing segment.
                - **liveTalk** `number` (required) — Value for the live-talk segment.
                - **hold** `number` (required) — Value for the hold segment.
                - **park** `number` (required) — Value for the park segment.
                - **transfer** `number` (required) — Value for the transfer segment.
                - **ivrPrompt** `number` (required) — Value for the IVR-prompt segment.
                - **voicemail** `number` (required) — Value for the voicemail segment.
                - **vmGreeting** `number` (required) — Value for the voicemail-greeting segment.
                - **setup** `number` (required) — Value for the call-setup segment.
            - **callsByResult** `object` — Call duration by result.
              - **valueType** `string` (required, enum: "Percent", "Seconds", "Instances") — Unit of each value in `values`.
              - **values** `object` (required) — Breakdown by call result.
                - **completed** `number` (required) — Value for completed calls.
                - **abandoned** `number` (required) — Value for abandoned calls.
                - **voicemail** `number` (required) — Value for calls that went to voicemail.
                - **missed** `number` (required) — Value for missed calls.
                - **accepted** `number` (required) — Value for accepted calls.
                - **unknown** `number` (required) — Value for calls of unknown result.
                - **transferred** `number` — Value for transferred calls (live-observed, undocumented in the spec component).
                - **pickedUp** `number` — Value for calls picked up elsewhere (live-observed, undocumented).
                - **answeredElsewhere** `number` — Value for calls answered on another device (live-observed, undocumented).
                - **forwarded** `number` — Value for forwarded calls (live-observed, undocumented).
            - **callsByCompanyHours** `object` — Call duration by company hours.
              - **valueType** `string` (required, enum: "Percent", "Seconds", "Instances") — Unit of each value in `values`.
              - **values** `object` (required) — Breakdown by company hours.
                - **businessHours** `number` (required) — Value during company business hours.
                - **afterHours** `number` (required) — Value outside company business hours.
            - **callsByQueueSla** `object` — Call duration by queue SLA.
              - **valueType** `string` (required, enum: "Percent", "Seconds", "Instances") — Unit of each value in `values`.
              - **values** `object` (required) — Breakdown by queue SLA (Queues grouping only).
                - **inSla** `number` (required) — Value for calls within queue SLA.
                - **outOfSla** `number` (required) — Value for calls outside queue SLA.
            - **callsByType** `object` — Call duration by type.
              - **valueType** `string` (required, enum: "Percent", "Seconds", "Instances") — Unit of each value in `values`.
              - **values** `object` (required) — Breakdown by call type.
                - **direct** `number` (required) — Value for direct calls.
                - **fromQueue** `number` (required) — Value for calls routed from a queue.
                - **parkRetrieval** `number` (required) — Value for park-retrieval calls.
                - **transferred** `number` (required) — Value for transferred calls.
                - **outbound** `number` (required) — Value for outbound calls.
                - **overflow** `number` (required) — Value for overflow calls.
          - **counters** `object` — Requested call-count breakdowns.
            - **allCalls** `object` — Total call count.
              - **valueType** `string` (required, enum: "Percent", "Seconds", "Instances") — Unit of `values` (instances, seconds, or percent).
              - **values** `number` (required) — Aggregated value for all calls.
            - **callsByDirection** `object` — Call count by direction.
              - **valueType** `string` (required, enum: "Percent", "Seconds", "Instances") — Unit of each value in `values`.
              - **values** `object` (required) — Breakdown by call direction.
                - **inbound** `number` (required) — Value for inbound calls.
                - **outbound** `number` (required) — Value for outbound calls.
            - **callsByOrigin** `object` — Call count by origin.
              - **valueType** `string` (required, enum: "Percent", "Seconds", "Instances") — Unit of each value in `values`.
              - **values** `object` (required) — Breakdown by call origin.
                - **internal** `number` (required) — Value for internal-origin calls.
                - **external** `number` (required) — Value for external-origin calls.
            - **callsByResponse** `object` — Call count by first response.
              - **valueType** `string` (required, enum: "Percent", "Seconds", "Instances") — Unit of each value in `values`.
              - **values** `object` (required) — Breakdown by first-response outcome.
                - **answered** `number` (required) — Value for answered calls.
                - **notAnswered** `number` (required) — Value for unanswered calls.
                - **connected** `number` (required) — Value for connected calls.
                - **notConnected** `number` (required) — Value for unconnected calls.
            - **callsSegments** `object` — Call count by segment.
              - **valueType** `string` (required, enum: "Percent", "Seconds", "Instances") — Unit of each value in `values`.
              - **values** `object` (required) — Breakdown by call segment.
                - **ringing** `number` (required) — Value for the ringing segment.
                - **liveTalk** `number` (required) — Value for the live-talk segment.
                - **hold** `number` (required) — Value for the hold segment.
                - **park** `number` (required) — Value for the park segment.
                - **transfer** `number` (required) — Value for the transfer segment.
                - **ivrPrompt** `number` (required) — Value for the IVR-prompt segment.
                - **voicemail** `number` (required) — Value for the voicemail segment.
                - **vmGreeting** `number` (required) — Value for the voicemail-greeting segment.
                - **setup** `number` (required) — Value for the call-setup segment.
            - **callsByResult** `object` — Call count by result.
              - **valueType** `string` (required, enum: "Percent", "Seconds", "Instances") — Unit of each value in `values`.
              - **values** `object` (required) — Breakdown by call result.
                - **completed** `number` (required) — Value for completed calls.
                - **abandoned** `number` (required) — Value for abandoned calls.
                - **voicemail** `number` (required) — Value for calls that went to voicemail.
                - **missed** `number` (required) — Value for missed calls.
                - **accepted** `number` (required) — Value for accepted calls.
                - **unknown** `number` (required) — Value for calls of unknown result.
                - **transferred** `number` — Value for transferred calls (live-observed, undocumented in the spec component).
                - **pickedUp** `number` — Value for calls picked up elsewhere (live-observed, undocumented).
                - **answeredElsewhere** `number` — Value for calls answered on another device (live-observed, undocumented).
                - **forwarded** `number` — Value for forwarded calls (live-observed, undocumented).
            - **callsActions** `object` — Call count by action.
              - **valueType** `string` (required, enum: "Percent", "Seconds", "Instances") — Unit of each value in `values`.
              - **values** `object` (required) — Breakdown by call action.
                - **parkOn** `number` (required) — Value for the ParkOn action.
                - **parkOff** `number` (required) — Value for the ParkOff action.
                - **holdOn** `number` (required) — Value for the HoldOn action.
                - **holdOff** `number` (required) — Value for the HoldOff action.
                - **blindTransfer** `number` (required) — Value for the BlindTransfer action.
                - **warmTransfer** `number` (required) — Value for the WarmTransfer action.
                - **dtmfTransfer** `number` (required) — Value for the DTMFTransfer action.
            - **callsByCompanyHours** `object` — Call count by company hours.
              - **valueType** `string` (required, enum: "Percent", "Seconds", "Instances") — Unit of each value in `values`.
              - **values** `object` (required) — Breakdown by company hours.
                - **businessHours** `number` (required) — Value during company business hours.
                - **afterHours** `number` (required) — Value outside company business hours.
            - **callsByQueueSla** `object` — Call count by queue SLA.
              - **valueType** `string` (required, enum: "Percent", "Seconds", "Instances") — Unit of each value in `values`.
              - **values** `object` (required) — Breakdown by queue SLA (Queues grouping only).
                - **inSla** `number` (required) — Value for calls within queue SLA.
                - **outOfSla** `number` (required) — Value for calls outside queue SLA.
            - **callsByType** `object` — Call count by type.
              - **valueType** `string` (required, enum: "Percent", "Seconds", "Instances") — Unit of each value in `values`.
              - **values** `object` (required) — Breakdown by call type.
                - **direct** `number` (required) — Value for direct calls.
                - **fromQueue** `number` (required) — Value for calls routed from a queue.
                - **parkRetrieval** `number` (required) — Value for park-retrieval calls.
                - **transferred** `number` (required) — Value for transferred calls.
                - **outbound** `number` (required) — Value for outbound calls.
                - **overflow** `number` (required) — Value for overflow calls.
            - **queueOpportunities** `object` — Count of queue opportunities presented to the user.
              - **valueType** `string` (required, enum: "Percent", "Seconds", "Instances") — Unit of `values` (typically instances).
              - **values** `number` (required) — Aggregated value for queue opportunities.
