diff --git a/packages/features/ee/workflows/api/scheduleSMSReminders.ts b/packages/features/ee/workflows/api/scheduleSMSReminders.ts index 6851509490..feb6a69ae4 100644 --- a/packages/features/ee/workflows/api/scheduleSMSReminders.ts +++ b/packages/features/ee/workflows/api/scheduleSMSReminders.ts @@ -35,6 +35,7 @@ export async function handler(req: NextRequest) { method: WorkflowMethods.SMS, scheduled: false, scheduledDate: { + gte: new Date(), lte: dayjs().add(2, "hour").toISOString(), }, retryCount: { diff --git a/packages/features/ee/workflows/api/scheduleWhatsappReminders.ts b/packages/features/ee/workflows/api/scheduleWhatsappReminders.ts index 7ff20e842b..f3083e20a0 100644 --- a/packages/features/ee/workflows/api/scheduleWhatsappReminders.ts +++ b/packages/features/ee/workflows/api/scheduleWhatsappReminders.ts @@ -24,24 +24,18 @@ export async function handler(req: NextRequest) { return NextResponse.json({ message: "Not authenticated" }, { status: 401 }); } - //delete all scheduled whatsapp reminders where scheduled date is past current date - await prisma.workflowReminder.deleteMany({ - where: { - method: WorkflowMethods.WHATSAPP, - scheduledDate: { - lte: dayjs().toISOString(), - }, - }, - }); - //find all unscheduled WHATSAPP reminders const unscheduledReminders = (await prisma.workflowReminder.findMany({ where: { method: WorkflowMethods.WHATSAPP, scheduled: false, scheduledDate: { + gte: new Date(), lte: dayjs().add(2, "hour").toISOString(), }, + retryCount: { + lt: 3, // Don't continue retrying if it's already failed 3 times + }, }, select, })) as PartialWorkflowReminder[]; diff --git a/packages/features/ee/workflows/lib/getWorkflowReminders.ts b/packages/features/ee/workflows/lib/getWorkflowReminders.ts index 162bd1cabf..ca246583a3 100644 --- a/packages/features/ee/workflows/lib/getWorkflowReminders.ts +++ b/packages/features/ee/workflows/lib/getWorkflowReminders.ts @@ -206,8 +206,12 @@ export async function getAllUnscheduledReminders(): Promise