New OAuth workflow and limits on Cloud Function calls

New OAuth workflow and limits on Cloud Function calls

Ok so here's the issue:  we have an application that supports workflows for various external Zoho accounts.  In order to keep from migrating the application and re-configuring every time, it makes more sense to keep it central.

I've gotten an OAuth workflow going using Zapier and a hidden Form to act as my access and refresh tokens database. 

My problem is that many of Zoho's restrictions have caused us issues and we've had to work around them every step of the way.

My goal is to convince Zoho product decision makers that there's a better way - and to hopefully help others out.  On top of that, I am sure I can learn more from the community.

Zoho's Restrictions:
  1. Zoho doesn't allow you to do OAuth2.0 with other accounts.
  2. Zoho is requiring migration to OAuth2.0 by March.
  3. Zoho has introduced cloud functions but limits users to 200 function calls per day. 
  4. Node.js Cloud Functions do not export properly when exporting a function
The Issues:
  1. Because of 1. Creator does not allow you to do e.g. `zoho.crm,get()` - because a connection has to be configured prior and connections only support the same account that the Creator App is hosted on.
  2. Because of 2. and 3. I  have written functions to make API calls.
  3. Because many of my forms require integration data AND because of the OAuth workflow, simply loading a form calls 5 Cloud Functions.  I want my code to be maintainable and reusable across my application so I don't want to cram all the functions together.
  4. We can't duplicate or port the application around due to 4. -> the manual steps to upload the proper functions are lengthy and there's no way to set up tests for them to work.

My proposals:
  1.  Zoho Creator ought to natively support cross-account integration connections.  Consider this scenario:
    1. Customer A is invited to a Zoho Creator Application Customer Portal.
    2. Customer A has their own Zoho account with apps and data - some of which may be needed for the Creator Application.
    3. Customer A authenticates and this is passed as the connection for the zoho integration tasks e.g. zoho.books.create("invoice", dataMap, userConnection) where userConnection represents the connection created by the customer.
  2. Zoho lifts or raises greatly the restrictions for Cloud Functions:
    1. Because of the increased number of function calls required to integrate between different accounts in Creator, this restriction is adversely affecting capabilities Creator should have (and is said to have).
    2. You can make it hourly or bi-hourly if you need.
  3. Zoho creates a development mode where you can develop and test Cloud Function calls and they don't go against the restrictions
    1. We hit our limit most often when testing new code and developing new features for our primary production application. 
    2. due to the copy issue for Cloud Functions it's not feasible to create 2 different applications - one test and one development.
  4. Zoho creates ability to set up Cloud Functions at the "Home" level and import into applications as needed.
    1. this solves the copying problem as well as helps with the test application issue because you can easily move between applications with the same Cloud Functions.
  5. Zoho creates ability to properly export Node.js Cloud Functions.


Others in the community might feel there's better suggestions but this is what I've come up with.

Please Zoho, consider fixes to these issues.  Many many more people are moving to no-code or low-code and Creator is too limited as it currently sits.