Hi team ,
Two email campaigns should be sent every month by 20th and a weekly campaign on Fridays.The campaign should be sent the day prior if the intended date falls on a weekend or holiday.
Thanks,
Solved! Go to Solution.
Topics help categorize Community content and increase your ability to discover relevant content.
Views
Replies
Total Likes
Hi @VijayMvj ,
Campaign to Run on every Friday:
Configure the scheduler as per below screenshot,
Campaign to Run on every 20th of the month and to Run the campaign on Friday if 20th is on Weekend (Sat /Sun) :
Create the Workflow as below,
Scheduler:
Configure the scheduler to Run on every 18th of the month as per below screenshot,
Open Scheduler > Advance tab > Initialization script and paste the below code,
var getDayOf20 = new Date();
getDayOf20.setDate(getDayOf20.getDate() + 2);
getDayOf20 = formatDate(getDayOf20, "%2A");
vars.dayOf20 = getDayOf20;
Test Activity:
//Condition1: (Label: Day of 20 is Saturday)
vars.dayOf20 == 'Sat'
//Condition2: (Label: Day of 20 is Sunday)
vars.dayOf20 == 'Sun'
//Default connection Label as 'Day 20 falls on Weekday'
Wait Activity:
Define duration of 1d for Saturday's transition and 2d for weekend transition.
And connect all 3 transitions to a fork activity (Refer workflow diagram)
So, As a result, now when the workflow runs on 18th of a month, it will calculate the day of 20.
If 20 is on Sunday (weekend), the workflow will get executed on 18th itself (Friday - Weekday).
If 20 is on Saturday (weekend), the workflow will wait for 1 day (using wait activity) and get executed on 19th (Friday - Weekday).
If 20 is on any weekday, as the workflow triggers on 18th of a month, it will wait for 2 days (using wait activity) and get executed on 20th.
Hope this logic helps!
Hi @VijayMvj ,
Campaign to Run on every Friday:
Configure the scheduler as per below screenshot,
Campaign to Run on every 20th of the month and to Run the campaign on Friday if 20th is on Weekend (Sat /Sun) :
Create the Workflow as below,
Scheduler:
Configure the scheduler to Run on every 18th of the month as per below screenshot,
Open Scheduler > Advance tab > Initialization script and paste the below code,
var getDayOf20 = new Date();
getDayOf20.setDate(getDayOf20.getDate() + 2);
getDayOf20 = formatDate(getDayOf20, "%2A");
vars.dayOf20 = getDayOf20;
Test Activity:
//Condition1: (Label: Day of 20 is Saturday)
vars.dayOf20 == 'Sat'
//Condition2: (Label: Day of 20 is Sunday)
vars.dayOf20 == 'Sun'
//Default connection Label as 'Day 20 falls on Weekday'
Wait Activity:
Define duration of 1d for Saturday's transition and 2d for weekend transition.
And connect all 3 transitions to a fork activity (Refer workflow diagram)
So, As a result, now when the workflow runs on 18th of a month, it will calculate the day of 20.
If 20 is on Sunday (weekend), the workflow will get executed on 18th itself (Friday - Weekday).
If 20 is on Saturday (weekend), the workflow will wait for 1 day (using wait activity) and get executed on 19th (Friday - Weekday).
If 20 is on any weekday, as the workflow triggers on 18th of a month, it will wait for 2 days (using wait activity) and get executed on 20th.
Hope this logic helps!
Thanks for your response @ParthaSarathy ! and the above explanation was very helpful for weekend condition but I need also if Month of 20th falls on holiday(like Friday)then the campaign has to be sent on Thursday.
Thanks!
Views
Replies
Total Likes
Thanks @ParthaSarathy !
Views
Replies
Total Likes
Hi @ParthaSarathy , One more doubt - in this workflow, Instead of wait activity can we handle it in Query using functions?
Views
Replies
Total Likes
@VijayMvj , In this approach as the scheduler triggers only once a month and it have to check the days and dates, it have to wait for triggering using wait activity.
Views
Replies
Total Likes
Views
Likes
Replies
Views
Likes
Replies
Views
Likes
Replies
Views
Likes
Replies