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





                                                  Use cases

                                                  Make the most of Zoho Desk with the use cases.

                                                   
                                                    

                                                  eBooks

                                                  Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho Desk.

                                                   
                                                    

                                                  Videos

                                                  Watch comprehensive videos on features and other important topics that will help you master Zoho Desk.

                                                   
                                                    

                                                  Webinar

                                                  Sign up for our webinars and learn the Zoho Desk basics, from customization to automation and more

                                                   
                                                    
                                                  • Desk Community Learning Series


                                                  • Meetups


                                                  • Ask the Experts


                                                  • Kbase


                                                  • Resources


                                                  • Glossary


                                                  • Desk Marketplace


                                                  • MVP Corner




                                                            • 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

                                                                                                            • Zoho Commerce in multiple languages

                                                                                                              When will you be able to offer Zoho Commerce in more languages? We sell in multiple markets and want to be able to offer a local version of our webshop. What does the roadmap look like?
                                                                                                            • Compensation | Salary Packages - Hourly Wage Needed

                                                                                                              The US Bureau of Labor Statistics says 55.7% of all workers in the US are paid by the hour. I don't know how that compares to the rest of the world, but I would think that this alone would justify the need for having an hourly-based salary package option.
                                                                                                            • How to create auto populate field based on custom module in Zoho CRM?

                                                                                                              Hello, i'm still new to Zoho CRM and work as administrator in my company. Currently, I'm configuring layout for Quotes Module. So, the idea is, I've created a read-only field in Quotes called "Spec". I want this field automatically filled with Specification
                                                                                                            • webinar registration confirmation are landing in SPMA folders

                                                                                                              I am trialing zoho webinar and do not have access to custom domains. When I test user registrations, they are working but the resulting confirmation email is landing in a spam folder. How can I avoid this?
                                                                                                            • Making digital signatures accessible to all: Introducing accessibility controls in Zoho Sign

                                                                                                              Hi there! At Zoho Sign, we are committed to building an inclusive digital experience for all our users. As part of our ongoing efforts to align with Web Content Accessibility Guidelines (WCAG), we’re updating the application with support that will go
                                                                                                            • Is there a way to set Document Owner/Sender via the API

                                                                                                              When sending requests for zoho sign, it would seem zoho uses the id of the person that created the zoho api cred to determine the owner_id, is there a way to set a default for this?
                                                                                                            • Transition Criteria Appearing on Blueprint Transitions

                                                                                                              On Monday, Sept. 8th, the Transition criteria started appearing on our Blueprints when users hover over a Transition button. See image. We contacted Zoho support because it's confusing our users (there's really no reason for them to see it), but we haven't
                                                                                                            • Delegates should be able to delete expenses

                                                                                                              I understand the data integrity of this request. It would be nice if there was a toggle switch in the Policy setting that would allow a delegate to delete expenses from their managers account. Some managers here never touch their expense reports, and
                                                                                                            • Add Save button to Expense form

                                                                                                              A save button would be very helpful on the expense form. Currently there is a Save and Close button. When we want to itemize an expense, this option would be very helpful. For example, if we have a hotel expense that also has room service, which is a
                                                                                                            • Multiple organizations under Zoho One

                                                                                                              Hello. I have a long and complicated question. I have a Zoho One account and want to set it up to serve the needs of 6 organizations under the same company. Some of the Zoho One users need to be able to work in more than 1 organization’s CRM and other
                                                                                                            • IMAP Server not responding.

                                                                                                              Trying to connect a phone via IMAP and getting "imap.zoho.com not responding." Is the server down, for maintenance or otherwise? I've tried this on two different devices and got the same error on both.
                                                                                                            • Error AS101 when adding new email alias

                                                                                                              Hi, I am trying to add apple@(mydomain).com The error AS101 is shown while I try to add the alias.
                                                                                                            • Unbundle feature for composite items

                                                                                                              We receive composite items from our vendors and sell them either individually or create other composite items out of them. So, there is a lot of bundling and unbundling involved with our composite items. Previously, this feature was supported in form
                                                                                                            • Regarding the integration of Apollo.io with Zoho crm.

                                                                                                              I have been seeing for the last 3 months that your Apollo.io beta version is available in Zoho Flow, and this application has not gone live yet. We requested this 2 months ago, but you guys said that 'we are working on it,' and when we search on Google
                                                                                                            • Open filtered deals from campaign

                                                                                                              Do you think a feature like this would be feasible? Say you are seeing campaign "XYZ" in CRM. The campaign has a related list of deals. If you want to see the related deals in a deal view, you should navigate to the Deals module, open the campaign filter,
                                                                                                            • How do you print a refund check to customer?

                                                                                                              Maybe this is a dumb question, but how does anyone print a refund check to a customer? We cant find anywhere to either just print a check and pick a customer, or where to do so from a credit note.
                                                                                                            • MTD SA in the UK

                                                                                                              Hello ID 20106048857 The Inland Revenue have confirmed that this tax account is registered as Cash Basis In Settings>Profile I have set ‘Report Basis’ as “Cash" However, I see on Zoho on Settings>Taxes>Income Tax that the ‘Tax Basis’ is marked ‘Accrual'
                                                                                                            • workflow not working in subform

                                                                                                              I have the following code in a subform which works perfectly when i use the form alone but when i use the form as a subform within another main form it does not work. I have read something about using row but i just cant seem to figure out what to change
                                                                                                            • Fetch data from another table into a form field

                                                                                                              I have spent the day trying to work this out so i thought i would use the forum for the first time. I have two forms in the same application and when a user selects a customer name from a drop down field and would like the customer number field in the
                                                                                                            • Zoho Creator as LMS and Membership Solution

                                                                                                              My client is interested in using Zoho One apps to deploy their membership academy offer. Zoho Creator was an option that came up in my research: Here are the components of the program/offer: 1. Membership portal - individual login credentials for each
                                                                                                            • Record comment filter

                                                                                                              Hi - I have a calendar app that we use to track tasks. I have the calendar view set up so that the logged in user only sees the record if they are assigned to the task. BUT there are instances when someone is @ mentioned in the record when they are not
                                                                                                            • How to View Part Inventory and Warehouse Location When Creating a Work Order in Zoho FSM

                                                                                                              Hi everyone, We’re currently setting up Zoho FSM and would like to improve how our team selects parts when creating a Work Order. Right now, when we add a part or item to a Work Order, we can select it from our Zoho Inventory list but we don’t see any
                                                                                                            • FSM too slow today !!

                                                                                                              Anybody else with problem today to loading FSM (WO, AP etc.)?
                                                                                                            • CRM x WorkDrive: File storage for new CRM signups is now powered by WorkDrive

                                                                                                              Availability Editions: All DCs: All Release plan: Released for new signups in all DCs. It will be enabled for existing users in a phased manner in the upcoming months. Help documentation: Documents in Zoho CRM Manage folders in Documents tab Manage files
                                                                                                            • Not able to Sign In in Zoho OneAuth in Windows 10

                                                                                                              I recently reset my Windows 10 system, after the reset when I downloaded the OAuth app and tried to Sign In It threw an error at me. Error: Token Fetch Error. Message: Object Reference not set to an instance of an object I have attached the screenshot
                                                                                                            • Mapping a custom preferred date field in the estimate with the native field in the workorder

                                                                                                              Hi Zoho, I created a field in the estimate : "Preferred Date 1", to give the ability to my support agent to add a preferred date while viewing the client's estimate. However, in the conversion mapping (Estimate to Workorder), I'm unable to map my custom
                                                                                                            • Runing RPA Agents on Headless Windows 11 Machines

                                                                                                              Has anyone tried this? Anything to be aware of regarding screen resolution?
                                                                                                            • The sending IP (136.143.188.15) is listed on spamrl.com as a source of spam.

                                                                                                              Hi, it just two day when i am using zoho mail for my business domain, today i was sending email and found that message "The sending IP (136.143.188.15) is listed on https://spamrl.com as a source of spam" I hope to know how this will affect the delivery
                                                                                                            • Delegates - Access to approved reports

                                                                                                              We realized that delegates do not have access to reports after they are approved. Many users ask questions of their delegates about past expense reports and the delegates can't see this information. Please allow delegates see all expense report activity,
                                                                                                            • Split functionality - Admins need ability to do this

                                                                                                              Admins should be able to split an expense at any point of the process prior to approval. The split is very helpful for our account coding, but to have to go back to a user and ask them to split an invoice that they simply want paid is a bit of an in
                                                                                                            • What is a a valid JavaScript Domain URI when creating a client-based application using the Zoho API console?

                                                                                                              No idea what this is. Can't see what it is explained anywhere.
                                                                                                            • Is there a way to request a password?

                                                                                                              We add customers info into the vaults and I wanted to see if we could do some sort of "file request" like how dropbox offers with files. It would be awesome if a customer could go to a link and input a "title, username, password, url" all securely and it then shows up in our team vault or something. Not sure if that is safe, but it's the best I can think of to be semi scalable and obviously better than sending emails. I am open to another idea, just thought this would be a great feature.  Thanks,
                                                                                                            • Single Task Report

                                                                                                              I'd like a report or a way to print to PDF the task detail page. I'd like at least the Task Information section but I'd also like to see the Activity Stream, Status Timeline and Comments. I'd like to export the record and save it as a PDF. I'd like the
                                                                                                            • Auto-response for closed tickets

                                                                                                              Hi, We sometimes have users that (presumably) search their email inbox for the last correspondence with us and just hit reply - even if it's a 6 month old ticket... - this then re-opens the 6 month old ticket because of the ticket number in the email's subject. Yes, it's easy to 'Split as new Ticket', but I'd like something automated to respond to the user saying "this ticket has already been resolved and closed, please submit a new ticket". What's the best way to achieve this? Thanks, Ed
                                                                                                            • How to Push Zoho Desk time logged to Zoho Projects?

                                                                                                              I am on the last leg of my journey of finally automating time tracking, payments, and invoicing for my minutes based contact center company - I just have one final step to solve - I need time logged in zoho desk to add time a project which is associated
                                                                                                            • Cannot access KB within Help Center

                                                                                                              Im working with my boss to customize our knowledge base, but for some reason I can see the KB tab, and see the KB categories, but I cannot access the articles within the KB. We have been troubleshooting for weeks, and we have all permissions set up, customers
                                                                                                            • Export to excel stored amounts as text instead of numbers or accounting

                                                                                                              Good Afternoon, We have a quarterly billing report that we generate from our Requests. It exports to excel. However if we need to add a formula (something as simple as a sum of the column), it doesn't read the dollar amounts because the export stores
                                                                                                            • why my account is private?

                                                                                                              when i post on zohodesk see only agent only
                                                                                                            • Getting ZOHO Invoice certified in Portugal?

                                                                                                              Hello, We are ZOHO partners in Portugal and here, all the invoice software has to be certified by the government and ZOHO Invoice still isn´t certified. Any plans? Btw, we can help on this process, since we have a client that knows how to get the software certified. Thank you.
                                                                                                            • Show/ hide specific field based on user

                                                                                                              Can someone please help me with a client script to achieve the following? I've already tried a couple of different scripts I've found on here (updating to match my details etc...) but none of them seem to work. No errors flagged in the codes, it just
                                                                                                            • Next Page