SugarClub will be undergoing planned maintenance from 08 January 2025 at 3:00 PM PDT until 08 January 2025 at 4:00 PM PDT.
The site will be inaccessible during this time. We are sorry for any inconvenience.

BPM for case assignment - help troubleshoot?

Hi all,

Each of our customers has an assigned support person, and we have a bit of custom work so that if someone writes in from Zoo X, that case is assigned to Joe.

Joe is out for a few weeks, so I want to use a BPM that assigns any new cases that are assigned to him to someone else via round robin.

I've tried making my start event "new records", "first update", and "new records/first update" to no avail - the case remains assigned to Joe.

If we then edit the case and save it, the BPM works and it assigns round-robin.

What am I not thinking of?

  • Hi  ,

    A lot of this could potentially rely on customizations you have in place to route cases automatically to Joe. With that said, can you elaborate on what other criteria you have in your start event? Under normal functionality, I would do the following:

    1. Create a checkbox field on the Cases module called 'Out of Office Assignment'
      Note: This is to eliminate the need to do 'first update'-type start events which I will explain further below.
    2. Create a start event on the case with the following criteria:
      1. All updates
      2. Assigned User changes to Joe
      3. Out of Office Assignment equals false
    3. Create an action to perform the round robin assignment
    4. Create an action to set 'Out of Office Assignment' to true

    Depending on how your customizations are assigning the case to Joe, this may not work. If the customization is doing a direct database update, then SugarBPM won't know that is occurring and will fail to trigger. In general, we only implement direct database update customizations when performance is a primary concern since you cannot trigger business logic off of those updates.

    I recommend avoiding 'first update'-type start events as that means SugarBPM has to keep a persistent event in the database to know that it processed that record. Over time, SugarBPM tables can grow in size and these types of start events limit how much you can reduce those database tables since you typically need to retain those reference events.

    As a final note, our plugin, Upsert BPM Essentials, has a custom action to meet this type of use case. The feature to reassign when a user is out of the office works as long as you are using Sugar's Shifts and Shift Exceptions modules to determine user availability. The primary benefit of the custom action is that you can select any user dynamically that is related the current record (e.g. Task), a parent record (e.g. Case related to the Task), or a grandparent record (e.g. Account related to the Case related to the Task). This means that if you have the dedicated support person associated with your account via custom user relationship, the action can be used to inherit that relationship to assign the case.

    If those conditions match your use case, then our plugin provides you a no-code way to manage these user assignments moving forward. Here is what the action looks like when configured:

    If you would like to learn more about Upsert BPM Essentials, please contact us via our website!

    Chris