Building a business process in Creatio is a quick and easy way to implement logic that would require coding and testing without low code tools. While powerful, it can have undesired effects on the system logs if careful attention isn’t paid to the flow of the process.
Let's say we have several contacts in Creatio to call and nurtured for future business. During this process, we discover there’s a lot of repetitive work when the same kind of information must be updated at both the Account and Contact level.
For example, when a contact is updated and their type is "Business Owner", we may want the Account's primary phone number automatically updated to the business phone of the contact. This would cut the manual phone number updates in half!
Using Creatio's low code tools, we create a simple business process in a few minutes. It looks like this:
We test it and run it, and it works fine.
Next, we add a quick update to the flow after the "Read Contact" element. We add a rule that ensures the steps involved in updating an Account will not happen if the contact does not already have an associated account in Creatio.
For this, we change the flow to a "Conditional flow" using a simple formula, which you can see below. This solves our need.
Now, we test again, and the process is running fine. There are no errors generally, but Creatio’s business process log reports incomplete processes that seem hung-up from time to time. With no error and no real reason for the process to be running that long, the resulting status is perplexing.
This is how the process log would look:
On closer examination, we see that when there isn't an associated Account, the process stops because of the condition we implemented (to update an account only when the contact has a link to an account).
So why is this causing the business processes to get hung-up? Because each time there is a condition, there must be an alternative path for the process to take if the other path fails - which in this case is as simple as adding a "default" flow that ends the process because nothing needs to be done.
Over time, even when archiving old logs, processes without this alternative path can stay stuck for months and years "waiting" to finish. We can manually cancel them, but it is a tedious process.
So, it is best to make sure that business processes have all paths accounted for before they are deployed. This will ensure the processes execute efficiently and the system logs stay manageable and maintainable.