View as .md ↗
RingCentral

RingCentral

MCP server · Communications · ringcentral.com · 5 categories · 17 tools

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.

Aggregate Call Analytics (ringcentral_aggregate-call-analytics)

Fetch aggregated call-volume/duration analytics for the RingCentral account, grouped by company, users, queues, sites, or another dimension, over a date-time window. Read-only.

Tool Input

pageinteger— Which results page to fetch (1-based). Omit for the first page.(>= 1)
perPageinteger— Records per page (max 200). Omit for the RingCentral default.(>= 1, <= 200)
groupingobjectrequired— How to group the aggregated calls: a fixed dimension via `groupBy`, or a member scope via `groupByMembers`, optionally narrowed to specific entity ids via `keys`.
timeSettingsobjectrequired— The report's date-time window and timezone.
timeZonestringrequired— 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.
timeRangeobjectrequired— The report's date-time window.
timeFromstringrequired— Start of the report window, RFC 3339 date-time (inclusive), e.g. '2026-08-03T00:00:00.000Z'.
timeTostringrequired— 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.
advancedTimeSettingsobject— Optional finer-grained day/hour filters layered on top of `timeRange`.
includeDaysarray— Restrict the report to these days of the week only.
1 field
[]string(enum: "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")
includeHoursarray— Restrict the report to these clock-time windows only.
1 field
[]object
2 fields
fromstringrequired— Start of the interval, `hh:mm` (inclusive).
tostringrequired— End of the interval, `hh:mm` (inclusive).
callFiltersobject— Optional filters narrowing which calls are included in the aggregation.
extensionFiltersobject— Narrow by the extensions that received/placed the call.
fromIdsarray— Match calls incoming to any of these extension ids (OR).
1 field
[]string
toIdsarray— Match calls outgoing to any of these extension ids (OR).
1 field
[]string
queuesarray— Only calls routed through one of these queue extension ids.
[]string
calledNumbersarray— Only calls to one of these direct company numbers.
[]string
directionsarray— Only calls in one of these directions.
[]string(enum: "Inbound", "Outbound")
originsarray— Only calls whose initial segment had/lacked an external party.
[]string(enum: "Internal", "External")
callResponsesarray— Only calls with one of these first-response outcomes.
[]string(enum: "Answered", "NotAnswered", "Connected", "NotConnected")
callResultsarray— Only calls with one of these overall results.
[]string(enum: "Completed", "Abandoned", "Voicemail", "Unknown", "Missed", "Accepted")
callSegmentsarray— Only calls that contain one of these segments.
[]object
2 fields
segmentstringrequired— The call segment that must be present.(enum: "Ringing", "LiveTalk", "Hold", "Park", "Transfer", "IvrPrompt", "Voicemail", "VmGreeting", "Setup")
lengthobject— Optional duration bound on that segment.
2 fields
minSecondsinteger— Lower bound, in seconds (inclusive).
maxSecondsinteger— Upper bound, in seconds (inclusive).
callActionsarray— Only calls that contain one of these actions.
[]string(enum: "HoldOff", "HoldOn", "ParkOn", "ParkOff", "BlindTransfer", "WarmTransfer", "DTMFTransfer")
companyHoursarray— Only calls placed inside/outside company business hours.
[]string(enum: "BusinessHours", "AfterHours")
callDurationobject— Only calls within this total-length range.
minSecondsinteger— Lower bound, in seconds (inclusive).
maxSecondsinteger— Upper bound, in seconds (inclusive).
timeSpentobject— Only calls where the specified mailbox(es) spent this much time on the call.
minSecondsinteger— Lower bound, in seconds (inclusive).
maxSecondsinteger— Upper bound, in seconds (inclusive).
queueSlaarray— Only queue calls that were in/out of SLA (Queues grouping only).
[]string(enum: "InSla", "OutSla")
callTypesarray— Only calls of one of these types.
[]string(enum: "Direct", "FromQueue", "ParkRetrieval", "Transferred", "Outbound", "Overflow")
responseOptionsobjectrequired— Which counters/timers to compute and how to aggregate each.
countersobject— Call-count breakdowns to compute.
allCallsobject— Compute the total call count.
2 fields
aggregationTypestringrequired— How to aggregate this counter/timer. `Sum`/`Percent` ignore `aggregationInterval`; `Min`/`Max`/`Average` require it.(enum: "Sum", "Average", "Max", "Min", "Percent")
aggregationIntervalstring— Bucket width for `Min`/`Max`/`Average` aggregation; unsupported for `Sum`/`Percent`.(enum: "Hour", "Day", "Week", "Month")
callsByDirectionobject— Compute call count by direction.
2 fields
aggregationTypestringrequired— How to aggregate this counter/timer. `Sum`/`Percent` ignore `aggregationInterval`; `Min`/`Max`/`Average` require it.(enum: "Sum", "Average", "Max", "Min", "Percent")
aggregationIntervalstring— Bucket width for `Min`/`Max`/`Average` aggregation; unsupported for `Sum`/`Percent`.(enum: "Hour", "Day", "Week", "Month")
callsByOriginobject— Compute call count by origin.
2 fields
aggregationTypestringrequired— How to aggregate this counter/timer. `Sum`/`Percent` ignore `aggregationInterval`; `Min`/`Max`/`Average` require it.(enum: "Sum", "Average", "Max", "Min", "Percent")
aggregationIntervalstring— Bucket width for `Min`/`Max`/`Average` aggregation; unsupported for `Sum`/`Percent`.(enum: "Hour", "Day", "Week", "Month")
callsByResponseobject— Compute call count by first response.
2 fields
aggregationTypestringrequired— How to aggregate this counter/timer. `Sum`/`Percent` ignore `aggregationInterval`; `Min`/`Max`/`Average` require it.(enum: "Sum", "Average", "Max", "Min", "Percent")
aggregationIntervalstring— Bucket width for `Min`/`Max`/`Average` aggregation; unsupported for `Sum`/`Percent`.(enum: "Hour", "Day", "Week", "Month")
callsSegmentsobject— Compute call count by segment.
2 fields
aggregationTypestringrequired— How to aggregate this counter/timer. `Sum`/`Percent` ignore `aggregationInterval`; `Min`/`Max`/`Average` require it.(enum: "Sum", "Average", "Max", "Min", "Percent")
aggregationIntervalstring— Bucket width for `Min`/`Max`/`Average` aggregation; unsupported for `Sum`/`Percent`.(enum: "Hour", "Day", "Week", "Month")
callsByResultobject— Compute call count by result.
2 fields
aggregationTypestringrequired— How to aggregate this counter/timer. `Sum`/`Percent` ignore `aggregationInterval`; `Min`/`Max`/`Average` require it.(enum: "Sum", "Average", "Max", "Min", "Percent")
aggregationIntervalstring— Bucket width for `Min`/`Max`/`Average` aggregation; unsupported for `Sum`/`Percent`.(enum: "Hour", "Day", "Week", "Month")
callsByCompanyHoursobject— Compute call count by company hours.
2 fields
aggregationTypestringrequired— How to aggregate this counter/timer. `Sum`/`Percent` ignore `aggregationInterval`; `Min`/`Max`/`Average` require it.(enum: "Sum", "Average", "Max", "Min", "Percent")
aggregationIntervalstring— Bucket width for `Min`/`Max`/`Average` aggregation; unsupported for `Sum`/`Percent`.(enum: "Hour", "Day", "Week", "Month")
callsByQueueSlaobject— Compute call count by queue SLA (Queues grouping only).
2 fields
aggregationTypestringrequired— How to aggregate this counter/timer. `Sum`/`Percent` ignore `aggregationInterval`; `Min`/`Max`/`Average` require it.(enum: "Sum", "Average", "Max", "Min", "Percent")
aggregationIntervalstring— Bucket width for `Min`/`Max`/`Average` aggregation; unsupported for `Sum`/`Percent`.(enum: "Hour", "Day", "Week", "Month")
callsByActionsobject— Compute call count by action.
2 fields
aggregationTypestringrequired— How to aggregate this counter/timer. `Sum`/`Percent` ignore `aggregationInterval`; `Min`/`Max`/`Average` require it.(enum: "Sum", "Average", "Max", "Min", "Percent")
aggregationIntervalstring— Bucket width for `Min`/`Max`/`Average` aggregation; unsupported for `Sum`/`Percent`.(enum: "Hour", "Day", "Week", "Month")
callsByTypeobject— Compute call count by type.
2 fields
aggregationTypestringrequired— How to aggregate this counter/timer. `Sum`/`Percent` ignore `aggregationInterval`; `Min`/`Max`/`Average` require it.(enum: "Sum", "Average", "Max", "Min", "Percent")
aggregationIntervalstring— Bucket width for `Min`/`Max`/`Average` aggregation; unsupported for `Sum`/`Percent`.(enum: "Hour", "Day", "Week", "Month")
queueOpportunitiesobject— Compute queue-opportunity count. Limited to `Users`/member (Department, Queue, Site, UserGroup) grouping.
1 field
aggregationTypestringrequired— Only `Sum` is supported for queue opportunities.(enum: "Sum")
timersobject— Call-duration breakdowns to compute.
allCallsDurationobject— Compute the total call duration.
2 fields
aggregationTypestringrequired— How to aggregate this counter/timer. `Sum`/`Percent` ignore `aggregationInterval`; `Min`/`Max`/`Average` require it.(enum: "Sum", "Average", "Max", "Min", "Percent")
aggregationIntervalstring— Bucket width for `Min`/`Max`/`Average` aggregation; unsupported for `Sum`/`Percent`.(enum: "Hour", "Day", "Week", "Month")
callsDurationByDirectionobject— Compute call duration by direction.
2 fields
aggregationTypestringrequired— How to aggregate this counter/timer. `Sum`/`Percent` ignore `aggregationInterval`; `Min`/`Max`/`Average` require it.(enum: "Sum", "Average", "Max", "Min", "Percent")
aggregationIntervalstring— Bucket width for `Min`/`Max`/`Average` aggregation; unsupported for `Sum`/`Percent`.(enum: "Hour", "Day", "Week", "Month")
callsDurationByOriginobject— Compute call duration by origin.
2 fields
aggregationTypestringrequired— How to aggregate this counter/timer. `Sum`/`Percent` ignore `aggregationInterval`; `Min`/`Max`/`Average` require it.(enum: "Sum", "Average", "Max", "Min", "Percent")
aggregationIntervalstring— Bucket width for `Min`/`Max`/`Average` aggregation; unsupported for `Sum`/`Percent`.(enum: "Hour", "Day", "Week", "Month")
callsDurationByResponseobject— Compute call duration by first response.
2 fields
aggregationTypestringrequired— How to aggregate this counter/timer. `Sum`/`Percent` ignore `aggregationInterval`; `Min`/`Max`/`Average` require it.(enum: "Sum", "Average", "Max", "Min", "Percent")
aggregationIntervalstring— Bucket width for `Min`/`Max`/`Average` aggregation; unsupported for `Sum`/`Percent`.(enum: "Hour", "Day", "Week", "Month")
callsSegmentsDurationobject— Compute call duration by segment.
2 fields
aggregationTypestringrequired— How to aggregate this counter/timer. `Sum`/`Percent` ignore `aggregationInterval`; `Min`/`Max`/`Average` require it.(enum: "Sum", "Average", "Max", "Min", "Percent")
aggregationIntervalstring— Bucket width for `Min`/`Max`/`Average` aggregation; unsupported for `Sum`/`Percent`.(enum: "Hour", "Day", "Week", "Month")
callsDurationByResultobject— Compute call duration by result.
2 fields
aggregationTypestringrequired— How to aggregate this counter/timer. `Sum`/`Percent` ignore `aggregationInterval`; `Min`/`Max`/`Average` require it.(enum: "Sum", "Average", "Max", "Min", "Percent")
aggregationIntervalstring— Bucket width for `Min`/`Max`/`Average` aggregation; unsupported for `Sum`/`Percent`.(enum: "Hour", "Day", "Week", "Month")
callsDurationByCompanyHoursobject— Compute call duration by company hours.
2 fields
aggregationTypestringrequired— How to aggregate this counter/timer. `Sum`/`Percent` ignore `aggregationInterval`; `Min`/`Max`/`Average` require it.(enum: "Sum", "Average", "Max", "Min", "Percent")
aggregationIntervalstring— Bucket width for `Min`/`Max`/`Average` aggregation; unsupported for `Sum`/`Percent`.(enum: "Hour", "Day", "Week", "Month")
callsDurationByQueueSlaobject— Compute call duration by queue SLA (Queues grouping only).
2 fields
aggregationTypestringrequired— How to aggregate this counter/timer. `Sum`/`Percent` ignore `aggregationInterval`; `Min`/`Max`/`Average` require it.(enum: "Sum", "Average", "Max", "Min", "Percent")
aggregationIntervalstring— Bucket width for `Min`/`Max`/`Average` aggregation; unsupported for `Sum`/`Percent`.(enum: "Hour", "Day", "Week", "Month")
callsDurationByTypeobject— Compute call duration by type.
2 fields
aggregationTypestringrequired— How to aggregate this counter/timer. `Sum`/`Percent` ignore `aggregationInterval`; `Min`/`Max`/`Average` require it.(enum: "Sum", "Average", "Max", "Min", "Percent")
aggregationIntervalstring— Bucket width for `Min`/`Max`/`Average` aggregation; unsupported for `Sum`/`Percent`.(enum: "Hour", "Day", "Week", "Month")

