I built a custom Content Integration through the Developer Portal (developer.sonos.com/s/integrations) to connect Navidrome, a self-hosted, open-source music server, to my Sonos system.
It worked. It showed up in the app's service catalog, I added it, and it played fine for about a week. Then, with no change on my end, it disappeared from the app entirely and hasn't come back since — it looks less like something broke and more like it was deliberately pulled.
Setup details:
- Service Name: Navidrome
- Distribution: Development
- Service Availability: Global
- Authentication: OAuth
- SMAPI and reporting endpoints both publicly reachable, valid cert, respond correctly to requests
- Sonos ID under Service Deployment Settings matches the household ID shown in-app
- Same Sonos account on both app and Developer Portal
- App/system fully updated (currently 87.00.38)
- Deleted and recreated the integration from scratch (new Integration ID) to rule out stale state — same result, doesn't reappear
- It's been saved/reachable for 12+ hours since the last recreation attempt, still not visible
I opened a support ticket with all of this, and the answer I got was that Navidrome isn't a supported self-hosted option — Plex is, for self-hosted music. That would explain the disappearance if it's an active gate rather than a bug: the integration passed validation and worked, then got filtered out once whatever backend allowlist governs the catalog was updated or enforced.
Questions for Sonos:
1. Was this integration actually removed/deprioritized on the backend after initially working? If Content Integrations are subject to an allowlist beyond passing SMAPI validation, that should be documented — right now the developer program reads as "build a compliant service, it shows up," not "build a compliant service, it may show up temporarily and then get pulled."
2. What's the actual criteria for which self-hosted music servers are supported? Why is Plex allowlisted and not others?
3. Is there any way to get a re-review, or a dev/beta flag that keeps a validated integration visible for testing regardless of the general catalog policy?
I've also reported this to the maintainer of Bonob (a third-party Sonos bridge for self-hosted servers), since the same platform behavior likely affects anyone trying to connect a non-Plex self-hosted server, not just people using the official developer portal. But I wanted to raise it here directly, since "worked, then got silently removed" is a materially different (and more concerning) situation than "never worked in the first place."
Has anyone else had a custom Content Integration work initially and then get pulled without explanation?
