Functional Differences Between Deluge in Zoho Creator and Zoho CRM

Hello again, welcome back. Before I begin, I would like to start off with a clarification. In my previous article, I was examining Deluge as used in functions and workflows in Zoho CRM. Upon review, I realized that recursion is entirely possible within Deluge in Zoho Creator, just not in Zoho CRM. This brings us to our second topic…

The first and largest difference between the two is that Deluge in Zoho Creator has proper functional programming. What I mean by that is, you can call one custom function within another. You still can’t pass one function to another, so higher order functions like map and fold out of the question, but it’s a definite improvement.
This means that you can iterate using recursion, and you can use programming paradigms like abstraction. If you are working on a large and complicated task, you can separate your function into smaller components and delegate the work to teammates. It makes test writing easier and safer.
This tiny change brings deluge one step closer to being a viable language.

Recursion example in Zoho Creator
Recursion example in Zoho Creator
How Recursion should work in Zoho CRM
How Recursion should work in Zoho CRM

There are limits, of course. Recursive depth is an issue. I dutifully tested the recursive depth limit and got this fun error. It will trigger for both a total width or depth of a recursive tree being greater than 75.
Yes, it goes all the way down

Beyond the ability to call other functions, what else is the Zoho CRM missing from Deluge in Zoho Creator?

The syntax assist is much more elaborate in Creator and has some functions that exist in both versions of Deluge, like the “Conditional If” statement. It’s a function that takes a Boolean, and two values. It will return the first result if the Boolean is true, and the second on false.
Creator has geturl, posturl and openurl methods to handle links and rest requests. There are pros and cons to this. The geturl and posturl functions are easier to use than CRMs invokeurl method, but you are missing some functionality. Namely the put and delete methods. Ultimately, I’d call it a side grade.
Deluge in Creator also has a much smoother way of getting records. Its data access section in the syntax assist offers a great selection of methods for pulling in records, prefilling forms, filtering and sorting.
By contrast, the CRM requires using an integration with itself to fetch other records. In the back end, this is a rest request done to its own endpoint. This causes several issues. You can max your call limit through simple data manipulation, there is a 200-record page limit to searches, so you have to deal with pagination and loops if you don’t have a primary key or id. This is all exacerbated by Zoho’s infuriatingly vague error messages.

Why does this matter?

Simply put, it’s a question of focus and privilege. Not everyone has Creator. A significant portion of our clients have a CRM Plus License which has no Creator access. Moreover, CRM is Zoho’s core. Every single project I work with is centered around it and having its feature set more limited than its mobile app builder is baffling. In some projects, I have considered building a dummy app in creator just to save me the frustrations of the limitations of Deluge in CRM. Its bad practice but it is a viable work around if you are stuck.
In any case, thank you for reading, and I will catch you all next week.
-David Bayly

Related Read: Ten Things I Hate about You – A Love Letter to Deluge

Interested in a Free Consulation?

Book Now