Hi all, I've been working on a fairly standard "forward inbound SMS to an external system" integration and have hit a wall I can't find documented anywhere. Looking for guidance.
Setup
- RingCentral account with 3 extensions total (2 user extensions (x101, x106) and 1 call queue, main account/auto-receptionist (x111))
- Business SMS Booster license active, assigned to x101
- A TCR-registered, SMS-enabled phone number is assigned as the direct number of a call queue extension x111 (company number, no user assigned)
- The call queue's SMS Recipients is set to a user extension (x101) x101 is also a call queue manager
- Auto-Receptionist > Call/Fax/SMS Recipients also lists User (x101) as the SMS Recipient, x111 as the operator, x111 as the Fax recipient
- JWT-authenticated as a super admin with x101’s account (super admin)
- App permissions: Read Accounts, Read Messages, SMS, Webhook Subscriptions
What I built
A webhook subscription using the standard event filter, with a small middleware to validate the handshake and forward payloads onward:
/restapi/v1.0/account/~/extension/{extensionId}/message-store/instant?type=SMSSubscribed to all 3 extensions in the account. Subscription is Active, returns valid expirationTime, and the validation handshake on creation succeeds. Verified the webhook endpoint is publicly reachable, passes the validation handshake, and is correctly verifying the Verification-Token header.
Outbound SMS works as expected. Messages sent from the call queue's number land in x101’s message-store and can be read via GET /restapi/v1.0/account/~/extension/{userA_id}/message-store?messageType=SMS. The webhook also fires correctly for outbound events.
Inbound SMS does NOT fire any webhook, anywhere, on any extension.
What I've tested
Sent a real inbound SMS to the call queue's number from an external mobile phone. The message:
- Is delivered (confirmed via RingCentral's SMS Activity Logs in the admin portal)
- Appears in the Shared inbox tab in the RingCentral app UI (visible to call queue members)
- Does NOT appear in any extension's
message-storewhen queried via API. Scanned all 3 extensions, including:- x101 (the SMS Recipient assigned to receive x111’s inbound SMS)
- x111 The call queue extension itself / The main account extension which is TCR registered
- x106 (All other user extensions)
direction=Inboundfilter returns zero results across the entire account, even though outbound from the same number returns dozens. - No
POST /webhookarrives. Verified with 5+ minutes of waiting and full HTTP-level logging at the receiving service.
Additional filter tested
Per docs, I added the broader /restapi/v1.0/account/~/extension/{id}/message-store filter (without the /instant suffix) for each extension. Subscription accepts the filter and shows it as active, but the broader filter also produces no webhook activity for the inbound SMS.
The relevant doc passages
The "Receiving SMS and MMS messages" guide explicitly states a user can subscribe to receive SMS for "a company phone number or call queue number that the user is authorized to manage for SMS communication."
The "SMS Requirements" page states: "If a phone number is assigned to a call queue... the SMS features of the number must be manually assigned (or reassigned) to only one user extension... Only the extension assigned to a phone number's SMS feature can send and receive SMS messages using that number."
Both passages suggest my setup should work. SMS Recipient is correctly configured. Outbound proves the routing config is correct. But inbound is invisible to both the message-store API and the webhook events.
Questions
- For phone numbers assigned to a call queue extension where the SMS Recipient is set to a different user extension, where does an inbound SMS actually get stored? It's clearly not in any extension's standard
message-store. - Is there a different event filter I should be subscribing to for call-queue-routed inbound SMS? (Tried
/message-store/instant?type=SMSand/message-storefor all 5 extensions, including the call queue extension itself.) - Is the Shared Inbox feature using a separate storage system that's only accessible via the RingCentral app and not via the public REST API / webhook events?
- If shared/queue inbound SMS isn't supported by the standard message-store events, what is the supported programmatic path to capture inbound SMS to a call queue number for downstream automation?
