diff --git a/packages/cli/src/TestWebhooks.ts b/packages/cli/src/TestWebhooks.ts index 5dd1ce3ac73f0..df5dbecdedb23 100644 --- a/packages/cli/src/TestWebhooks.ts +++ b/packages/cli/src/TestWebhooks.ts @@ -1,11 +1,11 @@ import type express from 'express'; import { Service } from 'typedi'; -import { - type IWebhookData, - type IWorkflowExecuteAdditionalData, - type IHttpRequestMethods, - WebhookPathTakenError, - Workflow, +import { WebhookPathTakenError, Workflow } from 'n8n-workflow'; +import type { + IWebhookData, + IWorkflowExecuteAdditionalData, + IHttpRequestMethods, + IRunData, } from 'n8n-workflow'; import type { IResponseCallbackData, @@ -189,6 +189,7 @@ export class TestWebhooks implements IWebhookManager { userId: string, workflowEntity: IWorkflowDb, additionalData: IWorkflowExecuteAdditionalData, + runData?: IRunData, sessionId?: string, destinationNode?: string, ) { @@ -213,6 +214,10 @@ export class TestWebhooks implements IWebhookManager { const key = this.registrations.toKey(webhook); const registration = await this.registrations.get(key); + if (runData && webhook.node in runData) { + return false; + } + if (registration && !webhook.webhookId) { throw new WebhookPathTakenError(webhook.node); } diff --git a/packages/cli/src/workflows/workflow.service.ts b/packages/cli/src/workflows/workflow.service.ts index 253eac6414cd4..2d234e426c82b 100644 --- a/packages/cli/src/workflows/workflow.service.ts +++ b/packages/cli/src/workflows/workflow.service.ts @@ -320,6 +320,7 @@ export class WorkflowService { user.id, workflowData, additionalData, + runData, sessionId, destinationNode, );