paperclipai/paperclip · error
Webhook ingestion is not enabled
Error message
Webhook ingestion is not enabled
What it means
501/503-style guard on the public plugin webhook ingestion route. Fires when webhook ingestion is disabled at the instance/app level, so external webhook deliveries cannot be recorded or dispatched even though the route is intentionally unauthenticated.
Source
Thrown at server/src/routes/plugins.ts:2694
* 2. The plugin declares the `webhooks.receive` capability
* 3. The `endpointKey` matches a declared webhook in the manifest
*
* The delivery is recorded in the `plugin_webhook_deliveries` table and
* dispatched to the worker via the `handleWebhook` RPC method.
*
* **Note:** This route does NOT require board authentication — webhook
* endpoints must be publicly accessible for external callers. Signature
* verification is the plugin's responsibility.
*
* Response: `{ deliveryId: string, status: string }`
* Errors:
* - 404 if plugin not found or endpointKey not declared
* - 400 if plugin is not in ready state or lacks webhooks.receive capability
* - 502 if the worker is unavailable or the RPC call fails
*/
router.post("/plugins/:pluginId/webhooks/:endpointKey", async (req, res) => {
if (!webhookDeps) {
res.status(501).json({ error: "Webhook ingestion is not enabled" });
return;
}
const { pluginId, endpointKey } = req.params;
// Step 1: Resolve the plugin
const plugin = await resolvePlugin(registry, pluginId);
if (!plugin) {
res.status(404).json({ error: "Plugin not found" });
return;
}
// Step 2: Validate the plugin is in 'ready' state
if (plugin.status !== "ready") {
res.status(400).json({
error: `Plugin is not ready (current status: ${plugin.status})`,
});
return;View on GitHub (pinned to a7e689b3c3)
Solutions
- Enable webhook ingestion for the company (webhooksEnabled / plugin webhook setting) before calling the webhook endpoint.
- Confirm the webhook route is being called against the intended company and plugin instance.
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at server/src/routes/plugins.ts:2672 when the library encounters an invalid state.
Common situations: Returned when an inbound webhook is received but webhook ingestion is disabled for the company or plugin instance.
AI-assisted analysis of paperclipai/paperclip@a7e689b3c3 (2026-08-18).
Data as JSON: /api/errors/97885d5511c92790.
Report an issue: GitHub.