Kaizen #105 - Functions, Integration Tasks, and API Credits - Part 1

Kaizen #105 - Functions, Integration Tasks, and API Credits - Part 1

Hello everyone!
Welcome back to another week of Kaizen!
In today's post, we will discuss functions, integration tasks, how they consume API and function credits.
In the next post, we will discuss connections, the difference between integration tasks and invoke URL in functions, how authentication happens for invoke URLs, and their credit consumption pattern.

What are functions in CRM?

A business involves multiple processes that cater to specific needs, like managing the sales pipeline, automating the flow of data between modules or different third-party systems, etc.
Zoho CRM gives you a wide range of options to achieve your business goals in the form of pre-defined functions under Setup > Developer Space > Functions. You can tweak these functions and associate them to workflows, blueprints, approval processes, circuits amongst many others, at just the click of a button.

While it is understandable that every business' needs are different, and the pre-defined functions, albeit very generic and most-commonly used, may not suit every business, Zoho CRM allows you to write your own functions specific to your needs.
More details on functions, here.
You can use Zoho's Deluge scripting language to write your own functions in a simple drag-and-drop function editor under Setup > Developer Space > Functions.

Integration tasks

We talked about how functions solve your business cases. How exactly do they do it?

Let's say you want to create a record in Zoho CRM using Functions. Instead of having to add values to every field the traditional way in web UI, functions have integration tasks that make working with records a lot easier as they act as API wrappers. These integration tasks help you make direct API calls without having to write code manually to handle API endpoints, HTTP methods, request parameters, or authentication mechanisms. What's more? They accept the input as function arguments in key-value pairs, much like JSON.

How are integration tasks beneficial to you?

When you use multiple Zoho products, data flow between them becomes much simpler and easier through integration tasks.
Your code becomes concise and easy to interpret.
As the integration tasks are essentially API wrappers, you do not have to worry about authorization as these integration tasks are considered as API calls triggered by the org's admin.

For today's post, let us discuss the function Converting a Sales Order to a Purchase Order, that uses integration tasks.
A gist of the code:
  1. Use the getRecordById integration tasks to get the ID of the Sales Order you want to convert to a Purchase Order
  2. Get the details of the product line items in the sales order, iterate through each of them, and add them to a map.
  3. Put these in another map to be used in the Purchase Order.
  4. Use the createRecord integration task and pass the new map to create a purchase order with the details from the sales order.

Here is the code:
Note that this function takes the soID(sales order ID) as the argument.

respMap = zoho.crm.getRecordById("Sales_Orders",input.soId.toLong());
productDet = ifnull(respMap.get("Product_Details"),"");
pdlist = List();
for each eachProd in productDet
{
productvalue = eachProd.get("product");
proid = productvalue.get("id");
proname = productvalue.get("name");
mp = Map();
mp.put("product",{"name":proname,"id":proid});
mp.put("quantity",ifnull(eachProd.get("quantity"),"0").toLong());
mp.put("list_price",ifnull(eachProd.get("list_price"),"0.0").toDecimal());
mp.put("discount",ifnull(eachProd.get("discount"),"0.0").toDecimal());
mp.put("total",ifnull(eachProd.get("total"),"0.0").toDecimal());
mp.put("net_total",ifnull(eachProd.get("net_total"),"0.0").toDecimal());
pdlist.add(mp);
}
paramap = Map();
paramap.put("Product_Details",pdlist);
paramap.put("Subject",ifnull(respMap.get("Subject"),""));
paramap.put("Contact_Name",ifnull(respMap.get("Contact_Name"),"").get("id"));
paramap.put("Account_Name",ifnull(respMap.get("Account_Name"),"").get("id"));
paramap.put("Owner",ifnull(respMap.get("Owner"),"").get("id"));
paramap.put("Sales_Order",ifnull(respMap.get("id"),""));
paramap.put("Terms_and_Conditions",ifnull(respMap.get("Terms_and_Conditions"),""));
paramap.put("Description",ifnull(respMap.get("Description"),""));
paramap.put("Adjustment",ifnull(respMap.get("Adjustment"),"0.0").toDecimal());
paramap.put("Discount",ifnull(respMap.get("Discount"),"0.0").toDecimal());
paramap.put("Tax",ifnull(respMap.get("Tax"),"0.0").toDecimal());
paramap.put("Shipping_Cuty",ifnull(respMap.get("Shipping_Cuty"),""));
paramap.put("Shipping_Code",ifnull(respMap.get("Shipping_Code"),""));
paramap.put("Shipping_Method",ifnull(respMap.get("Shipping_Method"),""));
paramap.put("Shipping_State",ifnull(respMap.get("Shipping_State"),""));
paramap.put("Shipping_Street",ifnull(respMap.get("Shipping_Street"),""));
paramap.put("Status",ifnull(respMap.get("Status"),""));
createResp = zoho.crm.createRecord("Purchase_Orders",paramap);
info paramap;
info createResp;


