We have an SMS that we need to send only during the hours of 9am-5pm. If someone qualifies at 10am, we dont want to wait until 9:00am the next day to send. How can we go about adding a wait step that ensures we are only sending during office hours and does not delay key messages.
Has anyone done this successfully? Marketo support response was that it is only possible with email and needs to be done via velocity scripting.
Solved! Go to Solution.
if someone qualifies at 17:01, do you want to text them at 09:00 the next day, or do you just want to text people IF they qualify between 09:00 and 17:00?
Either way, I'd use Flowboost to write a webhook. In it, I'd:
You can extend the logic about the setting of When_To_Send_Date_Time to cater to weekends as well very easily if needed (you've not stated this, but it seems likely you'll want it).
Cheers
Jo
if someone qualifies at 17:01 text them at 09:00 the next day (we send SMS via truly and need someone on the clock to respond)
but IF they qualify between 09:00 and 17:00, send the SMS right away (as our reps are there to respond)
In FlowBoost, that’d be as easy as:
nowTz = FBUtil.time().tz("America/Los_Angeles");
nowHHmm = nowTz.format("HH:mm");
if( nowHHmm >= "09:00" && nowHHmm <= "17:00" ) {
isBusinessHours = true;
} else {
isBusinessHours = false;
}
Of course substitute your actual time zone.
(Note this works because the format HH:mm can be sorted as a string between other strings.)
Advanced wait properties can be used to send out messages through Marketo campaigns during work days (M-F), or any other days / day ranges available in the advanced wait properties - but sending emails/text messages during a specific time window (like 9 AM to 5 PM) isn't natively supported in the Marketo as of now. You can of course choose to send the messages via batch campaign during the allowable time range but that would not be real-time/near real time delivery of message when compared with the messages sent by a trigger campaign.
Marketo support response was that it is only possible with email and needs to be done via velocity scripting.
This is a strange response. While it’s technically true, the type of Velocity you’d need to write (and companion trigger campaign listening for a VTL-driven Soft Bounce) is very complex. So it’s a stretch to to say it’s even possible with an email for 99.999% of people!
At any rate the only way to get this working with an SMS webhook or other flow step is to use another webhook-driven service to determine if it’s currently business hours or not, then trigger off that response.
if someone qualifies at 17:01, do you want to text them at 09:00 the next day, or do you just want to text people IF they qualify between 09:00 and 17:00?
Either way, I'd use Flowboost to write a webhook. In it, I'd:
You can extend the logic about the setting of When_To_Send_Date_Time to cater to weekends as well very easily if needed (you've not stated this, but it seems likely you'll want it).
Cheers
Jo
Thank you very much for the help here! We will look into Flowboost.
What we need is:
if someone qualifies at 17:01 text them at 09:00 the next day (we send SMS via truly and need someone on the clock to respond)
but IF they qualify between 09:00 and 17:00, send the SMS right away (as our reps are there to respond)
if someone qualifies at 17:01 text them at 09:00 the next day (we send SMS via truly and need someone on the clock to respond)
but IF they qualify between 09:00 and 17:00, send the SMS right away (as our reps are there to respond)
In FlowBoost, that’d be as easy as:
nowTz = FBUtil.time().tz("America/Los_Angeles");
nowHHmm = nowTz.format("HH:mm");
if( nowHHmm >= "09:00" && nowHHmm <= "17:00" ) {
isBusinessHours = true;
} else {
isBusinessHours = false;
}
Of course substitute your actual time zone.
(Note this works because the format HH:mm can be sorted as a string between other strings.)
Slick. Even less lines of code that I thought (and mine wasn't long 🙂 )