Customer Engagement & Dynamics CRM Forum

Expand all | Collapse all

Recursive Workflows

  • 1.  Recursive Workflows

    Posted 17 days ago
    A vendor has implemented recursive workflows, ie. Workflows that update entities that invoked additional workflows that update the original entity trigger the original workflow.

    The solution has over 300 workflows and a high number of these workflows perform updates that trigger other workflows.

    How can recursive workflows be handled?

    My previous solutions are;
    1. Have a workflow executed flag on the entity so the workflow only executes once.
    2. Ensure correct field filtering is set on workflows.
    3. Track the depth of the workflow.

    ------------------------------
    Dean Dalby
    ------------------------------


  • 2.  RE: Recursive Workflows

    SILVER CONTRIBUTOR
    Posted 17 days ago

    Hi Dean,

    Your solutions are good!  Solution 2 is really important!
    Also, when entities are updated in workflows, verify that only the required fields are updated, this will limit the number of workflow triggered.

    Maybe you could also trace workflows executions to help understanding how processes trigger each other.

    Is there only workflows ? or is there plugins and custom workflows?

    Best regards,



    ------------------------------
    Laurent Maneville
    N Media
    Drummondville QC
    ------------------------------



  • 3.  RE: Recursive Workflows

    Posted 17 days ago
    Dean,
    I also really like your solutions, I think they cover best practices when relying on workflows in this way.  You might also be able to leverage a filter or limit on ownership or the user triggering a change - if the workflow is owned by a system user/admin you can filter out changes made by that user as well.  I would probably consider alternatives to workflow in some cases as well, such as leveraging a plugin (which would do all of your work at once instead of cascading through workflows) or if you are online taking advantage of Flow, which might allow some streamlining as well.  If an entire logical process can be handled by a single process instead of many, you can reduce the number of trigger points and cut down on processes triggering each other.

    ------------------------------
    Merlin Schwaiger
    Director of Solution Design
    PowerObjects, an HCL Company
    Minneapolis MN
    ------------------------------



If you've found this thread useful, dive deeper into User Group community content by role