Here is the response:


This is the Purchase order created from the sales order.



I have associated this function to a workflow that converts a sales order to a purchase order, every time a sales order is created or updated.


How is authentication handled for integration tasks?

Functions with integration tasks are triggered by actions like workflows, blueprints etc. These triggers are org-wide and not restricted to specific sets of users. So, the integration tasks are executed as if the actions are done by the org’s admin.

API and Function Credits

Just like how APIs consume credits, integration tasks consume API credits, too.
The number of credits depends on the integration task you have used. For example, if you use the createRecord integration task, it consumes the same credits as the create records API. Similarly, the getRecordById integration task consumes the same credits as the Get Records API.
This is in addition to the function credits.
So, for the above function, the following are the various limits applied:
  • API credits - 2 - one each for getRecordById and createRecords integration tasks.
  • Function credits - 1

Where can you find the usage stats?


API Dashboard

Apart from API credit consumption, the API dashboard also gives you the details of the credits consumed by integration tasks.
The "Credits Usage" section shows you the credits specific to integration tasks. As you can see, out of the total available 56000 credits, 36 credits are consumed. Out of these 36 credits, 32 are from integration tasks.


The "Credits by Applications/Functions" pie chart gives you the credit consumption by each function or app.


When you click on one of them, you will see the details.


Functions Dashboard

The "Most Credits Consumed Functions" chart gives you the details of the functions that have consumed credits higher than most.


