diff --git a/packages/features/ee/workflows/api/scheduleSMSReminders.ts b/packages/features/ee/workflows/api/scheduleSMSReminders.ts index 92ef9b3913..a399f94ee9 100644 --- a/packages/features/ee/workflows/api/scheduleSMSReminders.ts +++ b/packages/features/ee/workflows/api/scheduleSMSReminders.ts @@ -157,6 +157,8 @@ export async function handler(req: NextRequest) { } if (message?.length && message?.length > 0 && sendTo) { + const smsMessageWithoutOptOut = message; + if (process.env.TWILIO_OPT_OUT_ENABLED === "true") { message = await WorkflowOptOutService.addOptOutMessage(message, locale || "en"); } @@ -167,6 +169,7 @@ export async function handler(req: NextRequest) { body: message, scheduledDate: reminder.scheduledDate, sender: senderID, + bodyWithoutOptOut: smsMessageWithoutOptOut, bookingUid: reminder.booking.uid, userId, teamId, diff --git a/packages/features/ee/workflows/lib/reminders/messageDispatcher.ts b/packages/features/ee/workflows/lib/reminders/messageDispatcher.ts index f9b03d20f1..086d8d92b7 100644 --- a/packages/features/ee/workflows/lib/reminders/messageDispatcher.ts +++ b/packages/features/ee/workflows/lib/reminders/messageDispatcher.ts @@ -14,6 +14,7 @@ export async function sendSmsOrFallbackEmail(props: { phoneNumber: string; body: string; sender: string; + bodyWithoutOptOut?: string; bookingUid?: string | null; userId?: number | null; teamId?: number | null; @@ -40,7 +41,7 @@ export async function sendSmsOrFallbackEmail(props: { await sendOrScheduleWorkflowEmails({ to: [fallbackData.email], subject: fallbackData.t("notification_about_your_booking"), - html: twilioData.body, + html: twilioData.bodyWithoutOptOut || twilioData.body, replyTo: fallbackData.replyTo, }); } @@ -60,6 +61,7 @@ export async function scheduleSmsOrFallbackEmail(props: { body: string; scheduledDate: Date; sender: string; + bodyWithoutOptOut?: string; bookingUid?: string | null; userId?: number | null; teamId?: number | null; @@ -96,7 +98,7 @@ export async function scheduleSmsOrFallbackEmail(props: { await sendOrScheduleWorkflowEmails({ to: [fallbackData.email], subject: fallbackData.t("notification_about_your_booking"), - html: twilioData.body, + html: twilioData.bodyWithoutOptOut || twilioData.body, replyTo: fallbackData.replyTo, sendAt: twilioData.scheduledDate, referenceUid: reminder.uuid || undefined, diff --git a/packages/features/ee/workflows/lib/reminders/smsReminderManager.ts b/packages/features/ee/workflows/lib/reminders/smsReminderManager.ts index a3dafee1ed..ab88af55ed 100644 --- a/packages/features/ee/workflows/lib/reminders/smsReminderManager.ts +++ b/packages/features/ee/workflows/lib/reminders/smsReminderManager.ts @@ -176,6 +176,8 @@ export const scheduleSMSReminder = async (args: ScheduleTextReminderArgs) => { } if (smsMessage.length > 0) { + const smsMessageWithoutOptOut = smsMessage; + if (process.env.TWILIO_OPT_OUT_ENABLED === "true") { smsMessage = await WorkflowOptOutService.addOptOutMessage( smsMessage, @@ -196,6 +198,7 @@ export const scheduleSMSReminder = async (args: ScheduleTextReminderArgs) => { phoneNumber: reminderPhone, body: smsMessage, sender: senderID, + bodyWithoutOptOut: smsMessageWithoutOptOut, bookingUid: evt.uid, userId, teamId,