Tool Output

pagingobjectrequired— Pagination metadata for `data.records`.
pageintegerrequired— The current page number.
perPageintegerrequired— Items displayed per page.
totalPagesintegerrequired— Total number of pages in the result set.
totalElementsintegerrequired— Total number of items in the result set.
dataobjectrequired— Aggregation result (rc-platform.yml `AggregationResponseData` ~L41567–41579).
groupedBystringrequired— The grouping dimension actually applied.(enum: "Company", "CompanyNumbers", "Users", "Queues", "IVRs", "SharedLines", "UserGroups", "Sites", "Departments")
recordsarray— One aggregation result per grouping key.
[]object
4 fields
keystringrequired— The grouping key (e.g. account id, extension id).
infoobject— Human-readable label for `key`.
2 fields
extensionNumberstring— The extension number, when the key is one.
namestring— Display name for the grouping key.
timersobject— Requested call-duration breakdowns.
9 fields
allCallsobject— Total call duration.
2 fields
valueTypestringrequired— Unit of `values` (instances, seconds, or percent).(enum: "Percent", "Seconds", "Instances")
valuesnumberrequired— Aggregated value for all calls.
callsByDirectionobject— Call duration by direction.
2 fields
valueTypestringrequired— Unit of each value in `values`.(enum: "Percent", "Seconds", "Instances")
valuesobjectrequired— Breakdown by call direction.
2 fields
inboundnumberrequired— Value for inbound calls.
outboundnumberrequired— Value for outbound calls.
callsByOriginobject— Call duration by origin.
2 fields
valueTypestringrequired— Unit of each value in `values`.(enum: "Percent", "Seconds", "Instances")
valuesobjectrequired— Breakdown by call origin.
2 fields
internalnumberrequired— Value for internal-origin calls.
externalnumberrequired— Value for external-origin calls.
callsByResponseobject— Call duration by first response.
2 fields
valueTypestringrequired— Unit of each value in `values`.(enum: "Percent", "Seconds", "Instances")
valuesobjectrequired— Breakdown by first-response outcome.
4 fields
answerednumberrequired— Value for answered calls.
notAnswerednumberrequired— Value for unanswered calls.
connectednumberrequired— Value for connected calls.
notConnectednumberrequired— Value for unconnected calls.
callsSegmentsobject— Call duration by segment.
2 fields
valueTypestringrequired— Unit of each value in `values`.(enum: "Percent", "Seconds", "Instances")
valuesobjectrequired— Breakdown by call segment.
9 fields
ringingnumberrequired— Value for the ringing segment.
liveTalknumberrequired— Value for the live-talk segment.
holdnumberrequired— Value for the hold segment.
parknumberrequired— Value for the park segment.
transfernumberrequired— Value for the transfer segment.
ivrPromptnumberrequired— Value for the IVR-prompt segment.
voicemailnumberrequired— Value for the voicemail segment.
vmGreetingnumberrequired— Value for the voicemail-greeting segment.
setupnumberrequired— Value for the call-setup segment.
callsByResultobject— Call duration by result.
2 fields
valueTypestringrequired— Unit of each value in `values`.(enum: "Percent", "Seconds", "Instances")
valuesobjectrequired— Breakdown by call result.
10 fields
completednumberrequired— Value for completed calls.
abandonednumberrequired— Value for abandoned calls.
voicemailnumberrequired— Value for calls that went to voicemail.
missednumberrequired— Value for missed calls.
acceptednumberrequired— Value for accepted calls.
unknownnumberrequired— Value for calls of unknown result.
transferrednumber— Value for transferred calls (live-observed, undocumented in the spec component).
pickedUpnumber— Value for calls picked up elsewhere (live-observed, undocumented).
answeredElsewherenumber— Value for calls answered on another device (live-observed, undocumented).
forwardednumber— Value for forwarded calls (live-observed, undocumented).
callsByCompanyHoursobject— Call duration by company hours.
2 fields
valueTypestringrequired— Unit of each value in `values`.(enum: "Percent", "Seconds", "Instances")
valuesobjectrequired— Breakdown by company hours.
2 fields
businessHoursnumberrequired— Value during company business hours.
afterHoursnumberrequired— Value outside company business hours.
callsByQueueSlaobject— Call duration by queue SLA.
2 fields
valueTypestringrequired— Unit of each value in `values`.(enum: "Percent", "Seconds", "Instances")
valuesobjectrequired— Breakdown by queue SLA (Queues grouping only).
2 fields
inSlanumberrequired— Value for calls within queue SLA.
outOfSlanumberrequired— Value for calls outside queue SLA.
callsByTypeobject— Call duration by type.
2 fields
valueTypestringrequired— Unit of each value in `values`.(enum: "Percent", "Seconds", "Instances")
valuesobjectrequired— Breakdown by call type.
6 fields
directnumberrequired— Value for direct calls.
fromQueuenumberrequired— Value for calls routed from a queue.
parkRetrievalnumberrequired— Value for park-retrieval calls.
transferrednumberrequired— Value for transferred calls.
outboundnumberrequired— Value for outbound calls.
overflownumberrequired— Value for overflow calls.
countersobject— Requested call-count breakdowns.
11 fields
allCallsobject— Total call count.
2 fields
valueTypestringrequired— Unit of `values` (instances, seconds, or percent).(enum: "Percent", "Seconds", "Instances")
valuesnumberrequired— Aggregated value for all calls.
callsByDirectionobject— Call count by direction.
2 fields
valueTypestringrequired— Unit of each value in `values`.(enum: "Percent", "Seconds", "Instances")
valuesobjectrequired— Breakdown by call direction.
2 fields
inboundnumberrequired— Value for inbound calls.
outboundnumberrequired— Value for outbound calls.
callsByOriginobject— Call count by origin.
2 fields
valueTypestringrequired— Unit of each value in `values`.(enum: "Percent", "Seconds", "Instances")
valuesobjectrequired— Breakdown by call origin.
2 fields
internalnumberrequired— Value for internal-origin calls.
externalnumberrequired— Value for external-origin calls.
callsByResponseobject— Call count by first response.
2 fields
valueTypestringrequired— Unit of each value in `values`.(enum: "Percent", "Seconds", "Instances")
valuesobjectrequired— Breakdown by first-response outcome.
4 fields
answerednumberrequired— Value for answered calls.
notAnswerednumberrequired— Value for unanswered calls.
connectednumberrequired— Value for connected calls.
notConnectednumberrequired— Value for unconnected calls.
callsSegmentsobject— Call count by segment.
2 fields
valueTypestringrequired— Unit of each value in `values`.(enum: "Percent", "Seconds", "Instances")
valuesobjectrequired— Breakdown by call segment.
9 fields
ringingnumberrequired— Value for the ringing segment.
liveTalknumberrequired— Value for the live-talk segment.
holdnumberrequired— Value for the hold segment.
parknumberrequired— Value for the park segment.
transfernumberrequired— Value for the transfer segment.
ivrPromptnumberrequired— Value for the IVR-prompt segment.
voicemailnumberrequired— Value for the voicemail segment.
vmGreetingnumberrequired— Value for the voicemail-greeting segment.
setupnumberrequired— Value for the call-setup segment.
callsByResultobject— Call count by result.
2 fields
valueTypestringrequired— Unit of each value in `values`.(enum: "Percent", "Seconds", "Instances")
valuesobjectrequired— Breakdown by call result.
10 fields
completednumberrequired— Value for completed calls.
abandonednumberrequired— Value for abandoned calls.
voicemailnumberrequired— Value for calls that went to voicemail.
missednumberrequired— Value for missed calls.
acceptednumberrequired— Value for accepted calls.
unknownnumberrequired— Value for calls of unknown result.
transferrednumber— Value for transferred calls (live-observed, undocumented in the spec component).
pickedUpnumber— Value for calls picked up elsewhere (live-observed, undocumented).
answeredElsewherenumber— Value for calls answered on another device (live-observed, undocumented).
forwardednumber— Value for forwarded calls (live-observed, undocumented).
callsActionsobject— Call count by action.
2 fields
valueTypestringrequired— Unit of each value in `values`.(enum: "Percent", "Seconds", "Instances")
valuesobjectrequired— Breakdown by call action.
7 fields
parkOnnumberrequired— Value for the ParkOn action.
parkOffnumberrequired— Value for the ParkOff action.
holdOnnumberrequired— Value for the HoldOn action.
holdOffnumberrequired— Value for the HoldOff action.
blindTransfernumberrequired— Value for the BlindTransfer action.
warmTransfernumberrequired— Value for the WarmTransfer action.
dtmfTransfernumberrequired— Value for the DTMFTransfer action.
callsByCompanyHoursobject— Call count by company hours.
2 fields
valueTypestringrequired— Unit of each value in `values`.(enum: "Percent", "Seconds", "Instances")
valuesobjectrequired— Breakdown by company hours.
2 fields
businessHoursnumberrequired— Value during company business hours.
afterHoursnumberrequired— Value outside company business hours.
callsByQueueSlaobject— Call count by queue SLA.
2 fields
valueTypestringrequired— Unit of each value in `values`.(enum: "Percent", "Seconds", "Instances")
valuesobjectrequired— Breakdown by queue SLA (Queues grouping only).
2 fields
inSlanumberrequired— Value for calls within queue SLA.
outOfSlanumberrequired— Value for calls outside queue SLA.
callsByTypeobject— Call count by type.
2 fields
valueTypestringrequired— Unit of each value in `values`.(enum: "Percent", "Seconds", "Instances")
valuesobjectrequired— Breakdown by call type.
6 fields
directnumberrequired— Value for direct calls.
fromQueuenumberrequired— Value for calls routed from a queue.
parkRetrievalnumberrequired— Value for park-retrieval calls.
transferrednumberrequired— Value for transferred calls.
outboundnumberrequired— Value for outbound calls.
overflownumberrequired— Value for overflow calls.
queueOpportunitiesobject— Count of queue opportunities presented to the user.
2 fields
valueTypestringrequired— Unit of `values` (typically instances).(enum: "Percent", "Seconds", "Instances")
valuesnumberrequired— Aggregated value for queue opportunities.

We're Adding More RingCentral Tools Constantly!

Don't see a specific RingCentral tool you need? Email [email protected] and we can add it.

RingCentral Frequently Asked Questions

What does the Aggregate Call Analytics tool do?

This page documents the Aggregate Call Analytics tool (ringcentral_aggregate-call-analytics). Fetch aggregated call-volume/duration analytics for the RingCentral account, 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.