Hello everyone!
Welcome back to another week of Kaizen!
For starters, we will discuss what Circuits are, how beneficial they are for businesses, different views of a Circuit, and the different states and flow controls.
In the next post, we will discuss associating a Circuit to a blueprint, workflow, and a button, testing and execution, and see a Circuit in action with an interesting use case.
What are Circuits in Zoho CRM?
We use different microservices to accomplish our business needs, but most of the time, we are forced to switch over to multiple places.
With Circuits in Zoho CRM, you can integrate multiple microservices in a single platform and create automated workflows, all within your CRM!
For example, consider that you have an e-commerce application that involves multiple processes like tracking inventory, payment processing, fulfilling and tracking orders, generating receipts and reports, etc.
Typically, you would code this entire logic and use it to fulfill your business needs. But, with Functions in Zoho CRM, you can write the logic for each of these individual processes and simply orchestrate them using Circuits.
So, for the above example, you can simply create an automated workflow using Circuits and use the functions in the right order. That's not just it! You can re-use these functions elsewhere, too.
Another simple example of a Circuit is when you want to automating sending SMS alerts to users when an event occurs. How this is different from a workflow is that in this circuit, you can have a function that triggers an SMS alert, and also a function that sends an email to the user when the SMS alert ails. This involves circuit's functional states and a decision making state.
Like this, the use cases of circuits are endless.
Advantages of Circuits
- Automate your routines
Convert all your manual routines to automated workflows to save time. Avoid the need to trigger or interrupt applications to control the system flow, as you can create smooth-sailing, smart workflows that control themselves. - Scale fast
Handle any number of requests hassle free as your workflows get executed on cloud. While Zoho Circuit dynamically allocates resources on need, you can focus more on building your applications rather than managing them. - Update in minutes
Building the business logic of your applications in workflows empowers you to update the applications quickly. Swap or reorganize the components easily and build the modified applications in minutes. - Low-code
Create a circuit effortlessly with the visual drag-and-drop interface, which makes it easier for the users with minimum coding knowledge. - Developer-friendly
Circuits help you manage parallel processes, service integrations, spot failures, retry, and view logs, within minutes. Developers can focus on the business logic and not worry about these factors. - Orchestrate CRM Functions
Use various CRM functions on your circuit to integrate multiple third-party apps and Zoho CRM seamlessly. Write functions once, and orchestrate them in circuits to solve different business needs. - Automate IT and business processes within CRM
Create a circuit, associate it with a workflow, blueprint, or button, and automate your entire business process. With high availability, scalability, and fault tolerance, circuits ensure the performance of your workflow remains consistent even with changing states and an increase in frequency. - Diagnose errors and view audit logs
A detailed log of each execution provides the status of each state's task execution, the payload and parameters passed, and the responses and exceptions generated. - Use Existing Functions
From picking functions you've already tried, tested, and are up and running in your CRM account, to using a circuit within another circuit, this flexibility opens up possibilities of handling so much of your out-of-the-box requirements in a single space.
How are Circuits different from Workflow Rules and Blueprints?
Circuits is simply an orchestration of functions with powerful state management capabilities, along with in-built flow controls to automate the business process.
Workflow rules help us automate repetitive tasks and standardize business processes within the CRM system.
Workflow rules are useful in simple automations that the sales person does on a regular basis, like sending an email after record creation.
Builder View and Code View of a Circuit
Builder View
This view offers an easy drag-and-drop interface to build your circuit. The left pane in this view comprises all the states that can be added to a circuit.
The right pane comprises Configuration and Input/Output.
The Configuration tab lets you give a name to the state, choose its type, and select its next state.
The Input/Output tab allows you to control how JSON data must flow from one state to another through Paths.
Paths are strings beginning with $ that identify the components within the JSON. Specific parts of a JSON can be accessed by denoting their attributes in Input Path, Result Path, and Output Path.
This tab contains the following.
1. Input Path
Input path selects parts of the input JSON to pass to the state. You can also pass parameters to the input as a collection of key-value pairs. The values of Parameters can either be static or parts of the input JSON selected as a Path. For example, if your state's input is
{
"Entry1": {...},
"Entry2": {...}
}
then, you can apply the input path as $.Entry2 within the state definition. So, only the data inside the "Entry2" object will be passed as input to the state.
2. Result Path
After the input is processed by the state, Result Path selects what combination of the state result and the actual state input has to be passed to the output.
3. Output Path
Output Path further filters the data from the Result Path to pass it as state output.
Code View of a Circuit
In Code View, you can define your state machine in a simple JSON-based, structured language. Once a circuit is created, a sample workflow with the pass state as 'State 1' is created by default.
States of a Circuit and Flow Controls
Circuits offer a cascading structure to different states in a business process, allowing you to write functions that each feed their output into the next one, or any other one you pre-define, individually. You can also reroute, pause for a certain period, or feed it in batches to enable just about any sort of action.
Simply put, Circuits have different 'functional states' and 'flow controls' that allow you to automate execute your business process.
Flow Controls
Flow Controls let you control the flow of your circuit. To achieve this, Circuits make use of different states that allow you to make the execution, 'Wait' for another state, 'Pass' the input of a state to another, use 'Success' and 'Failure' to stop the execution of the Circuit.
The different states available are:
- Pass: Transfers the input from one state to another.
- Branch: Decides between branches of execution based on input.
- Parallel: Performs simultaneous executions.
- Wait: Inserts a delay for a specific time. The maximum wait time is 30 days.
- Batch: Implements multiple group executions. You can have a maximum of 10 jobs per batch.
- Success: Terminates an execution, returning 'Success'.
- Failure: Terminates an execution, returning 'Failure'.
Zoho CRM
Zoho CRM states help you execute business logic in circuits with respect to the data available in CRM.
You can write functions in the built-in editor or orchestrate existing ones, get the details of a record as an input to other the states, get the details of your org, user, CRM variables and use them in your Circuit.
You can also trigger another Circuit within a Circuit using the 'Circuit' flow control.
'Function' State
Use this state in your Circuit to use an existing function in CRM. Depending on your need, you can configure the input and output, and control data flow in your circuit. Only the functions that are REST API-enabled are shown here.
'Circuit' State
You can use another Circuit in one of the states and configure the flow accordingly.
'Record' State
This state fetches the details of a particular record in a module in CRM. You can choose to pass a portion or all of this state's result as an input to the next state in the circuit. Note that the information displayed will be based on the scope provided to the user.
Depending on where the Circuit is associated(Blueprint, Workflow, Button - Create/Clone/Details/Edit View pages, individual record, mass action), the response of the Record State differs.
'Org' State
This state gives you the details of your CRM org that you can use in your circuit.
'User' State
Use this state in your circuit to get the details of the current user in your org and process this information in other states.
'Org Variable'
This state gives you the details of all CRM Variables in your org.
Error Handling
When you use any of the Zoho CRM states, you can also perform error handling as these functional states tend to have runtime errors.
On TimeOut
When a functional state runs longer than the expected time, timeout errors occur. For handling timeout errors in code view, the field value "errorType": "Error.TimeOut" will be added.
On Execution Failure
When a state's execution fails due to some exception that cannot be processed, it can be handled using execution failure. In code view, key-value "errorType": "Error.ExecutionFailure" is appended.
Custom Error
You can also have custom error handling for your states.
Configure Exception Type and Exception Value to set the error handling options based on the error code or error message delivered by the state's output.
Retry the function in case of failure or timeout, set the Attempt (number of retries) and Delay (wait time after failure for every retry attempt).
In case of failure, if the retries fail to fix the error, the State will Fallback the error output to the Next state in the Result field.
We hope you found this post useful. Stay tuned for part 2!
Let us know if you have any questions or suggestions.
Cheers!
Shylaja S
Recent Topics
Data not visible in sheet cells
I'm having an issue where my data is not visible in my sheet cells. If I click on an individual cell, the data does display above in the little "fx" box. But all the boxes in the sheet just look blank. My collaborators do not have this issue. I have checked
Rollup summary for custom module
Rollup summary feature was introduced almost a year ago: https://help.zoho.com/portal/en/community/topic/introducing-rollup-summary-in-zoho-crm-public-early-access-2023 It does not support custom modules tough and this post aims to track such feature
Foreign Currency Bank Account
I have a bank account in USD zero balance but when i run the bank ledger in my company currency in AED it was shown small balance 1.31 AED , how to make it zero also ,Thanks
"Trigger flow for each entry" not working
I've read this article on how to trigger a flow for each entry in my array. https://help.zoho.com/portal/en/kb/flow/user-guide/create-a-flow/articles/webhook-trigger#Trigger_flow_for_each_entry I cannot get the flow to run for each variant in this JSON
migrating from Zoho Invoices (CRM) to Zoho Books
Good day, I was wondering if there was a easy way to migrate all the quotes and invoices from Zoho Invoices CRM to Zoho Books. We plan to move to using Zoho Books in a few weeks and would like to have all the quotes and invoices from the past 3 years
Edit specific job page on carreer site
Hey, I was wondering how I could change the layout of a specific job page? (when you go to the carreer website and then click on a job listed there). When I go to customization I can edit the carreer website but I seem to be only able to edit the first
CRM - Clearing a Subform
I seem incapable of working out subform functions without assistance. I've searched, but can't seem to find anything that works. I have a subform that gets filled in when a Zoho Sign document is completed but the fields don't match with the original field values held on CRM (I did have it automatically update, but some fields were being filled in with terrible data, so had to put a stop to it). There are 4 fields on the subform: Field Name Original Value New Value Update Update is automatically
How to include GST% in PO amount?
Currently when I raise PO, the basic price of the item is used. However, the GST is not calculated and added along with the basic amount. I have added a Custom field for GST in the PO but I need Zoho Inventory to calculate the GST amount and add it with the Basic price to give me the final PO price.
Automatically add a retainer to every estimate
Hi all, I've been trying to find a way to automatically add a retainer at a set % to every estimate we create and send. So far I haven't been successful, does anyone know of a way to do this? Thanks,
Planning Sales visit to local lead, contacts
Hello, We have our leads and contacts in CRM. One sale is asking me how he can view all leads and contacts (ideally on a map) in a given area (city or country or "region") so he can plan visiting them. What can be done or need to be developed to have
Force Sync Contact/Account from CRM to Books
Hi all. This might not be a common issue to the large portion of the user base here, but for those who dabble and use CRM and Books integration, they know how painful it is that we have to wait for the 2-hour intervals for the records to sync; especially
Workflow for "Expenses" module?
Hi there, over the last 2 years, Zoho Expense has seen tremendous growth and we are happy with it. But, sometimes it is frustrating to see things are being implemented halfheartedly, or so it seems. For example, There is the possibility to create workflows
When is partial reimbursement going to be launched?
Hi there. I saw somewhere that the partial reimbursement feature is in the work. What is the update and ETA of that? Our clients and prospects have been asking us and we agree that that is an important feature to have.
IP Address List > Sigma
We have developed a ZohoCRM extension that utilizes API calls to our server from Deluge scripts and Widgets. Our API server has IP restrictions in place. To ensure successful communication, we require a list of IP addresses utilized by Zoho's platform
Zoho CRM Canvas Copy Original Layout
Hello all, I want to use Canvas to make small changes to certain views, not to make huge changes. Is it possible to copy the original Zoho layout and set-up and start from there? I checked and all I can find are some templates which are far from the original
Trying to integrate gmail but google keeps blocking Zoho access for integration??
hi i am trying to integrate a gmail account so can track/access business emails this way. I have followed the instructions but after selecting my email account it gets re-routed to this message (screengrab below) Can anyone advise a way around this or
ZOHO Nightmare
I am writing as a long-time Zoho user who has faced significant challenges implementing your platform for my business. As a New York-based real estate broker, I have invested over $10,000 and nearly two years trying to integrate Zoho CRM with my WordPress
Approval system in Books/expenses
Hi In Books Is there a way to do the following: 1) Submitter to know the balance in Budget/cashflow before sending the amount for approval? 2) Approver to know the same as 1 above? In Expenses, is the above possible?
attaching pdf to a bill using REST api
I'm trying to attach a pdf to a bill using REST and curl. The problem is the example in that section in the API reference document does not show how to actually submit the file. It only shows the headers used. I've been trying many variations of this
How to Open .mbox file in Gmail with Attachments?
Gmail offer users to backup INBOX folder in .mbox file format via Google Takeout Feature. Howver there is no such option to Restore Gmail MBOX. Thus I would like to suggest you to choose an alternate approach i.e. MBOX to Gmail Wizard. This utility will open .mbox file in Gmail with attachments. Steps to open MBOX file in Gmail are; Run MBOX to Gmail Wizard Click Add File and add .mbox file. Enter your Gmail login credentials. Click Convert button. Finished! This is how you can open MBOX file in
How to create comparison time periods like these examples
In a Pivot Report I would like to be able to select any date range and show a set of metrics for that date range e.g. revenue, orders, units sold. I would then like to be able to compare to the previous period based on the amount of days on the selected
Custom fields for calls and an enhanced call creation form
Greetings, I hope you're all doing well. We're happy to announce a few recent enhancements we've made to Bigin's Calls module. We'll go over each one in detail. Enhanced call creation form in Bigin What is this enhancement about? This update includes
Customize user data collection with User Layouts
Users denote the people in your organization who work on agile projects using Zoho Sprints. You can add them to your workspace and associate them with required projects. Organizations have distinct requirements in collecting user data. Apart from the
Zoho Sites with GoDaddy DNS
We have a site hosted with www. in front that works perfectly well. The issue is with getting the TLD/naked DNS pointed to the www. while using GoDaddy dns. I have edited the DNS Forwarding entry in the domain so that the root example.com forwards to
Integration with Moodle
Greetings, I hope find all doing well and safe. I've recently returned to using Zoho Flow after a break and was hoping to connect my WooCommerce store with Moodle, the world's most widely used learning management system. My goal was to automatically enroll
Possible for "Specify URL Criteria" in URL/Permalink settings to be assigned to a variable?
I want to embed a Zoho Analytics chart view as a Related List item in the Zoho CRM Accounts module, such that when one is viewing a CRM Accounts module record for an Account, the user will see the chart for that specific company. Is it possible to set
How to present an Analytic on a CRM dashboard and filter it on loginuser id
How to present an Analytic on a CRM dashboard and filter it on loginuser id? I want to display an Analytics pivot table (as a widget) on a CRM dashboard and have the pivot filtered on the loginuser. I want additional user-filters available, such as date,
Allow 2 logos for Branding, one for Light Mode and one for Dark Mode?
Our logo has a lot of black text on it. If we leave the background transparent, per recommendation of Zoho, when a user is viewing a file and turns on dark mode, our logo is not really visible and looks really weird. It would be really great if we could
Pre-fill TO and CC fields for Email Templates
This would be a game changer to be able to set either specific email addresses or merge fields based on deal role titles into email templates. Please pass this along to *hopefully* add to future features of Zoho CRM.
Payroll In Canada
Hi, When can we expect to have payroll in Canada with books
Why can't we associate a contact to mulitple accounts?
This simple feature has been for 14 years now... it's way past ridiculous. We don't want to add a multiple lookup field, we just want to add a second account to our contact. This way i'll go on Jonh Doe and see in the account field : Company 1 and Company
Easy way to delete attachments
I've reached my data limit and would like to run a view/report, and mass delete attachments. Is there an easy, fast way to do this? Moderation Update: Post Summary: There are two features the post discusses a) Easy way to remove Email attachments Will
Calendar Bookings in Recruit
Hi there, We have recently started using Zoho recruit and although it has some great functionality there are a few gaps that are causing real headaches. One of those being how interviews are scheduled. The majority of our hiring managers are field based
Multiple Vendor SKUs
One of the big concerns we have with ZOHO Inventory is lack of Vendor Skus like many other inventory software packages offer. Being able to have multiple vendor skus for the same product would be HUGE! It would populate the appropriate vendor Sku for
How to Use Branch-Specific Templates for Invoices Created via Zoho Books invoice API?
I am using the Zoho Books Invoice API and I am sending the branch_id when creating an invoice. The invoice is being generated, but it is using the default template rather than the template that corresponds to the branch I specified. In Zoho Books, when
Automatic Department and Employee Sync Between Zoho One and Zoho People
Dear Zoho Support, I'm writing to propose a valuable feature request that would streamline data management and improve user experience within the Zoho ecosystem: automatic synchronization between departments and employees in Zoho One and Zoho People.
Delete Unactive Users form Directory
Hi, how to delete all unactive users ?
Manual Journal entry problem
Hi, all my manual Journal entries are not reflected in my general ledger. i have check to see if the entry were done correctly and everything is fine. Please help me
Changing Related Modules in a Report
Once a report is created, is it possible to add Related Modules? David Shalev | Chief Revenue Officer | 800 558 9130 davids@splitit.com | www.Splitit.com
Is there a way to limit/turn off unlimited Version History?
We save CAD files in our Zoho WorkDrive and while the files aren't very big themselves, whenever someone hits the save button in the CAD program it uploads another version of the file to the WorkDrive. This means files that are only a few MBs in size can actually be taking up 10s of GB in our WorkDrive if someone is saving frequently. Is there a way to limit the number of versions WorkDrive stores to save WorkDrive space?
Next Page