Kaizen #127 - Circuits in Zoho CRM - Part 2

Kaizen #127 - Circuits in Zoho CRM - Part 2

Hello everyone!

We're back with part 2 of Circuits in Zoho CRM!
We are as excited as you are with this topic! Let's dive right in!

As promised, in today's post, we will discuss a use case, see how execution happens, and associate that circuit with a workflow.

In our next post(Yes! There's going to be another one!), we will associate the circuit with a button and a blueprint, view logs, and debug issues.

Sample use case - Loan Verification Process

Consider that we have a module in CRM called Customers, where we have personal information of customers, tax-related details, tax and personal ID verification details and status. Our aim is to check the requested loan amount, check eligibility, and then grant or reject it.
Here is a screenshot of a record in the Customers module.


Our condition is that whenever the loan amount is less than Rs. 500,000, the circuit should directly proceed to document verification. When the requested loan amount is greater than Rs. 500,000, we must check a few eligibility criteria before proceeding to document verification.
We can automate this entire process using Circuits, and execute it through a button, associate it with a workflow or a blueprint.

Let's take a look at the Circuit's flow.














Here are the different states of the Circuit that explain the logic.
  1. Get the loan record.
  2. Check the loan amount.
  3. If the loan amount is less than Rs. 500,000, proceed to document verification.
  4. If the loan amount is greater than Rs. 500,000, check the tax filing status.
  5. If tax is not filed, update the record's Loan Eligibility field with the value "Tax not filed. Hence, not eligible for loan".
  6. If tax is filed, fetch the applicant's credit score and check the eligibility.
  7. If the credit score falls short, update the record's Loan Eligibility field with the value "Issue with credit score".
  8. If the credit score is up to the mark, proceed to document verification—Personal ID and Tax ID verification.
  9. Update the details of the record to sanction the requested loan.

Let's discuss each of these states in detail.

1. Get the loan record

Builder View



Type: Get Record from Zoho CRM's states.
Action: Gets the details of the loan record from the Customers module. The output is in the following format.

{
    "ZohoCRM": {
        "record_id": "5575270000005762031",
        "user_id": "5575270000005379053",
        "module": {
            "api_name": "Customers",
            "tab_label": "Customers",
            "id": "5575270000001975002"
        }
    },
    "record": {
        "data": [
            {
                "Owner": {
                    "name": "Patricia Boyle",
                    "id": "5575270000001947001",
                    "email": "p.boyle@zylker.com"
                },
                "$currency_symbol": "$",
                "Tax_ID_Verification_Message": "Tax ID Verified Successfully",
                "$review_process": {
                    "approve": false,
                    "reject": false,
                    "resubmit": false
                },
                "$sharing_permission": "full_access",
                "Personal_ID_Number": "464694660655",
                "Personal_ID_Verification_Message": "Personal ID Verified Successfully",
                "Name": "Stephen Adams",
                "Manual_Approval": "Depends on score",
                "$state": "save",
                "$process_flow": false,
                "Tax_Score_Status": "Score is eligible for Loan",
                "$locked_for_me": false,
                "Tax_ID_Number": "GBHPS3618H",
                "id": "5575270000005762031",
                "Tax_ID_Verified_Date": "2024-02-26",
                "Loan_Eligibility": "Eligible for Loan",
                "$approval": {
                    "delegate": false,
                    "approve": false,
                    "reject": false,
                    "resubmit": false
                },
                "Modified_Time": "2024-02-29T12:26:11+05:30",
                "Tax_ID_Verification_Status": "Verified",
                "Tax_Return_Availability": "Yes",
                "Tax_ID_Verified_Time": "2024-02-26 23:28:39.0",
                "Personal_ID_Verified_Time": "2024-02-26 23:28:39.0",
                "Created_Time": "2024-02-29T12:26:11+05:30",
                "Amount": 600000,
                "$editable": true,
                "Personal_ID_Reference": "6cefa3d4-b87b-46a6-8814-b21fb422a28d",
                "$orchestration": false,
                "Tax_ID_Reference": "f6697aa8-8efc-4ee9-8dcc-0bc838755cb4",
                "Tax_Score": 450,
                "Personal_ID_Verification_Status": "Verified",
                "Personal_ID_Verified_Date": "2024-02-26",
                "$in_merge": false,
                "Locked__s": false,
                "Tag": [],
                "$zia_owner_assignment": "owner_recommendation_unavailable",
                "$approval_state": "approved",
                "$pathfinder": false
            }
        ]
    }
}

You can use any part of this output as input to other states. You can achieve this by using the JSON Path expression in the “result path” to traverse the result JSON of the state.
Result path allows you to combine state result with state input to pass as output. You can add the result path in the "Input/Output" section in the Builder view as well as the JSON in Code view.



In our case, we want to use the data inside the “record” JSON object. So, the result path will be $.record.
Result path is mandatory when you use the Get Record Zoho CRM state.
Next state: Check Loan Amount

Code View



2. Check Loan Amount

Builder View



Type: Branch
Action: Checks for the condition specified in the branch—check if the loan amount < 500,000. If yes, and Go to Documents verification state, else go to Check tax filing status state.
Next state: Check Tax filing status(if loan amount > 500,000)

Code View



3. Check Tax Filing Status

Builder View



Type: Branch
Action: Checks for the condition specified in the branch—if the tax filing status is Yes, fetch the credit score. Else, update the record with "Tax not filed; not eligible for loan".
Next state: Fetch Applicant Credit Score

4. Fetch Applicant Credit Score

Builder View



Type: Function
Action: Executes the CRM function "Tax Score Check" that holds the logic to get the basic eligibility stored in the Org variable "eligibility", compare it with the tax score of the applicant, and update the record, accordingly. Here is the snippet of this function.

Next state: Check eligibility of Credit Score

Code View


5. Check eligibility of Credit Score

Builder View



Type: Branch
Action: Checks for multiple conditions—if Tax Score Status = Eligible, go to Document Verification.
If Tax Score Status = Not eligible & the value of the field "Manual Approval" = "Not approved", update the record with "Issue in Tax Score".
If Tax Score Status = Not Eligible & "Manual Approval" = "Approved", proceed to document verification.
Next state: Depends on the condition that is met in the "Check Tax Score Eligibility" state.

Code View


6. Documents Verification Process

Builder View



Type: Parallel
Action: Verifies the Tax ID and Personal ID of the applicant.
Next state: Verification Details - Update Record

Code View


7. Tax ID Verification

Builder View


Type: Function
Action: Executes the function "Tax ID Verification" that has the logic to verify the tax details of the applicant.
Here is the snippet of this function.

Next state: Verification Details - Update Record

Code View


8. Personal ID Verification

Builder View


Type: Function
Action: Executes the function "Personal ID Verification" that has the logic to check for the applicant's personal details.
Here is how the function looks.

Next state: Verification Details - Update Record

Code View



9. Verification Details - Update Record

Builder View


Type: Function
Action: Executes the function "Update Customer Record status" that uses the Deluge Update Record integration task to update the "Loan eligibility" field.
Here is how the function looks.

Next state: End

Code View


10. Update Record - Tax Not Filed, Not Eligible

Builder View


Input/Output


Type: Function
Action: When the requested loan is greater than Rs.500,000 and the Tax Filing Status in "Not Filed", this state executes the function "Update Customer Record status". This function uses the Deluge Update Record integration task to update the "Loan eligibility" field, and takes the parameters "rec_id" and "loan_eligibility" with the values "$.ZohoCRM.record_id" and "Tax Filing is missing, Hence not eligible for the loan.", respectively.
Next state: End

Code View


11. Update Record - Issue with Credit Score

Builder View


Type: Pass
Action: When the tax score eligibility does not meet the requirement, this state ends the circuit's execution.
Next state: End

Code View



Testing and Execution

Let us see the execution of this circuit with a sample record ID.


When you click each state, you can see the input and output of that state.
When you click "View Logs", you can see how execution has happened, the payload for each state, the response, etc.


Associating this Circuit with a Workflow

Follow the steps mentioned in this article to create a workflow.
The condition for this workflow to execute the circuit is when the requested loan is greater than Rs. 500,000.
The Action is to execute the circuit. Choose the option "Execute Circuit" from the Instant Actions and select the Verification Process Circuit.
Save the workflow.


Let's test this workflow by creating a record in the Customers module with the loan amount less than Rs. 500,000.


As you can see, the workflow is triggered and executes the circuit when the loan amount is less than Rs. 500,000.
You can view the circuit's execution and other details as a related list.

Summary

Circuits allow you to automate entire business processes by allowing you to orchestrate functions along with your business logic as you see fit.
As you witnessed in this example, we used multiple independent functions written in CRM to achieve our business case through utilizing them in a circuit. This gives you the benefit of writing functions that can be reused in multiple places while saving you from the grief of dealing with huge volumes of code that are hard to maintain and harder to debug when written as a single function.

We hope you liked this post. We'll see you next week with another post on Circuits.
Let us know if you have any questions or feedback. We are listening!

Cheers!
Shylaja S

Additional Reading:

    Access your files securely from anywhere

        All-in-one knowledge management and training platform for your employees and customers.






                              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 #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.
                                                              • Kaizen #226: Using ZRC in Client Script

                                                                Hello everyone! Welcome to another week of Kaizen. In today's post, lets see what is ZRC (Zoho Request Client) and how we can use ZRC methods in Client Script to get inputs from a Salesperson and update the Lead status with a single button click. In this
                                                              • Kaizen #222 - Client Script Support for Notes Related List

                                                                Hello everyone! Welcome to another week of Kaizen. The final Kaizen post of the year 2025 is here! With the new Client Script support for the Notes Related List, you can validate, enrich, and manage notes across modules. In this post, we’ll explore how
                                                              • Kaizen #217 - Actions APIs : Tasks

                                                                Welcome to another week of Kaizen! In last week's post we discussed Email Notifications APIs which act as the link between your Workflow automations and you. We have discussed how Zylker Cloud Services uses Email Notifications API in their custom dashboard.
                                                              • Kaizen #216 - Actions APIs : Email Notifications

                                                                Welcome to another week of Kaizen! For the last three weeks, we have been discussing Zylker's workflows. We successfully updated a dormant workflow, built a new one from the ground up and more. But our work is not finished—these automated processes are


                                                              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

                                                                                                Get Started. Write Away!

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

                                                                                                  Zoho CRM コンテンツ






                                                                                                    Nederlandse Hulpbronnen


                                                                                                        ご検討中の方




                                                                                                                • Recent Topics

                                                                                                                • How to create a directory report from one-to-many relationship

                                                                                                                  Hi all, Newbie here. I'm converting an Access DB to Creator. I've learned Forms are tables and Reports are used to edit table rows, not Forms. I've got the data loaded and can maintain it with the Reports already done. I've done filtering and sorting,
                                                                                                                • SalesIQ Email Delivery Issues to Microsoft

                                                                                                                  Is anyone else having delivery issues to Hotmail, Outlook, and Live inboxes when sending transcripts and replies via email from SalesIQ? We’ve detected that emails sent from SalesIQ to these accounts aren't arriving—they don’t even bounce back; they simply
                                                                                                                • No Ability to Rename Record Template PDFs in SendMail Task

                                                                                                                  As highlighted previously in this post, we still have to deal with the limitation of not being able to rename a record template when sent as a PDF using the SendMail Task. This creates unnecessary complexity for what should be a simple operation, and
                                                                                                                • Moving Project Task to other parent not possible

                                                                                                                  We are trying to move an existing Zoho Projects task to a different parent task via API. Example: Task ID: 289214000001385113 Current parent: 289214000001281044 New parent: 289214000001281045 We tested updating the task with: taskParam.put("parent_task_id",
                                                                                                                • Best sales insights for target accounts?

                                                                                                                  Question for all the sales power-users out there: I would like to gain insights from Zoho CRM for a rotating list of target accounts. Each Outside Salesperson has 5 target accounts, and they can change these targets quarterly with management approval.
                                                                                                                • Remove or hide default views

                                                                                                                  I'm looking to only have the views pertinent to my organization. Is there a way to show only my custom views (or separate them to a different area or something)? If not, this should be a feature as switching from Zendesk we had this option...
                                                                                                                • Insert Template not inserting

                                                                                                                  I have been using the "Insert Template" feature for years and I use it every single working day. Yesterday it was working fine. Today, on two different browsers (Chrome and Edge), I can select "Insert Template", select the template I want to insert, but
                                                                                                                • Add more than 7 sender addresses in campaigns

                                                                                                                  I need to add at least 15 sender email addresses but am currently limited to 7. Please can you increase. Thank you
                                                                                                                • Email sent to Hotmail arrives to Spam

                                                                                                                  I'm sending email tests to my Hotmail account and they arrives to the Spam folder all the time. My domain has been verified correctly. How can I fix it?
                                                                                                                • Hotmail

                                                                                                                  I am sending an email to a hotmail, and this guy does not receive the email, either in his SPAM nor inbox. Can you help me? thanks!
                                                                                                                • Meeting integration with Otter.ai

                                                                                                                  Would love for an integration with an AI transcription service like Otter.ai to be integrated with Zoho Meeting. Thanks
                                                                                                                • Let’s Talk Recruit: Your pipeline is full. So why aren’t roles closing?

                                                                                                                  Welcome back to Let’s Talk Recruit, where we break down hiring workflows into simple, actionable insights for recruiters. The focus this month is on what slows down your pipeline even when everything looks like it’s working. Picture this. You log in to
                                                                                                                • Search through email contents

                                                                                                                  Is there a way to search through the email history of a lead? Meaning if among the 50 emails to a lead about different topics I want to find all the ones with the word "pizza" in the body of the email, is that possible? Thanks for your help, Hanan
                                                                                                                • Marketing Tip #9: Track your traffic sources

                                                                                                                  Not all marketing channels work equally well. Knowing whether your visitors come from Google, Instagram, or email helps you focus on what actually drives sales. Try this today: Check your Zoho Commerce reports or connect Zoho PageSense to see your top
                                                                                                                • It Really Can Be This Simple

                                                                                                                  Let's be honest.... Running a business already comes with enough moving parts. Invoices, payments, follow-ups, reminders, tracking who paid and who disappeared. It can slowly turn into a full-time admin job on its own, especially when you are a Sole Proprietor,
                                                                                                                • Huge confusion in zoho crm and zoho analytics

                                                                                                                  Context => We have reporting based hierarchy in zoho crm and basically there will be one sales head and couple sales managers and 10 pre sales excutives divided between 2 sales managers we have maintained that in zoho crm and there is complex reporting
                                                                                                                • Zoho Books | Product updates | May 2026

                                                                                                                  Hello users, We're back with the latest updates and enhancements we've rolled out in Zoho Books. From sales tax automation to scanning receipts for free, explore the updates designed to upgrade your bookkeeping experience. Sales Tax Automation [US & Canada
                                                                                                                • Update: [Issue fixed] Temporary access issue on Android and iOS devices

                                                                                                                  Hello, Zoho Sheet users! We're aware that some of you are currently unable to open spreadsheet files from your Android and iOS devices. We extend our sincere apologies for the inconvenience caused. We're working on fixing the issue with highest priority
                                                                                                                • Action Required: Migrate Your SQL Server Connection

                                                                                                                  Dear Users, Following our earlier communication on the upcoming Zoho Analytics security updates affecting Microsoft SQL Server connections, we have revised our recommended approach. The previously shared cipher suite configuration is no longer the recommended
                                                                                                                • Currency Change for Companies

                                                                                                                  Hello FSM Team, We would like your assistance in changing the company currency for our UAE organization from AED to USD. Currently, all customers and users are configured with AED currency settings, and we would like to standardize the organization currency
                                                                                                                • Accrual Data - Zoho Books API

                                                                                                                  Hi Team, When we integrate Zoho Books with Zoho Analytics, we usually receive a consolidated dataset called “Accrual Transactions,” which contains all types of transaction data. Could you please confirm whether it is possible to retrieve this same data
                                                                                                                • Bank Fees - Allow User to Choose Expense Account

                                                                                                                  Bank fees from Customer Payments can only be debited against the system Bank Fees account due to hard-coding. The user should be able to select which expense account those fees are debited against. The use case is pretty straightforward. A business like
                                                                                                                • Showing Cost Price and Profit Margin in PDF

                                                                                                                  Hi there, We use two different types of quotes in our company. One is a version for our clients that does not include cost or profit margin information, and the other is for our internal team that includes profit margin and cost. We are running into an
                                                                                                                • Side bar menu

                                                                                                                  It would be great if you could stop the auto collapse of expanded menus when selecting a different module. It would save a lot of mouse clicks for a lot of users that frequently switch between sales & purchases as we do, it's easier to collapse them manually when not required !
                                                                                                                • Syncing zoho books into zoho crm

                                                                                                                  I was wondering how I can use zoho books in crm as I have been using them separately and would like to sync the two. Is this possible and if so, how? Thanks
                                                                                                                • Remove horizontal scroll bar

                                                                                                                  Is there any way to remove or hide the horizontal scroll bars on the iframe reports? I removed columns, but it still stays there.
                                                                                                                • Rich Text Type Format for Notes Field

                                                                                                                  Has it been discussed or is there a way to insert a table in the notes field? We sometimes receive information in a table format, and it would be beneficial to have it in the same format as a note on a record. Moderation Update (12-May-26): We are working
                                                                                                                • Multiple Blueprints on different fields at the same time.

                                                                                                                  It looks only 1 Blueprint can run at the same time, it makes sense for many Blueprints on the same field (Eg. Stage). But what about multiple Blueprints on "different" fields? the multiple options must be available. (Eg. Stage, Documents Status, Contract
                                                                                                                • Updating Sales orders on hold

                                                                                                                  Surely updating irrelevant fields such as shipping date should be allowed when sales orders are awaiting back orders? Maybe the PO is going to be late arriving so we have to change the shipment date of the Sales order ! Not even allowed through the api - {"code":36014,"message":"Sales orders that have been shipped or on hold cannot be updated."}
                                                                                                                • sales IQ issue on website

                                                                                                                  i integrated the zoho sales IQ code on the website but it is comming in distroted form i am sharing the screenshot below the website is bulit in wix platform
                                                                                                                • Contract to payment flow

                                                                                                                  Hi everyone, I’m trying to set up a contract-to-payment flow and want to avoid duplicating invoices or customers in Zoho Books. The flow should be: contract generated from CRM, sent via Zoho Sign, client signs, deposit is paid, and the invoice should
                                                                                                                • Automated entries past the current month in a calendar report

                                                                                                                  Hi all, I have an automation problem. I have a form which on successfull entry adds either 5 or 10 more of these entries with a slight change so our customers can see it throug a calendar report on the webiste. The entry put in manually shows up perfectly
                                                                                                                • Linking Contacts to Other Modules

                                                                                                                  In creator, I've got a Contacts page with a lookup that searches Suppliers. Is there a way to have the contacts attached to the Suppliers modular as a list automatically, similar to the CRM version? It goes the other way. If I entered an Employee in the
                                                                                                                • Multiple Pipelines

                                                                                                                  Is it possible to create multiple candidate pipelines?
                                                                                                                • Automation #7 - Auto-update Email Content to a Ticket

                                                                                                                  This is a monthly series where we pick some common use cases that have been either discussed or most asked about in our community and explain how they can be achieved using one of the automation capabilities in Zoho Desk. Email is one of the most commonly
                                                                                                                • Introducing Custom Columns in Forecasts in Zoho CRM

                                                                                                                  Release Plan: Enabling in Phased Manner, Enabled for JP DC Hello all, Forecasts in Zoho CRM help sales representatives, managers, and business stakeholders evaluate performance and plan future sales activities. While standard metrics such as Target, Achieved
                                                                                                                • How would you handle Warranty replacement parts or items in zoho inventory

                                                                                                                  Hi everyone, I'm working on setting up zoho inventory for our distribution business.  We handle the service for our customers and will replace items that malfunction under a warranty basis.  Does anyone else do this and how do you set it up in inventory?  Do you have to create a sales order and if you want to the original item back, do you use a RMA?  If so, how is it done so there isn't a credit memo associated with it? Thanks, Tim
                                                                                                                • Atlassian Jira integration live in Zoho Apptics

                                                                                                                  Tracking crashes and fixing them often happen with different tools. You might use Zoho Apptics to track crashes and understand what went wrong and Jira to resolve those issues. If you use both, you're probably familiar with the manual effort involved
                                                                                                                • What's New in Zoho Billing | January 2026

                                                                                                                  Excited about the latest enhancements in Zoho Billing? Our January updates bring an intelligent AI assistant, smarter subscription management, and improved tax compliance, saving you time and reducing manual work. Dive into the details below to see how
                                                                                                                • Auto-sync field of lookup value

                                                                                                                  This feature has been requested many times in the discussion Field of Lookup Announcement and this post aims to track it separately. At the moment the value of a 'field of lookup' is a snapshot but once the parent lookup field is updated the values diverge.
                                                                                                                • Next Page