Skip to main content
Question

Inbound SMS does NOT appear in any extension's message-store

  • April 29, 2026
  • 4 replies
  • 50 views

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=SMS

Subscribed 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:

  1. Is delivered (confirmed via RingCentral's SMS Activity Logs in the admin portal)
  2. Appears in the Shared inbox tab in the RingCentral app UI (visible to call queue members)
  3. Does NOT appear in any extension's message-store when 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=Inbound filter returns zero results across the entire account, even though outbound from the same number returns dozens.
  4.  No POST /webhook arrives. 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

  1. 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.
  2. Is there a different event filter I should be subscribing to for call-queue-routed inbound SMS? (Tried /message-store/instant?type=SMS and /message-store for all 5 extensions, including the call queue extension itself.)
  3. 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?
  4. 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?

4 replies

  • Author
  • The First Step
  • April 30, 2026

Quick update, I spoke with technical support. They mentioned users are having issues with the Business SMS Booster and this may have caused the issue.

This seems to track with my understanding as well since I was able to receive inbound SMS via the message-store prior to adding the Business SMS Booster.

They have removed the SMS Booster Add-on from my account and I’m still working with support to resolve the missing inbound records.


  • Author
  • The First Step
  • April 30, 2026

Update to the update.. I hope this saves someone from wasting time figuring this out. This was technical support’s response after escalation:

“Your case has been escalated to Dev Support T2.

The Message Store API and Subscriptions do not work if the Shared Inbox feature is enabled for Company/CQ numbers. If you require the Shared Inbox feature, you would need to use the new Threaded APIs. These APIs are not publicly available yet, however, we can share them privately.  

If you do not require the Shared Inbox feature, we can disable the backend flag for your company, and the Message Store APIs should work.”

Since it is not documented anywhere, I spent hours upon hours trying to figure this out. Very disappointed that RingCentral would release new features without documenting or disclaiming any of the logistical implications publicly in developer documentation, RC knowledge base, or otherwise anywhere in the admin portal.

When purchasing the Business SMS Booster license and enabling team inbox, there should be disclaimers.

When assigning the Business SMS Booster license to a user, there should be disclaimers.

When enabling the Shared Inbox feature, there should be disclaimers.

Thankfully there’s some light at the end of the tunnel here…


PhongVu
Community Manager
Forum|alt.badge.img
  • Community Manager
  • April 30, 2026

Yes, the cause was absolutely be cause of the shared inbox enabling via the SMS Booster license. It’s not backward compatible with SMS v1.0 API and the backward compatibility is not yet implemented.

To be honest, since you set only 1 SMS recipient for your Company site and call queue, I don’t know why you need the SMS Booster license. It is useful and meant for multiple SMS recipients.

If the support team already removed the SMS Booster license and disable the shared inbox for your account, then SMS should work with SMS v1.0 API. However, the notification filter you listed above will not work with call queue number. Try these SMS event filters:

let eventFilters = [
"/restapi/v1.0/account/~/extension/{extId-106}/message-store/instant?type=SMS", // filter for ext 106
"/restapi/v1.0/account/~/extension/~/message-store/instant?type=SMS", // filter for ext 101 own number and main company number
"/restapi/v1.0/account/~/extension/~/shared-sms" // filter for call queue number
]

Provided that the extension 101 is a super admin user, and the app is authenticated with the ext 101 JWT (login credentials)

Subscribe to those events, you will be able to receive inbound message notifications from all the phone numbers owned by or assigned to the specified users.

To read the call queue message store, you need to call this endpoint. Also provided that the app is authenticated by the user extension who is selected as the SMS recipient for a call queue.

let endpoint = "/restapi/v1.0/account/~/extension/~/message-store?owner=Shared&ownerExtensionType=Department"

For the main company number (or company number), read the message store using the standard API with the selected SMS recipient extension Id. E.g.

let endpoint = '/restapi/v1.0/account/~/extension/~/message-store'

 


  • Author
  • The First Step
  • April 30, 2026

Hi PhongVu,

Thanks for the reply. I absolutely do not need the SMS Booster add-on, you’re right. I made the mistake of assuming the SMS Booster would be 1 $25/mo add-on for the entire account, giving every user access (seemed like good value) and considering the TCR registered number is not a user extension, but the main company number, it sounded like a good idea to give all real user extensions access to the inbox.

It was only after purchasing the add-on, and following the steps to set it up that I discovered we would need to purchase one license for each user, and by then my 3p integrations for inbound had stopped working anyways.

I appreciate the example SMS filter events correctly. That said, I will not be using my own code in production, instead, I intend to use the ABR RingCentral SMS extension for Zoho.

I built and deployed my own endpoint simply so that I could actually test the APIs and figure out what was going on in the back-end since nobody from customer support seemed know. It was only after doing this that I was able to provide enough specificity to customer service for them to direct me to the correct support channel.

Expensive lesson learned at ~15 hours in troubleshooting, calls and development, but alas I’ve finally got the info I need.

I will be removing the Shared Inbox flag and we’ll either use ABR extension via Zoho to allow users to read/send/receive skipping the RC App/UI all together, or switch back to our old SMS provider.