nocobase/nocobase · error
Workflow on your action failed, please contact the administr
Error message
Workflow on your action failed, please contact the administrator
What it means
When a pre-action (sync) workflow executing on an HTTP request fails internally, the RequestInterceptionTrigger aborts the request with a 500 and this user-facing message, telling the caller the workflow behind their action errored and administrator attention is required.
Source
Thrown at packages/plugins/@nocobase/plugin-workflow-request-interceptor/src/server/RequestInterceptionTrigger.ts:203
context.logger.debug('[Workflow pre-action]: sync workflow finished successfully', {
...syncLogMeta,
...getWorkflowExecutionLogMeta(workflow, processor),
});
continue;
}
// NOTE: intercept
if (processor.execution.status < EXECUTION_STATUS.STARTED) {
if (lastNode?.type !== 'end') {
context.logger.error('[Workflow pre-action]: sync workflow failed', {
...syncLogMeta,
...getWorkflowExecutionLogMeta(workflow, processor),
});
return context.throw(500, 'Workflow on your action failed, please contact the administrator');
}
context.logger.warn('[Workflow pre-action]: sync workflow intercepted request on end node', {
...syncLogMeta,
...getWorkflowExecutionLogMeta(workflow, processor),
});
const err = new RequestInterceptionError('Request is intercepted by workflow');
err.status = 400;
err.messages = context.state.messages;
return context.throw(err.status, err);
}
// NOTE: should not be pending
context.logger.error('[Workflow pre-action]: sync workflow is still pending after trigger', {
...syncLogMeta,
...getWorkflowExecutionLogMeta(workflow, processor),
});
return context.throw(500, 'Workflow on your action hangs, please contact the administrator');
}
await next();
};
constructor(workflow) {View on GitHub (pinned to fa42722fef)
Solutions
- Check server logs for the underlying workflow execution error and its node
- Open the bound workflow in the workflow UI and fix the failing node configuration
- Test the workflow manually with sample input to reproduce the failure
- Roll back recent workflow changes or plugin upgrades that introduced the failure
Defensive patterns
Strategy: try-catch
Validate before calling
// before firing the action, verify the bound pre-action workflow is valid and enabled
const wf = await workflowRepo.findOne({ filter: { type: 'request-interceptor', enabled: true } });
if (!wf) throw new Error('no interceptor workflow bound'); Try / catch
try {
await request(action, payload);
} catch (e) {
if (e.status === 500 && /Workflow on your action failed/.test(e.message)) {
// inspect server/workflow execution logs; surface admin guidance to user
notifyAdmin({ workflowKey: e.workflowKey, cause: e.cause });
}
} Prevention
- Test pre-action workflows with realistic payloads before enabling them
- Watch workflow execution logs for node-level failures
- Avoid variable references that may be undefined at runtime
- Roll back workflow/plugin changes when 500s start appearing
When it happens
Trigger: A bound 'pre-action' sync workflow triggered by the request throws an unexpected error during execution; the trigger's error path calls context.throw(500, 'Workflow on your action failed, please contact the administrator').
Common situations: Workflow node misconfiguration (bad variable references, invalid request bindings); database or external API failures inside workflow nodes; workflow execution timeout; NocoBase version change breaking a node handler.
Related errors
- Failed to poll OAuth device authorization (formatOauthError
- invalid llm service
- Failed to encode image ${url}: ${e.message}
- user not found
- user is not provided
AI-assisted analysis of nocobase/nocobase@fa42722fef (2026-09-01).
Data as JSON: /api/errors/ca77c8309f340824.
Report an issue: GitHub.