Gmail "Create Draft" node doesn't create a real reply

Hello, n8n community!

I need help with the Gmail node, specifically with the “Create Draft” operation.

What I am trying to do

I am building a workflow that needs to create a draft response to an incoming email. This draft needs to be reviewed by a human before being sent.

How I configured the node

  1. I use the Gmail Trigger to get the email.

  2. I use the Gmail node (Operation: “Create Draft”).

  3. In the “Create Draft” node, I correctly map the Thread ID from the trigger node ({{ $('Gmail Trigger').first().json.threadId }}).

The Problem

When I run the workflow, the draft is created successfully and it appears in the correct thread inside my own Gmail account. This part works.

However, when I opens that draft and clicks “Send”, the recipient receives it as a brand new email. It does not follow the reply thread in their email client. It seems to start a new conversation.

My Analysis

I believe this happens because the “Create Draft” node does not have an option to add the In-Reply-To and References headers. The “Send Email” node does have this funcionality, but I cannot use “Send Email” because I need the draft for human review.

The strange thing is, in the native Gmail UI, I can click “Reply” on an email, write a draft, and close the window. When I send this draft later, Gmail correctly sends it as a reply.

My question is: Is there any way in n8n to create a “reply draft” (like the Gmail UI does) that, when sent, will correctly continue the thread for the recipient? Or is this a current limitation of the node?

Hello @Samy_TOURI! Thank you so much for sharing your solution. You helped me a lot! I was able to solve my problem. The problem was the subject. In my draft, I was using a different subject, but it needs to be the same as the thread’s subject.