fix(Gmail Node): Do not break threads while creating drafts (#16272)

Co-authored-by: Shireen Missi <94372015+ShireenMissi@users.noreply.github.com>
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
This commit is contained in:
Dana
2025-06-16 10:03:10 +02:00
committed by GitHub
parent b1305fe5f1
commit 113d94cea2
6 changed files with 128 additions and 1 deletions

View File

@@ -13,6 +13,7 @@ import { labelFields, labelOperations } from './LabelDescription';
import { getGmailAliases, getLabels, getThreadMessages } from './loadOptions';
import { messageFields, messageOperations } from './MessageDescription';
import { threadFields, threadOperations } from './ThreadDescription';
import { addThreadHeadersToEmail } from './utils/draft';
import { configureWaitTillDate } from '../../../../utils/sendAndWait/configureWaitTillDate.util';
import { sendAndWaitWebhooksDescription } from '../../../../utils/sendAndWait/descriptions';
import type { IEmail } from '../../../../utils/sendAndWait/interfaces';
@@ -560,6 +561,12 @@ export class GmailV2 implements INodeType {
attachments,
};
if (threadId && options.replyTo) {
// If a threadId is set, we need to add the Message-ID of the last message in the thread
// to the email so that Gmail can correctly associate the draft with the thread
await addThreadHeadersToEmail.call(this, email, threadId);
}
const body = {
message: {
raw: await encodeEmail(email),