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
  • Develop a daily scheduled job that loops through the records and sets a flag if the criteria are met

    Can a BPM be configured to set the flag instead of a scheduled job?

  • Okay here is an example:

    The Task is -  to provide a single regular perpetual Process that would check for New leads that were not updated to Assigned within t X minutes from registering in Sugar and assign them all to Jim

    Step 1
    Declare LB Service for Criteria check and data processing, provide X as a parameter (minutes_passed)


    Step 2
    Setup simple Process Definition and enable it

    Step 3
    Draw criterion and data processing for running Assignment Logic.
    pls don't lower your expectations in Sugar automation, since there is no-code access to all the out-of-the-box and custom modules.
    E.g. lets 
     - 0. Start processing, read parameter
     - 1. Set the Criterion for scanning data: Find all Leads in the New status
     - 2. Process them all: go through the list of leads found
     - 3. Transform data: if the Lead was created more than minutes_passed ago, then assign it to Jim and set the status to Assigned, then increment the counter of assigned Leads  
     - 4. Note statistics: Create Note record with a number of Leads automatically assigned

    Folow the white line to read:



    Step 4
    Generate Sugar package in a click and install it via Module Loader.

    Done!

    Now, if you create a new note with subject "START PERPETUAL ASSIGNEMENT", that will run Process Definition and you will get a single instance of the perpetual Process



    Whenever the process runs, it  checks the criterion, process leads, then creates the Note record with statistics:

      

    That approach is a common Solution Architectural approach that we use while implementing Sugar and suggest it for Sugar Admins with no coding skills  - approach leverages SugarBPM capabilities along with core Sugar platform configurability without writing a line of custom code or involving costly developers for programming and supporting custom jobs

    I hope this makes sense

    Have a nice weekend!

    Best Regards,
    Dmytro Chupylka

    integroscrm.com
    We make work in Sugar CRM system faster, more convenient and efficient

  • I have a use case that needs this functionality. However, when going through it, I have found that I don't have the "LB Services" module available to me - because we are using Sugar Enterprise 12.x on premise. I can try to go through it without the module but I'm a bit confused without the LB Services component. 

    Or am I missing something?

Reply Children
  • Hi Mike,

    LB Servces and LB SugarBPM extension are available for both on-prem and cloud Sugars - please feel free to download them from https://integroscrm.com/lb-components/  and then install them via Module Loader

    Both modules extend the Logic Builder no-code tool configuring capabilities - the flowchart drawing on step 3 above is performed in that tool environment

    Logic Builder tool is a cloud-based designer for Sugar that generates Sugar-installable zip as the implementation of the designed flowchart logic. The tool is not an out-of-the-box part of Sugar like Studio or BPM included in the SugarCRM subscription and therefore the tool vendor charges the access to the cloud designer environment (details here https://integroscrm.com/logic-builder/  ) however when the solution logic is drawn in the tool, it is free for deployment and usage

    Since I'm a Sugar Partner employee for a dozen years and at the same time the Logic Builder tool vendor representative, I have unlimited access to the tool and I love to help clubmates of this SugarClub in solving the challenging tasks no-code whenever possible - just for "likes" in the club, because solving real challenges with Sugar platform configuration no-code is a kind of real promo for the tool which is IMHO must-be available for all Sugar Admins and Sugar consultants that have no time or inspiration (or both) for learning how to code for subscribed Sugar

    So let me help you and draw a solution for your specific task - that might take minutes with a Logic Builder in place - longer than I write this post in English :))
    I suppose your task differs from the ones discussed above - please express the task either in a thread here or just create a new topic starter post in this club chapter and I will do my best to configure it and explain

    Best Regards,
    Dmytro Chupylka

    integroscrm.com
    We make work in Sugar CRM system faster, more convenient and efficient