Files
n8n-enterprise-unlocked/packages/nodes-base/nodes/Google/Gmail/v2/utils/draft.ts
Dana 113d94cea2 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>
2025-06-16 10:03:10 +02:00

31 lines
793 B
TypeScript

import type { IExecuteFunctions } from 'n8n-workflow';
import type { IEmail } from '@utils/sendAndWait/interfaces';
import { googleApiRequest } from '../../GenericFunctions';
/**
* Adds inReplyTo and reference headers to the email if threadId is provided.
*/
export async function addThreadHeadersToEmail(
this: IExecuteFunctions,
email: IEmail,
threadId: string,
): Promise<void> {
const thread = await googleApiRequest.call(
this,
'GET',
`/gmail/v1/users/me/threads/${threadId}`,
{},
{ format: 'metadata', metadataHeaders: ['Message-ID'] },
);
if (thread?.messages) {
const lastMessage = thread.messages.length - 1;
const messageId: string = thread.messages[lastMessage].payload.headers[0].value;
email.inReplyTo = messageId;
email.reference = messageId;
}
}