gitroomhq/postiz-app · error · HttpException
Integration provider not found
Error message
Integration provider not found
What it means
The integration row exists, but its providerIdentifier does not match any entry in socialIntegrationList — the registry of known channel providers. Because the lookup uses a non-null assertion (!) followed by a null check, the check actually works at runtime, but a mismatch means the backend build does not recognize the channel type stored in the database, yielding 404 'Integration provider not found'.
Source
Thrown at apps/backend/src/public-api/routes/v1/public.integrations.controller.ts:576
@Param('id') id: string,
@Body() body: { methodName: string; data: Record<string, string> }
) {
Sentry.metrics.count('public_api-request', 1);
const getIntegration = await this._integrationService.getIntegrationById(
org.id,
id
);
if (!getIntegration) {
throw new HttpException({ msg: 'Integration not found' }, 404);
}
const integrationProvider = socialIntegrationList.find(
(p) => p.identifier === getIntegration.providerIdentifier
)!;
if (!integrationProvider) {
throw new HttpException({ msg: 'Integration provider not found' }, 404);
}
const tools = this._integrationManager.getAllTools();
if (
// @ts-ignore
!tools[integrationProvider.identifier]?.some(
(p: any) => p.methodName === body.methodName
) ||
// @ts-ignore
!integrationProvider[body.methodName]
) {
throw new HttpException({ msg: 'Tool not found' }, 404);
}
while (true) {
try {
// @ts-ignore
const result = await integrationProvider[body.methodName](View on GitHub (pinned to 0f1647f749)
Solutions
- Update the backend (and orchestrator) to a version whose provider registry includes the integration's providerIdentifier
- Inspect the integration row's providerIdentifier and compare it against socialIntegrationList entries for a rename
- If the provider was intentionally removed, delete the stale integration and reconnect the channel using a supported provider
- Align all services (backend, orchestrator, frontend) on the same release so registries match
Example fix
// before
// integration.providerIdentifier === 'threads-v2' but build only knows 'threads'
await triggerTool(integration.id, 'post', {...}); // 404 provider not found
// after
// upgrade backend so socialIntegrationList contains 'threads-v2', or reconnect the channel
// so the integration row stores a providerIdentifier the build recognizes
await triggerTool(integration.id, 'post', {...}); Defensive patterns
Strategy: validation
Validate before calling
const SUPPORTED = new Set(['twitter', 'linkedin', 'instagram', /* mirror your build's socialIntegrationList */]);
if (!SUPPORTED.has(integration.providerIdentifier)) {
throw new Error(`Provider ${integration.providerIdentifier} unsupported by this backend build`);
} Type guard
const isKnownProvider = (id: string, registry: string[]): id is string => registry.includes(id);
Try / catch
try {
await triggerTool(id, method, args);
} catch (e: any) {
if (e?.status === 404 && /provider/i.test(e?.response?.msg ?? '')) {
// backend build lacks this provider: upgrade or reconnect under a supported provider
} else throw e;
} Prevention
- Pin backend/orchestrator/frontend to the same release version
- After upgrades, verify every connected channel's providerIdentifier is still in the registry
- Treat unknown-provider integrations as data needing migration, not transient errors
When it happens
Trigger: POST to triggerIntegrationTool where the integration's providerIdentifier references a provider that has been renamed, removed, or is not registered in the running backend/orchestrator build. Also occurs if the DB row was written by a newer Postiz version with providers this build lacks.
Common situations: Running an older backend image against a database created by a newer version (new provider added); provider identifier renamed between versions; partially applied upgrade where the frontend/backend versions drift; custom provider removed from the build.
Related errors
AI-assisted analysis of gitroomhq/postiz-app@0f1647f749 (2026-08-27).
Data as JSON: /api/errors/097c58c49aa45bab.
Report an issue: GitHub.