Register a RingCentral application and obtain an OAuth 2.0 access token using the JWT or Auth Code flow against https://platform.ringcentral.com/restapi/oauth/token
GET /restapi/v1.0/account/~/call-log?dateFrom={ISO8601}&view=Detailed&perPage=250 to retrieve account-level call log records with full leg detail
Page through results using the paging.nextPage URI returned in the response envelope until all records are fetched
Create a webhook subscription via POST /restapi/v1.0/subscription with eventFilters array containing /restapi/v1.0/account/~/telephony/sessions and a deliveryMode with transportType:WebHook and address pointing to your HTTPS endpoint
Validate incoming webhook payloads by verifying the Validation-Token header on the initial handshake — respond with the same token value to activate the subscription
Refresh the subscription before its expirationTime by POST /restapi/v1.0/subscription/{subscriptionId}/renew to prevent the subscription from expiring
Known gotchas
Call log data is not retained indefinitely by RingCentral — archive exported records to your own storage regularly; the retention window varies by plan and older records will disappear from the API
WebHook subscriptions expire after a maximum of 30 days and require explicit renewal; a lapsed subscription silently stops delivering events without any error — implement scheduled renewal at least 24 hours before expiration
The ReadCallLog and ReadCallRecording API permissions must both be explicitly granted during app registration; requesting one without the other results in missing recording_url fields or 403 errors on recording download attempts
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp