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
Depois de 1 ano não consigo receber e-mail
Consigo enviar e-mails mas não estou recebendo nenhum e-mail isso aconteceu pontualmente após eu completar 1 ano de uso. Me ajudem por favor
Submitted form URL
I am using the feature "Include a link to allow respondents to edit their responses" for the first time. This URL is included in the email sent to the user after they press Submit. If a form is Saved, there is a section called Partially Saved Entries
Function for Emails tranfer from Lead to Deal
Hi Due to the fact that my Deals conversion needs to be done in 2 ways - depending on the fact if those records already exists or not - resources in fields are different. I am making function control conversation for Leads but I have problem with transferring
Create a new immigration service- Similar to immigration law software
It will be good if you can build a new service. Data will be pulled from the employee form. Then automatically users should be able to complete immigration forms like I 129, ETA 9089, ETA 9035 E, G- 28, W4, I 9 PDF forms and then be able to send for signature with Zoho sign. Immigration Softwares like docketwise can be used for ideas. The advantage with this it sits within Zoho people and employees don't have to feed data in another system
Accessibility in Zoho CRM: Not just a feature—a way to empower
For instructions on setting up these controls, please check this help document: Configuring accessibility controls. Hello everyone, Today (December 3, 2024), on the International Day of Persons with Disabilities, we begin our journey towards a CRM that
Zoho Meeting very bad video quality
Hello, I need 1080p HD on my Zoho Meeting as explained here: Low Resolution/Quality Video (zoho.com) Currently, video quality is lagging with 400mb internet which is not acceptable for my business. My 1080p 60FPS webcam performs well on platforms like
Change format of quantity format
Hi, I would like to change the qunatity format from 1,00 to 1. Is this possible? thanks!
Contacts with Deals not appearing.
What: I simply want to see all of the contacts that are tied to an open deal Problem: In Contacts Module > When filtering on Contacts with an open deal, Zoho only shows some Contacts instead of all. Details: More specifically, I should have ~200 contacts
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.
CRM limit reached: only 2 subforms can be created
we recently stumbled upon a limit of 2 subforms per module. while we found a workaround on this occasion, only 2 subforms can be quite limiting in an enterprise setting. @Ishwarya SG I've read about imminent increase of other components (e.
Version of Cliq included with Zoho One and Limitations
I'm confused by the information presented in the application detail page of Zoho One. I'm a solopreneur with a single-seat Zoho One Enterprise license and I need to communicate externally .. extensively. The plan details page suggests channels are limited to 100 members. Whereas the pricing plan comparison page on the Cliq marketing site says 2500 for enterprise level. If it's 100... that's going to kill my use case as it is my understanding that external customers can only be communicated with
Resubmit for Approval for Zoho Books Module in CRM
The integration between CRM and Books is great, but it is incomplete in many areas. One of them is if an estimate/invoice/sales order is rejected, the users in CRM cannot resubmit it for approval. Let's face it, sales people will mostly be in CRM and
How to get a list of selected records into a button-function? Here is how!
So, you might know already how to get a button on a page somewhere and perform actions with a function when pressed, but how about a button that only works with the records you selected in the list view? The button selected is a custom button in the modules
Upload edited meeting recording for attendees to download
Hi Would it be possible to let meeting organisers upload an edited version of the meeting recording? Usage case: most of us probably start a meeting 15 minutes before the official start time. It would be nice to trim that dead time off the recording.
Why does the embed feature within the article editor seem to be not functional?
I would like to embed media into an article, but that feature seems to be non-functioning. Am I doing something wrong? to clarify, I do not want to create an article by embedding. I want to embed media into an article I have created in a manual.
Get all fields using COQL
Hi Is it possible to get all the fields of a record using COQL?. Something similar to select * from Accounts in SQL.
Mapping a new Ticket in Zoho Desk to an Account or Deal in Zoho CRM manually
Is there any way for me to map an existing ticket in Zoho desk to an account or Deal within Zoho CRM? Sometimes people use different email to put in a ticket than the one that we have in the CRM, but it's still the same person. We would like to be able
Inquiry Regarding Image Display Issue in Campaign Duplication
We are currently using Zoho Campaigns for email distribution to our clients. I would like to inquire about an issue we encountered. When duplicating a previously created and sent campaign from the "All Campaigns" section, the images used in the header
Can it change the language ?
Hello ! The question is in the title ;)
Notes and Notebook integration
Maybe I missed it, but is there a way to synch notes in the desktop with the notes in the Notebook app? I've been combing through the help topics and other forum entries and not finding anything. When I downloaded the android app I assumed there was integration with the desktop notes. Is that not the case? thanks.
Tags on notes aren't syncing correctly on Android
I've created notes on the desktop version that have several tags assigned, but on both my Android devices those notes only have ONE of those tags instead of all of them, despite the actual content of the note being correctly synced, and I'm also starting
Text formatting does not work (Notebook Mac)
The text formatting does not work at all. It seems, that the program loses the selection and therefore hitting bold, italic, etc. does not do anything.
For Each Loop only returns 1st result of List, not the whole list?
I have a custom function that collects event data from Google calendar using invokeURL. I want to create meetings in CRM from this URL response. The invokeURL response contains over 100 records and works perfectly (code line 2). Then I'm using a For Each
Zoho Sheet-Pulling in Data
I have a module where we track POs, Bills etc (its easier for us this way). In this PO Module, we have a task related to a Job/Deal and various fields for costs. A Supplier on a Job might have several POs in this module for the job. I want to generate
Subform Data in v2 REST API
What is the mechanism for adding subform data in the Creator v2 REST APIs? There is nothing documented in the Data APIs documentation (https://www.zoho.com/creator/help/api/v2/). I was able to determine how to GET the subform data by adding it to the
How do I delete a test email address to which I am supposed to send a test email?
How do I delete an email address added to a test email recipient that is no longer needed due to resignation or other reasons?
How to autorespond for inactive users?
Hi, we have a few inactive users that we would like to set up an autorespond to the sender telling that the email addresses are no longer active. How can we do that?
What is Attendee Status 0 and 1?
Hi there, I recently stumbled upon the API to get the attendee list and in the return value, there is a parameter called "status", and 0 supposed to mean not_attending, and 1 means attending. I cannot find this representation anywhere in the attendee
Kaizen #121 : Customize List Views using Client Script
Hello everyone! Welcome back to another interesting Kaizen post. In this post, we can discuss how to customize List Views using Client Script. This post will answer the questions Ability to remove public views by the super admin in the Zoho CRM and Is
Batch Number on Packing Slip
When we send orders to our warehouse, we want to tell them the batch number to pull from the shelf. It seems we should be able to pick the batch when assembling the package. In the current Inventory, we have to create an invoice, pick batches for the invoice. This is too late. As a workaround, we are sending the invoice to the warehouse (via a template that removes most of the price information). This is cumbersome and causes our warehouse to see the total invoice price (which can't be removed
Editing a bundle
How can I edit a bundle?
Saving URL for Submitted Forms
The unique URL for submitted forms should be saved automatically within 'System Fields'. (without sending a duplicate email to myself, there is no other way to retrieve the unique URL for a submitted form if the user wishes to update) Additionally, it
Implement Meeting Polls in Zoho Bookings
Dear Zoho Bookings Support Team, We'd like to propose a feature enhancement related to appointment scheduling within Zoho Bookings. Current Functionality: Zoho Bookings excels at streamlining individual appointment scheduling. Users can set availability
Response from a customer via web channel
Is it possible to ensure that a customer using the web channel can respond to an agent's question without creating a new thread but instead linking their response to the existing thread?
Venezuelan Bolivares missing from available currencies
My mother is ill and lives in Venezuela. I do her finances and insurance expences related to medical billing. Most receipts are in Venezuelan Bolivares. However I cannot find this currency. I am migrating from Expensify which conveniently has Bolivares
Flow with CRM
Hello, I have a simple flow that uses a web hook to enter data into a Sales Order. I have the web hook sending Flow data which has a PO field. If the PO has a special character like - or / or \ the task fails. How can I get the flow to be okay with the
Using WhatsApp with your existing number
Hi. We want to use the WhatsApp functionality in Zoho Desk. We already have a WhatsApp business account. Is it possible to use your existing number instead of creating a new number?
Customize Section
I know it has to be in the themes somewere but where is it that you can change the divider color of a section?
Customer Feature Requests
Like Zoho, we're a software company that markets an SaaS product. We frequently get feature requests that come from the support system. My technicians have a responsibility to listen to our customer requests and add them. Right now the only way to do
the expected input type is jsonarray
I keep getting an error when creating a record in CRM via a Zoho Form. CRM has a pick list field "Type". All Form entries from this form will ALWAYS be "Volunteer", therefore we do not ask them what their Type is. I am trying to use Set Value to create
Next Page