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
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?
ZOHO One Webinar Functionality
I am currently trialling ZOHO Projects and have also been looking into over a dozen different Webinar solutions from various vendors. I understand that ZOHO Webinars is a stand alone tool. But that ZOHO Meetings also offers webinar functionality. The
Avoid None option in List Custom Fields
Does anybody know a way to avoid -- None -- option to be displayed in a List Custom Field? - With Mandatory option selected, you can prevent from saving if user select --None-- value. - With Default value selected, a different value than --None-- is
How do I modify the the incoming/current call popup? I can modify other call pages but not that one.
I want to modify the incoming and active call popup on the crm to include customer relevant information, such as purchase history or length of relationship. Under modules and fields, I don't seem to see active call as a choice to modify, only the main
JavaScript or iframe embed with transparent background
If I have a form with transparent Wallpaper, it appear great on my website by using my default background. However, using Zoho Forms SAVE button, the user is directed to Zoho Forms managed page and a blank background. Alternatively, I can include a Wallpaper
Emails and Kanban for Portals
There was talk portals would have emails and email templates, and kanban view. Is there any release date for this? Portals has been so good for offering a simple crm option. It just needs a couple of small things.
Custom sorting Axis in a Heatmap report
I have a heatmap and want to sort the order of the axis in a custom priority order - is this possible ? So I want the priority to be "New, Urgent, High, Medium, Low, Not Set, Unknown" Can I set this manually ?
ZOHO BackStage
How to get list of events, using ZOHO BackStage APIs. Is it possible OR not?
Which attribute in Zoho books invoice api represent branch attached to the invoice?
Hi Zoho Team, We have done the integration with Zoho Books API. While fetching data from Invoice API we want to get branch value attached to the invoice. We could not figure out which field in "Get an Invoice" api represents branch value attribute. Thanks
The 3.1 biggest problems with Kiosk right now
I can see a lot of promise in Kiosk, but it currently has limited functionality that makes it a bit of an ugly duckling. It's great at some things, but woeful at others, meaning people must rely on multiple tools within CRM for their business processes.
Zoho People down
Zoho People (EU) appears to be inaccessible this morning. Have gotten through log-in and MFA but have been on the "Please wait while we work our charm..." page for several minutes now. A colleague has tried to access it via the One dashboard and experienced
Zoho Analytics Pivot Table - How to compare month vs last year same month
Hi, I had created a pivot table with setup as below: Column: - Delivery Date Row: - Customer Group Data as column - Total amount (sum > normal) (show data of the month) - Total amount (sum > % difference from previous value) (compare between this month
Adding Bluesky channel
Hello, Is Bluesky (AT protocol) soon added on Social ? Bluesky is being developped and is now open to anyone (no more invitation) Thank you
No Zoho Support on the weekends or after hours?
Zoho Support is only available Monday - Friday during normal business hours. My business (as does many businesses) operates 7-days a week. Last Saturday, I had a client come in and in order for me to help her, I needed to log into CRM but to my surprise,
How do I overcome the 800 transaction rule limit?
I just received a message: "You have reached the maximum rule limit of 800." I searched the documentation, and I didn't find anything about the cap or limit. I asked the ZOHO Books team if there is a way to increase the limit. Their answer was: "Please
Search functionality in Vault is very poor
Hi Zoho Team Please... the search functionality is absolutely vital in Vault, particularly when it's being used by a team. It's just a fact of life that everybody has their own way of naming something, so using exact match on the Password name is horribly
👋 Pessoal, como está sendo sua experiência com ferramentas de produtividade?
Percebo que muitos usuários de soluções como Google Workspace e Microsoft 365 acabam enfrentando desafios quando pensam em migrar de plataforma, especialmente por conta de multas contratuais ou até pela complexidade em adaptar as equipes. Além disso,
Quais são os maiores desafios que você enfrenta ao implementar o Zoho CRM?
Olá, pessoal da comunidade Zoho Brasil! Sou parceiro autorizado da Zoho e, ao longo do tempo, tenho notado que cada implementação de CRM traz desafios únicos, dependendo do segmento de negócio, das metas da empresa e até da familiaridade da equipe com
Parent - Child Ticket Twins
I think i maybe losing my mind. Are these two completely separate parent-child ticketing functions? I think I remember adding a plugin years ago and I think I also remember seeing something about parent-child ticketing in a release notes being added.
Can the Comments from approval process be posted onto a module field and not on the timeline?
I have set up approval process for the quotations module and would like for the approval comments to be posted onto a module field as opposed to me searching for the particular quote and going to the timeline section. This would also help keep tabs on
auto reply shopify order details in zoho desk based on order number in subject using deluge script custom function
auto reply shopify order details in zoho desk based on order number in subject using deluge script custom function
Is there an ability to keep the status field unlocked while having an active blueprint?
Hi. Is there an ability to keep the status field unlocked while having an active blueprint? Here is the case. We have a transition let's say "Ask to the customer" When we do this transition the Status is switch to "waiting for customer" But if for exemple
Rename Category and Sub Category fields
Is it possible to rename the field labels for Category and Sub Category - if so can this be done at layout or department level ?
Thoughts on users being able to create Zoho accounts?
For anyone who's used Zoho for a while, I'm sure you've come up against an issue where you create an account for a user, and they go ahead and sign up for a new one accidentally. Then, only they can delete the account, as it exists outside the organisation.
Deluge should permit a connection to be set with a variable
Hello, Being one who occasionally likes to post code in the forums, I try to make anything that the end user needs to define be present at the very top of the script so that those who want to implement the script won't have to hunt through lines of code,
Bcc option in "new ticket --> send as email" disappeared
Is it just me or did the bcc option disappear in the "send as email" option of new tickets in desk? This is very inconvenient.
Automated Intercompany Transaction
Hello team - expecting a support today. I have some good experience with Zoho products as an accountant and trying to introduce the Zoho to my newly joined company. So far it's going on good except below question. I'm currently maintaining multiple companies
change subscription within customer portal
Would be great for the customer to be able to change their own subscription (or restart existing one) within the customer portal. Also, would like to be able to have early termination fee on subscriptions if canceled early.
I'm getting an "Invalid_scope" error, even though I used an access token generated with the correct scope.
I'm getting an "Invalid_scope" error, even though I used an access token generated with the correct scope. Here’s what I did in Postman: Generated the code to create an access token using the following URL: https://accounts.zoho.eu/oauth/v2/auth?scope=ZohoCampaigns.contact.UPDATE&client_id=<client_id>&response_type=code&access_type=offline&redirect_uri=https://1882-2-26-193-161.ngrok-free.app
How to Automate Form Creation and Workflow Setup in Zoho Creator?
Does anyone have ideas on how to create a form workflow that can perform the following functions automatically when a new submission is received for the existing form? Create a new form and report Create a new page Generate a new form workflow for the
How can i use edit url in the html snippet dynamically using parameter ? after clicked on that value
after clicked on that value .. How can i use edit url in the html snippet dynamically using parameter ? for each record their corresponding record will open.. Can we have sample url for the same ?
Next Page