Call campaigns / Intelligently mass create call records via SugarBPM

Hello Sugar Lovers!

I've recently worked on a request that I've had several times: allow teams to manage outbound call campaigns. 


An account list is prepared based on a report (eg. complex criteria). Users need to track who they called, who they have to, when they would need to call back...

Solution found: 

I've created a simple BPM that: 

  1. Starts when a target list is linked to an account AND that TL has the "Prospection" type
  2. Creates a related call

So the manager creates a TL, selects accounts from a report and calls are created. Calls are shown on a simple dashboard, then the focus drawer does its magic. 


Current limitations: 

Managing campaign sub segments requires manually adapting the BPM to give a special subjet to the calls. If the segments are more complex than a filed I canfind on the account, I would have loved to inject the Target list name in the Call Subject. However AFAIK it is not possible because it's a many-to-many relationship and SugarBPM does not have access to the Target list name/id that triggered the call. 

Maybe you've solved this otherwise? 

I've already ruled out: 

  1. Code: because I wanted a no-code solution, otherwise I'm certain we could develop a hook that would replace the BPM or extend the BPM
  2. Action button: because action buttons cannot be used in "mass" scenarios (that would be fantastic BTW)

Thanks for your input :)



Parents Reply Children
  • I see - what I've just learned from SugarBPM Process definition  on Relationship Change (relationship added in the task articulated ) is that the Process Definition does not expose both records involved into that relationship added, so it is ether TL or Account available - never both, so doubts that efforts to combine data from both records involved  (to create a Call related to Account and simultaneously AND  set call's subject that includes TL name)  could be fruitful

    It means that even if we include the Logic Builder designed algorithm with proper call naming logic into the Process Definition , there is not enough data in the Process Definitions to parameterize that algorithm

    At the same time, it's easy to create the call record with a logic hook on after_relationship_add

    Best Regards,
    Dmytro Chupylka
    We make work in Sugar CRM system faster, more convenient and efficient

  • No need to subscribe to Logic Builder to solve no-code the one-time task :)

    I've set up a logic hook that I suppose does the requested and put call parameters into the specific Note with particular subject  - that trick allows to keep the logic hook parametrizable via the Sugar interface via editing that Note [3 minutes watch]

    Three steps to make that work on your customer's instance (or sandbox):

    1. Ensure ProspectLists (TL) module is visible, and there is a Prospection type available in the TL type dropdown list

    2. Install logic hook with Module loader

    3. Create a Note in Sugar with the subject = CALL GENERATION PARAMETERS and put call parameters into the description in a form of the simple JSON

    Such a call's parameters could be adjusted anytime by editing the Notes description

    ScheduleInXdays - stands for the Start date of the call to set in X days from today
    CallSubject - is a subject for the call, where [TL_name] will be substituted by logic hook to the TL name on Call creation
    CallDescription - write an imperative for the call there, logic hook will use it for Call's Invitation Body (description)

    Let me know if you need anything to adjust in the implementation - I'd be happy to make it

    If curious about the logic hook drawing, here it is (enlarge and follow the white line to read):
    - the first step is the criterion for run
    - the second step is actually reading parameters from the note
    - the third step is to create a call record

    Best Regards,
    Dmytro Chupylka
    We make work in Sugar CRM system faster, more convenient and efficient