What is the normal practice in sending a reminder ...
# general
l
What is the normal practice in sending a reminder to approve a transaction every x (let's say 5) no. of days? I'm thinking of creating a custom date/time field that is automatically populated with the current date/time every time a new approver is set. Then, I'll have a transaction saved search with a criterion of {today}-{customdatetimefieldID} >= 5. This my condition in a workflow that will shoot an email and override the custom date/time field with current date/time.
a
Can you just use a saved search and the email feature to email weekly?
It will continue to email weekly until it's approved
l
If I'm going to stick to our requirements, there's a chance that a new approver has just been set and it coincides with the weekly email. Also, our initial approvers are role-based. All users with the accountant role. I'm not sure how to implement that via a saved search.
j
Try avoiding a new field and a workflow for this. You can use a saved search against the system notes with corresponding time stamp and compare it with {today}.
l
Thanks, @Jesper M. But how will that work for this case? A new approver is set today. 5 days later I shoot an email. Theoretically, that should work. BUT 5 days later, I need to send another email to the same approver assuming he or she hasn't done it yet. The first email sent isn't logged in the record itself.
j
@Luis But isn't there a field on the record that shows if the approver has approved it?
So, for exampe, if record.approved = false and systemnotes.approver.date > 5 days from today, send email
d
Hey Luis, I've had a similar case to this. Use the saved search, compare the 'next approver set' date with {today}, but use
MOD
function to check if it's been a multiple of 5 days (or whatever number of days you choose) Saved search schedule is set to run every day, but the criteria will only have results for transactions that are on day 5, 10, 15...
• you have to do some tinkering so that you don't send an email on day zero. • Also I imagine you'll want to use the 'recipients from results' option to target the next approver. • You'll still need your workflow to set the 'next approver set' date to today whenever the next approver gets changed Let me know if you have any Q's
l
Thanks, @Jesper M and @David B. I'm sorry I forgot to mention that I thought I had to do it via workflow because we need the email body to be dynamic. We have an approve and reject links within the email body because most of our approvers do not have access to NS.
j
@Luis Of curiosity, how does that approve and reject links work?
l
I'm not the one who developed it but there's an external form (shows up after clicking the links) where the approvers without NS access can approve or reject, then that action gets pushed into NS.
j
OK! Do you have any documentation? Looking for exactly this
l
No, I don't. It was developed by our previous consultant, I think
j
Alright, thanks
a
I've done an approval by email but the Approver needs to reply to the email with “approve” or “reject”. Then you can scan for emails in your workflow with either approve or reject and transition to the correct state accordingly It's a bit of a hack but I've gotten it to work
j
Oh.. nice. How do you scan a mail in the workflow?
a
As long as the person clicks Reply in the email the response is stored on the record under the communication subtab
j
Yes, but how do you setup your workflow?
a
Then just make a transaction saved search with a join to the messages record and use a formula CASE WHEN {messages.message} LIKE ‘%Approve%’ THEN 1 ELSE 0 END This will return 1 if the body of the email contains the word Approve
Then use that as the criteria and then use that saved search as the basis of a scheduled transition
j
Fantastic, thanks
a
Also I believe it is case sensitive so either put LOWER({messages.message}) LIKE ‘%approve%’. Or do a few contions to catch all likely instances of how people could type approve
d
You can also do this with externally available suitelets/online forms