RocketChat/Rocket.Chat · error · Error
error-no-license
error-no-license
Error message
error-no-license
What it means
getOutboundService is created with makeFunction from @rocket.chat/patch-injection. The community-edition core ships only a stub that throws Error('error-no-license'); the enterprise build (apps/meteor/ee/server/api/v1/omnichannel/lib/outbound.ts:71) patches it with the real IOutboundMessageProviderService. Any call that happens without that EE patch — e.g., the apps-engine outbound-communication bridges (registerPhoneProvider/registerEmailProvider) — hits the stub.
Source
Thrown at apps/meteor/server/lib/omnichannel/outboundcommunication.ts:5
import type { IOutboundMessageProviderService } from '@rocket.chat/core-typings';
import { makeFunction } from '@rocket.chat/patch-injection';
export const getOutboundService = makeFunction((): IOutboundMessageProviderService => {
throw new Error('error-no-license');
});
View on GitHub (pinned to b2c16d5842)
Solutions
- Apply an enterprise license that includes omnichannel outbound communication (Administration > License) and reload.
- Run a build/edition that registers the outbound service patch (apps/meteor/ee).
- If staying on CE, remove or disable the app/integration that calls the outbound bridge.
Defensive patterns
Strategy: fallback
Try / catch
let outbound: IOutboundMessageProviderService | undefined;
try {
outbound = getOutboundService();
} catch (err) {
if ((err as Error).message === 'error-no-license') {
// community build or missing license: degrade gracefully, disable outbound features
}
} Prevention
- Probe getOutboundService once at app startup and remember the result instead of failing per request.
- Gate outbound-communication features on the workspace license state shown in Administration > License.
- Declare the enterprise requirement in the app's documentation so CE users know before installing.
When it happens
Trigger: An app or integration calls the outbound communication bridge or the EE outbound API on a deployment where the enterprise patch is not registered: community edition build, or EE present but the license is missing/expired and does not cover the feature.
Common situations: Installing an app that uses outbound communication APIs on a CE workspace; license expired or invalidated so the EE patch is not applied; testing EE features in a dev environment without a license file.
Related errors
- error-invalid-provider
- apps-engine-not-loaded
- apps-engine-not-configured-correctly
- App could not be enabled
- error-action-not-allowed
AI-assisted analysis of RocketChat/Rocket.Chat@b2c16d5842 (2026-08-18).
Data as JSON: /api/errors/097e8dbbe28c0366.
Report an issue: GitHub.