n8n-io/n8n · error

MISSING_TRIGGER

MISSING_TRIGGER

Error message

Workflow has no trigger node. It will need to be started manually.

What it means

Workflow-level validator: no node in the built workflow is a trigger type and the allowNoTrigger validation option is not set. The workflow is technically valid but can only run via manual/CLI start, which is usually unintended, so a MISSING_TRIGGER issue is emitted.

Solutions

  1. Add a trigger node (manual, schedule, webhook, app trigger) to the workflow
  2. Pass allowNoTrigger in validation options if manual start is intentional
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at packages/@n8n/workflow-sdk/src/workflow-builder/plugins/validators/missing-trigger-validator.ts:41 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of n8n-io/n8n@5ac6606e81 (2026-08-12). Data as JSON: /api/errors/ca2ff34f182d2332. Report an issue: GitHub.

Appendix: source

Thrown at packages/@n8n/workflow-sdk/src/workflow-builder/plugins/validators/missing-trigger-validator.ts:41

	// Per-node validation not used - we do workflow-level validation
	validateNode: (): ValidationIssue[] => [],

	validateWorkflow(ctx: PluginContext): ValidationIssue[] {
		// Check if the allowNoTrigger option is set
		if (ctx.validationOptions?.allowNoTrigger) {
			return [];
		}

		// Check if any node is a trigger
		const hasTrigger = [...ctx.nodes.values()].some((graphNode) =>
			isTriggerNodeType(graphNode.instance.type),
		);

		if (!hasTrigger) {
			return [
				{
					code: 'MISSING_TRIGGER',
					message: 'Workflow has no trigger node. It will need to be started manually.',
					severity: 'informational',
				},
			];
		}

		return [];
	},
};

View on GitHub (pinned to 5ac6606e81)