Custom Webhook Node: Issues returning response to caller

Problem Description :

I am developing a custom trigger/webhook node to replace a repetitive 3-node pattern I use in my workflows. My goal is to consolidate logic into a single node for better maintainability.

Current Workflow Pattern:

  • Webhook Trigger: (Method: POST, Response Mode: ‘Respond to Webhook Node’).
  • Code Node: Validates input, transforms data, and generates a response object.
  • Respond to Webhook Node: Sends the final data back to the caller.

The Goal

I want to move the “Code Node” logic directly into the webhook() method of a custom node so that the node itself handles the request, processes the data, and returns the response in one step.

Implementation Attempt:

export class MyWebhook implements INodeType {
    description: INodeTypeDescription = {
        group: ['trigger'],
  // code ommited
        inputs: [],
        outputs: ['main'],
        webhooks: [
            {
                name: 'default',
                httpMethod: 'POST',
				responseMode: 'onReceived',

                isFullPath: true,
                path: '={{ `mywehook/${$parameter["path"]}`}}',
            },
        ],
        properties: [
            {
                displayName: 'Path',
                name: 'path',
                type: 'string',
                default: '',
                placeholder: '',
                required: true,
                description: 'The URL path to listen on',
            },
        ],
    };

    async webhook(this: IWebhookFunctions): Promise<IWebhookResponseData> {
        const bodyData = this.getBodyData()
		const responseData = ... builds response;
        return {
            workflowData: [[{
                json: {
                    params: bodyData,
                },
            }]],
			webhookResponse: responseData,
            noWebhookResponse: false,
        }
    }
}

The Issue:

Although the webhook triggers correctly and the workflow starts, I cannot get the node to return the responseData to the HTTP caller. The caller usually receives a default “Workflow started” message or a timeout, but not the webhookResponse data.

I have tried toggling responseMode and noWebhookResponse in several combinations, but without success.

Question:

What is the correct configuration in INodeTypeDescription and the webhook() return object to ensure the caller receives the custom data immediately?

@JohnHalex thanks for your help.

But this do not solve the issue.

I need the response right after my custom node is executed.
After my component is executed there are some long operations. The caller must receive the return right after the initialization.

This is what I have today (the green area is what must be inside the component) :