Date and age-based alerts: SugarBPM or scheduled job?

Hello Sugar lovers!

We're getting more and more requirements to perform actions after a date or age has been reached: sleeping opportunities, renewal reminders, escalate accounts without activity... These generally cannot be solved by a report (dashboard or scheduled) since the reporting engine does not allow calculations (eg days before renewal, age since last contact...). 

My first intuition sent me towards a simple BPM with an event-based gateway and/or wait event (no dependency on a developer resource, easily maintainable), but: 

  1. Once the process has started and is "waiting", a priori you can't change the "alert" date, for instance if a contract start date changes (for whatever reason), the delay is recalculated, or any other criteria changes. Can you? 
  2. This will create a waiting process instance for each and every record until it is "closed". AFAIK these processes are polled every minute, which could take a massive hit on performance after a while. Is that correct? 

So what we generally do is:

  1. Develop a daily scheduled job that loops through the records and sets a flag if the criteria are met
  2. Design a BPM that is triggered on the flag change and that performs the necessary actions (sending an email etc)

This works, but any change in the criteria requires code-level modifications (+packaging, deployment...). 

I'd live to read your view on this!

Cheers,

Damien

Parents

  • as the resident BPM guru, maybe you can confirm if this scenario is possible?
    I tried to find examples on your YouTube BPM videos, but it seems they have all been deleted Cry which even though they were old, still very useful to get the basics

Reply

  • as the resident BPM guru, maybe you can confirm if this scenario is possible?
    I tried to find examples on your YouTube BPM videos, but it seems they have all been deleted Cry which even though they were old, still very useful to get the basics

Children
  • , I'm afraid you may have me at least partly confused with someone else. I like solving problems with Sugar BPM and my company produces Upsert BPM Essentials to augment the functionality, but I've never produced any instructional YouTube videos on BPM.

    With that said, I have received similar client requests to what  has highlighted; I agree with his current solution (scheduled job to identify the desired criteria supported by BPM to act when the criteria are met) to circumvent the performance impacts Sugar BPM wait timers can introduce when used at scale.