diff --git a/packages/features/ee/workflows/api/scheduleEmailReminders.ts b/packages/features/ee/workflows/api/scheduleEmailReminders.ts index c683667325..a51c17a266 100644 --- a/packages/features/ee/workflows/api/scheduleEmailReminders.ts +++ b/packages/features/ee/workflows/api/scheduleEmailReminders.ts @@ -352,6 +352,13 @@ async function handler(req: NextRequest) { title: booking.title || booking.eventType?.title || "", }; + const customReplyTo = reminder.booking?.eventType?.customReplyToEmail; + const fallbackReplyTo = + reminder.booking?.userPrimaryEmail ?? reminder.booking?.user?.email; + const replyTo = reminder.booking?.eventType?.hideOrganizerEmail + ? customReplyTo + : customReplyTo ?? fallbackReplyTo; + const mailData = { subject: emailContent.emailSubject, to: Array.isArray(sendTo) ? sendTo : [sendTo], @@ -367,13 +374,8 @@ async function handler(req: NextRequest) { ] : undefined, sender: reminder.workflowStep.sender, - ...(!reminder.booking?.eventType?.hideOrganizerEmail && { - replyTo: - reminder.booking?.eventType?.customReplyToEmail ?? - reminder.booking?.userPrimaryEmail ?? - reminder.booking.user?.email, - }), - }; + ...(replyTo ? { replyTo } : {}), + }; if (isSendgridEnabled) { sendEmailPromises.push( @@ -448,18 +450,19 @@ async function handler(req: NextRequest) { }); if (emailContent.emailSubject.length > 0 && !emailBodyEmpty && sendTo) { const batchId = isSendgridEnabled ? await getBatchId() : undefined; + const customReplyTo = reminder.booking?.eventType?.customReplyToEmail; + const fallbackReplyTo = + reminder.booking?.userPrimaryEmail || reminder.booking?.user?.email; + const replyTo = reminder.booking?.eventType?.hideOrganizerEmail + ? customReplyTo + : customReplyTo || fallbackReplyTo; const mailData = { subject: emailContent.emailSubject, to: [sendTo], html: emailContent.emailBody, sender: reminder.workflowStep?.sender, - ...(!reminder.booking?.eventType?.hideOrganizerEmail && { - replyTo: - reminder.booking?.eventType?.customReplyToEmail || - reminder.booking?.userPrimaryEmail || - reminder.booking.user?.email, - }), + ...(replyTo ? { replyTo } : {}), }; if (isSendgridEnabled) { sendEmailPromises.push( diff --git a/packages/features/ee/workflows/lib/service/EmailWorkflowService.ts b/packages/features/ee/workflows/lib/service/EmailWorkflowService.ts index c55b3dd8bc..22c6483b05 100644 --- a/packages/features/ee/workflows/lib/service/EmailWorkflowService.ts +++ b/packages/features/ee/workflows/lib/service/EmailWorkflowService.ts @@ -571,12 +571,14 @@ export class EmailWorkflowService { const customReplyToEmail = evt?.eventType?.customReplyToEmail || (evt as CalendarEvent).customReplyToEmail; + const replyTo = evt.hideOrganizerEmail + ? customReplyToEmail + : customReplyToEmail || evt.organizer.email; + return { subject: emailContent.emailSubject, html: emailContent.emailBody, - ...(!evt.hideOrganizerEmail && { - replyTo: customReplyToEmail || evt.organizer.email, - }), + ...(replyTo && { replyTo }), attachments, sender, }; diff --git a/packages/lib/getReplyToHeader.ts b/packages/lib/getReplyToHeader.ts index 22b3425e3e..36254dfe54 100644 --- a/packages/lib/getReplyToHeader.ts +++ b/packages/lib/getReplyToHeader.ts @@ -7,9 +7,7 @@ export function getReplyToHeader( additionalEmails?: string | string[], excludeOrganizerEmail?: boolean ) { - if (calEvent.hideOrganizerEmail) return {}; - - const replyToEmail = getReplyToEmail(calEvent, excludeOrganizerEmail); + const replyToEmail = getReplyToEmail(calEvent, excludeOrganizerEmail ?? calEvent.hideOrganizerEmail); const emailArray: string[] = []; if (additionalEmails) {