We hope you found this post useful. Next week, we will discuss Connections, invoke URLs and more.
Let us know what you think in the comments, or drop us an email at support@zohocrm.com.
Cheers!

    Access your files securely from anywhere







                          Zoho Developer Community






                                                • Desk Community Learning Series


                                                • Digest


                                                • Functions


                                                • Meetups


                                                • Kbase


                                                • Resources


                                                • Glossary


                                                • Desk Marketplace


                                                • MVP Corner


                                                • Word of the Day


                                                • Ask the Experts



                                                          • Sticky Posts

                                                          • Kaizen #197: Frequently Asked Questions on GraphQL APIs

                                                            🎊 Nearing 200th Kaizen Post – We want to hear from you! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
                                                          • Kaizen #198: Using Client Script for Custom Validation in Blueprint

                                                            Nearing 200th Kaizen Post – 1 More to the Big Two-Oh-Oh! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
                                                          • Celebrating 200 posts of Kaizen! Share your ideas for the milestone post

                                                            Hello Developers, We launched the Kaizen series in 2019 to share helpful content to support your Zoho CRM development journey. Staying true to its spirit—Kaizen Series: Continuous Improvement for Developer Experience—we've shared everything from FAQs
                                                          • Kaizen #193: Creating different fields in Zoho CRM through API

                                                            🎊 Nearing 200th Kaizen Post – We want to hear from you! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
                                                          • Client Script | Update - Introducing Commands in Client Script!

                                                            Have you ever wished you could trigger Client Script from contexts other than just the supported pages and events? Have you ever wanted to leverage the advantage of Client Script at your finger tip? Discover the power of Client Script - Commands! Commands


                                                          Manage your brands on social media



                                                                Zoho TeamInbox Resources



                                                                    Zoho CRM Plus Resources

                                                                      Zoho Books Resources


                                                                        Zoho Subscriptions Resources

                                                                          Zoho Projects Resources


                                                                            Zoho Sprints Resources


                                                                              Qntrl Resources


                                                                                Zoho Creator Resources



                                                                                    Zoho CRM Resources

                                                                                    • CRM Community Learning Series

                                                                                      CRM Community Learning Series


                                                                                    • Kaizen

                                                                                      Kaizen

                                                                                    • Functions

                                                                                      Functions

                                                                                    • Meetups

                                                                                      Meetups

                                                                                    • Kbase

                                                                                      Kbase

                                                                                    • Resources

                                                                                      Resources

                                                                                    • Digest

                                                                                      Digest

                                                                                    • CRM Marketplace

                                                                                      CRM Marketplace

                                                                                    • MVP Corner

                                                                                      MVP Corner







                                                                                        Design. Discuss. Deliver.

                                                                                        Create visually engaging stories with Zoho Show.

                                                                                        Get Started Now


                                                                                          Zoho Show Resources


                                                                                            Zoho Writer Writer

                                                                                            Get Started. Write Away!

                                                                                            Writer is a powerful online word processor, designed for collaborative work.

                                                                                              Zoho CRM コンテンツ





                                                                                                Nederlandse Hulpbronnen


                                                                                                    ご検討中の方




                                                                                                          • Recent Topics

                                                                                                          • Enable Locations for Expense

                                                                                                            Hi, please enable Locations (ex Branches) for Zoho Expense so that there is consistency between this app and Zoho Books. Thanks in advance.
                                                                                                          • Adding branded signature to tickets reply

                                                                                                            Hi, i am unable to figure out how to add signatures with logo to tickets reply. please advice .
                                                                                                          • Zoho Marketing Automation 2.0 - Landing Page function not working

                                                                                                            Dear Zoho Team, I am working on implementing Zoho Marketing Automation 2.0, and am now looking into the section "Lead Generation". If I open the "Landing Pages" section, I immediately get an Error code: Error: internal error occurred. Can you help me
                                                                                                          • Zoho Mail Android app update: Manage folders

                                                                                                            Hello everyone! In the latest version(v2.9) of the Zoho Mail Android app update, we have brought in support for an option to manage folders. You can now create, edit, and delete folders from within the mobile app. You can also manage folders for the POP
                                                                                                          • How to share ticket numbers across different ticket types

                                                                                                            I'm running an event and have three different ticket types. Add on Event + Main Event - Early bird Main Event only - Early bird Add on Event only - Early bird And Standard class - shown but not available until early bird finishes Add on Event + Main Event
                                                                                                          • Adding Social Media Buttons to Basic Campaigns

                                                                                                            Hi, I'm quote new to using Zoho Campaigns and I can't work out how to add Social Media Buttons into my basic campaign? In MailChimp there's a button that brings the icons into your campaign for you. I've tried adding the social media icons as 'buttons' in Zoho but it's not looking great. Can anyone help? Thanks!
                                                                                                          • Hide Inactive Social Sign-In Providers from Login Screen

                                                                                                            Hello Zoho Team, We hope you are doing well. Currently, Zoho One allows admins to configure security policies and enable or disable Social Sign-In options for third-party providers such as Apple, Google, Microsoft, LinkedIn, Yahoo, Twitter, Facebook,
                                                                                                          • [Free Webinar] AI Agents in Zoho Creator - Creator Tech Connect

                                                                                                            Hello Everyone! We welcome you all to the upcoming free webinar on the Creator Tech Connect Series. The Creator Tech Connect series is a free monthly webinar that runs for around 45 minutes. It comprises technical sessions in which we delve deep into
                                                                                                          • Download All Attached Files

                                                                                                            It would be extremely useful to have "download-all" functionality for downloading files attached to a task, subtask, comment, forum post or hosted in the "Documents" section etc. We've instructed our users to zip multiple files prior to uploading, but of course they forget all the time. Having to download lots of files one-at-a-time off a comment or task wastes a lot of time.
                                                                                                          • unable to send message reason 554 5.1.8 Email outgoing blocked

                                                                                                            unable to send message reason 554 5.1.8 Email outgoing blocked
                                                                                                          • Ship via Carrier Not Working Since Commerce Update

                                                                                                            Since the recent update to the Commerce platform, I can no longer use the ship via carrier function. It will take me to the address screen and let me verify them but when I go to save and move tot he next screen it will not do anything. This is happening
                                                                                                          • automations: Can I execute a step on a specific date?

                                                                                                            I have created a form in Zoho forms, and created a contacts list. I have also begun setting up an automation with the intention of sending the form to the contact list on a specific date every month (via email) for the entire year (essentially sending
                                                                                                          • Zoho Expense - The ability to add detail to a Trip during booking

                                                                                                            As an admin, I would like the ability to add more detail to the approved Trips. At present a requestor can add flights, accommodation details and suggest their preferences. It would be great if the exact details of the trip could be added either by the
                                                                                                          • Adding Folders in Android App

                                                                                                            Is it possible to create a new email folder within the Zoho Mail Android app?  Or can this only be done from the desktop version of Zoho Mail? Cheers!
                                                                                                          • Schedule Exports for Regular Project Updates

                                                                                                            Tracking project data often means exporting data at regular intervals. Instead of manually exporting data every time, users can schedule exports for Phases, Tasks, and Tasks in Zoho Projects. These exports can be set to run once, daily, weekly, or monthly
                                                                                                          • Question about custom fields using Pivot Tables.

                                                                                                            I have created a pivot table showing annual revenue of a client and how much payment that client is paying my company. Is there a way using pivot table to add an additional field that subtracts those to fields / shows me a percentage of that difference?
                                                                                                          • Request for Light/Dark Mode

                                                                                                            Would love the ability to switch between Light and Dark mode similar to Zoho CRM. https://help.zoho.com/portal/en/community/topic/introducing-dark-mode-light-mode-a-new-look-for-your-crm
                                                                                                          • Signature field is showing black

                                                                                                            Hello, When customer signed the service form, it is showing as below picture Phone model: iPhone 16 Pro We tried delete and install application, but it not solved. This has on phone of a few person. There is any advice to solve this?
                                                                                                          • Journey Email - Ignored Contacts

                                                                                                            I have a journey setup which simply sends a string of emails over time. For some reason I am getting large amounts of the contacts who enter the first email being ignored and I can't find anywhere in reports or audit logs why these contacts are not
                                                                                                          • Involved account types are not applicable when create journals

                                                                                                            { "journal_date": "2016-01-31", "reference_number": "20160131", "notes": "SimplePay Payroll", "line_items": [{ "account_id": "538624000000035003", "description": "Net Pay", "amount": 26690.09, "debit_or_credit": "credit" }, { "account_id": "538624000000000403", "description": "Gross", "amount": 32000, "debit_or_credit": "debit" }, { "account_id": "538624000000000427", "description": "CPP", "amount": 1295.64, "debit_or_credit": "debit" }, { "account_id": "538624000000000376", "description":
                                                                                                          • Zoho Books - Include Payment Terms as a Custom View filter

                                                                                                            It would be great if you could created a custom view based on Payment Terms. This would be really handy for seeing a list of customers who have credit terms. A workaround is not required. I could do something with a creditor checkbox, but it would be
                                                                                                          • How to update changed purchase account of item in invoice

                                                                                                            I have selected the wrong purchase account for various articles and created invoices. I had to adjust the purchase account in the article afterwards, but the old purchase account is still posted in the transaction-journal of the invoice. To adjust the
                                                                                                          • Help - Zoho CRM notification on mobile (IOS/Android)

                                                                                                            Hello Community! Can I get the IOS/Andoid CRM app to notify me of events, calls, etc. due as I can with MANY other apps?   I am running the free Zoho I would like this to be native to the Zoho CRM app. I do not want to write a sep. mobile app
                                                                                                          • Zoho Books Idea - Include another field in Bank Details for Address

                                                                                                            Hi Books team, Currently use the Description field in the Bank Details to store the bank's address. This works fine but it would be great if you could add another field for Bank Address, so that other notes about the bank account could be stored in the
                                                                                                          • a question about the COQL API v8

                                                                                                            When I specify eight or more values in a WHERE IN clause and execute it, an error occurs. Is there a limit to the number of values that can be specified in a WHERE IN clause? ↓Error select * FROM Vendors WHERE (id in (1, 2, 3, 4, 5, 6, 7, 8, 9)) ↓Success
                                                                                                          • Zoho Books Idea - Bank Details Button on Banking

                                                                                                            Hi Books team, Sometimes I'm asked to share bank details with a customer or a colleague. So I go to the Banking Module, find the correct bank account, click Setting > Edit, then copy and paste the bank details. Wouldn't it be great if there was a button
                                                                                                          • JS SDK 8.0 – TypeError: Cannot read properties of undefined (reading 'getCacheStore') with sample code

                                                                                                            Hello Zoho Support Team, I’m integrating the Zoho CRM JavaScript SDK v8.0 and I’m getting the error below when running your official sample. I tested directly from: https://github.com/zoho/zohocrm-javascript-sdk-8.0/blob/main/samples/create_records_sample/create_records.js
                                                                                                          • Function #55: Convert multiple quotes to single SO using Custom Button

                                                                                                            Hello everyone, and welcome back to our series! In Zoho Books, after a quote is accepted by your customer, it can be converted into a sales order or an invoice. Often, a customer might have multiple quotes, and for easier billing or upon the customer's
                                                                                                          • Zoho One - Syncing Merchants and Vendors Between Zoho Expense and Zoho Books

                                                                                                            Hi, I'm exploring the features of Zoho One under the trial subscription and have encountered an issue with syncing Merchant information between Zoho Expense and Zoho Books. While utilizing Zoho Expense to capture receipts, I noticed that when I submit
                                                                                                          • Time based workflow without edit/action

                                                                                                            Hello I need help solving this problem if possible. We have Deals come into the CRM via Live Transfer which have the field properties: Stage = New Channel = Inbound Some of them don't get answered so we want these to automatically go into our Outbound
                                                                                                          • What's New - August 2025 | Zoho Backstage

                                                                                                            Every month, Zoho Backstage grows with you. These updates aren't just features and fixes, they're about making your workday smoother, your events more impactful, and your attendees happier. We’ve listened, learned, and shaped this release to keep things
                                                                                                          • prevent selling expired items

                                                                                                            Hello. I need to make a constraint on expired batch items not to be sold. Is it possible in Zoho Inventory? if so, then how? Thanks for further help.
                                                                                                          • Product details removed during update from other system

                                                                                                            We maintain our product details in an other system. These details are synchronized with Zoho at the end of each day, through an API. This has worked perfectly sofar. But last Monday, all product codes and some other product data have been wiped during
                                                                                                          • Client Customer

                                                                                                            I purchased a customer user license, but we cannot see the project I added in the customer account. I would like to ask for support on what we should do.
                                                                                                          • Add Ability to Use Zoho Finance Tags

                                                                                                            For Zoho Finance (Books and Inventory), the current actions do not allow us to affect the tags associated with the entities in question (customers, vendors, items, etc.). Please consider adding this functionality into the actions.
                                                                                                          • Embeded Signing doesn't work on Safari Browser

                                                                                                            We have implemented Zoho Sign in our website by using embeded signing, It works perfectly on Chrome. But it fails on Safari, We get stuck on Zoho Sign Page during redirection from Zoho Sign to our website after signing the document, Please let us know
                                                                                                          • Dataprep Webhook Limits and Cannot update column with Dataprep

                                                                                                            I have two problems : 1 - I am using Airflow to trigger my pipeline, and when I tested it, it worked fine a couple of times. However, after that, I received an error: {"code":429,"message":"Request rate limited"}. I didn’t send too many requests — maybe
                                                                                                          • Power of Automation :: Automatic removal of project users once the project status is changed.

                                                                                                            A custom function is a software code that can be used to automate a process and this allows you to automate a notification, call a webhook, or perform logic immediately after a workflow rule is triggered. This feature helps to automate complex tasks and
                                                                                                          • New in Zoho Forms: Google reCAPTCHA v3 for smarter spam protection

                                                                                                            Hello form builders, Spam submissions are one of the biggest challenges when you share your forms online. They not only clutter your data but can also waste valuable time. To help you combat this without making life harder for genuine respondents, we’re
                                                                                                          • Project Management Bulletin: August, 2025

                                                                                                            We’ve touched a grand 19 years since we started pioneering project management solutions with Zoho Projects. What started as a simple one-page interface is now a suite of products with Zoho BugTracker, Zoho Sprints, and our new debut Zoho Projects Plus,
                                                                                                          • Next Page