Escalation Rule Overloading and Duplicate Emails

Hi community

I’m having a problem with an escalation rule we use to chase opportunities that haven’t been updated for a certain number of days.

We’re currently treating old opportunities, which means I’ll have to send around 300 emails a day for the next three weeks. That leads to two main issues:

  1. Load on the escalation rule
    I don’t want to put too much pressure on the system by sending 300 emails in one go. Ideally, I’d like to send them in smaller batches, for example, 50 at a time. However, my business partner and I are struggling to make this work. Simply adding a “Top 50” to the view doesn’t seem to help.
  2. More than one email to the same person at the same time
    Some people are receiving multiple emails at once, sometimes signed off by different assigned users. I don’t mind them getting more than one email per day, but receiving several at the same time feels too automated.

We added a “Stop” field on the person record to control how many emails they receive per day, but CRM still sends messages when the same person appears multiple times in the query results. It looks like we’re overlooking something in the process.

We also tried using ROW_NUMBER() with PARTITION BY to avoid repeating the same person, but that didn’t solve it either.

Our goal is to send no more than 50 emails at a time, allowing more than one per day to the same person, but never all at once.

We have a custom view and the trigger is as below:

oppo_sc_softchase IS NOT NULL
AND oppo_sc_softchaseno IS NULL
AND DATEDIFF(day,GETDATE(),oppo_sc_softchasedate) = 0
AND oppo_status = 'In Progress'
AND pers_emailaddress IS NOT NULL
AND DATEPART(hour,GETDATE()) >= 8 AND DATEPART(hour,GETDATE()) <= 17
AND pers_c_SoftChaseSent IS NULL

Any advice would be greatly appreciated.

Parents
  • 0

    The other problem we had (regardless of the duplicate emails) is limiting the email send to 50 records, We've tried different things on this as well. 

    Lets say there is a rule to email out when an opportunity meets a criteria, the rule fires off an email and then updates a 'stop field' so it knows not to fire again. We even had it update an integer field on the admin account by 1, which is then checked as part of the Escalation criteria that if the user_count < 50 it can send, but this is ignored and as can see the count field end up with figures 50+ and still sending emails

  • 0 in reply to Matthew Shaw

    Try with this: the underlying view used for the escalation rule should have a Top 50 clause. The view will return only 50 rows every time it was queried and subsequently the escalation rule will send only 50 emails per batch. Nex time the escalation rule fired it will send to another batch of 50 emails.

    This is assuming the view will discard opportunities which have been notified today. So, in the view you have to detect persons with this email communication send today to avoid sending twice a day.

    Lets do SQL to do the hard work.

Reply
  • 0 in reply to Matthew Shaw

    Try with this: the underlying view used for the escalation rule should have a Top 50 clause. The view will return only 50 rows every time it was queried and subsequently the escalation rule will send only 50 emails per batch. Nex time the escalation rule fired it will send to another batch of 50 emails.

    This is assuming the view will discard opportunities which have been notified today. So, in the view you have to detect persons with this email communication send today to avoid sending twice a day.

    Lets do SQL to do the hard work.

Children
No Data