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
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 ?
Sales without Invoice refund
I have a sales without invoice in my stripe account from April. This is a double entry as the customer paid the invoice and that was recorded in Stripe. I cannot delete it as it was included in a VAT return. I need to remove it or refund it to balance
Updating sum of subform
I encountered another problem for updating of sum of fields in a subform. on a main form (Make_claim), I have a dynamic drop down (approved_budget_purpose) list to which filters the the items display in a subform (expense_claim_history1). In the subform,
IP Addresses for Whitelist
Hi, Where can I get a list of the IP addresses I need to whitelist for accessing Zoho Desk? TIA
Ability to rename community tabs as own preference
Current zoho desk community tabs unable to rename however i see it has as suitable standard for most communities But it will be more better and beneficial if possible to modify(rename) then we can use the community for various purposes and able to change them as very convenient for, various product & services various fields organizations push(add) many topics types into one community instead host several community forums or portals. Setup > Channels > Community > Preference > Topic Type This's an
How to a customise the support email id to our custom domain
we need to have support email address in our custom domain email id. how to do it?
Enhanced Anti-Spam Capabilities for Zoho Desk
Dear Zoho Team, We appreciate the existing feature in Zoho Desk that detects and automatically marks suspicious email tickets as spam, moving them to the spam tickets view. Additionally, the ability to auto-mark associated contacts as spam is helpful.
How to Associate multiple contacts with deal in Sales Inbox
Hello, I have many deals that have multiple potential customers associated with a single deal, for example an engineer and a manager. The manager is the Deal's primary contact in CRM and the Engineer is added to the deal in the "Contact Roles" Associated
Trying to sort tickets in "Status" mode by age
Struggling with an odd issue, hoping someone can help. Trying to use the basic "Status" ticket-view, but can't find the setting that will put the oldest tickets at the top of each "Status" column. I found this in other ticket-view options (classic, compact,
Why is Zoho Meeting quality so poor?
I've just moved from Office 365 to Zoho Workplace and have been generally really positive about the new platform -- nicely integrated, nice GUI, good and easy-to-understand control and customisation, and at a reasonable price. However, what is going on
Associate all "Active" users to a newly created project... (Zoho Projects API Documentation lacking)
Today I spent almost 3 hours trying to do something which I discovered has been asked for for over 14 years in Zoho Projects, that is when a new project is created to assign all active users to the project. My first thought was, okay this should be fairly
(MAJOR ISSUE?) Chat GPT integration. Wrong endpoints in API integration for embedding models.
There seems to be a issue with the API endpoints with the ChatGPT, Zoho Flow integration. When using the model 'text-embedding-ada-002' the endpoint should be v1/embeddings but instead it's v1/chat/completions. Here's an example of the history on a failed
Undocumented System Variables
Hi, The documentation that I'm aware of for Zoho Analytics system variables is found here. However, I don't see the system.timeline.date.from and system.timeline.date.to variables listed. Where can I find a list of all the system variables in Zoho Analytics
Top Menu Disappeared from Blog Page
Hi, Our top menu disappeared at Blog Posts page. However, it's still visible any other page on the website. I attached two screenshots, so it can be understood clearly. How can we bring back top menu? Thanks, K.
UK payroll entries
Hey guys, Nett payroll payments are imported direct into the bank, using an external payroll system (will be glad for Zoho to have a UK payroll app) At present I have monthly recurring bills for HMRC which are auto entered & paid when due. This seems
Calculating Active Months and Recurring Monthly Revenue
Hi everyone, as part of my offering I have a membership community that people pay monthly for. This is hosted on Squarespace. In my Zoho CRM I have added a field for the date a person becomes in active. This means there is a "closing date" which is the
Accounting on the Go Series:58-Effortless Compliance: Download XML for Invoices & Credit Notes on Mobile
Hi there! In Mexico, XML files are crucial for electronic invoicing and fulfilling SAT (Tax Administration Service) requirements. These files ensure your transactions are accurately recorded and tax-compliant. Now, you don’t need to rely on the web app
Zoho Developer Community Monthly Digest - November 2024
Hello everyone! Welcome back to the November edition of the Developer Community Monthly Digest. Dive in to explore the upcoming events, hands-on training sessions, exciting product updates, insightful discussions, and more to keep you informed and inspired!
Process FOR loop for subform items in the order of the manual sorting
Hi Guys, I have searched everywhere and tried everything, but I still not able to resolve one particular challenge. I have a subform in my Invoice with rows for each item. I made it so that we can change the order of the items manually. I need to be able
Address Input and Map Functionality Challenges in Zoho: Need Advice
I just started using the Zoho ecosystem for my business. Everything seems to be working fine, except for the map features built into the applications. It's quite difficult to input an address when creating a new lead. Some of you might suggest using extensions
Accounting on the Go Series-57: Effortlessly Add and Manage Bank Accounts from the Zoho Books Mobile App
Hi all, Great news for our users in the US and Canada! Managing your finances just got a whole lot easier. Zoho Books has always made it seamless to integrate bank accounts and fetch feeds automatically. Now, we’re taking it up a notch—directly from the
Foreign currency Bank Account month end revaluation
I have a question i have 2 bank accounts one in USD and the other in EUR , how to make the month end journal entries for exchange rate revaluation , also how to maintain the exchange rates daily on Zoho books for the foreign currencies . I made transfer
Zoho Forms Integration with Sign
Hi there, following recent feedback that Zoho Sign is really not very useful friendly when using a mobile device I am exploring integrations with Zoho Forms. I have managed to create a form and integrate this into Sign pretty easily when a form is just
[Free Webinar] Creator Tech Connect Series - Product Release Updates in Zoho Creator
Hello Everyone! We welcome you all to the upcoming free webinar on the Creator Tech Connect Series. The Creator Tech Connect series is a free monthly webinar that runs for around 45 minutes. It comprises technical sessions in which we delve deep into
Need code format to specify default values
Can someone please direct me to the code syntax or the proper translation per the instructions circled below. These instructions don't seem correct.
A quicker way to provide accountants access to Zoho Books, similar to Xero and Quickbooks
Hey guys, I'm finding the procedure to give access to an external accountant to Zoho Books less than ideal. Having to create an account by Zoho instead of myself, and then wait for it to be given a license to then pass to the accountant seems a bit time
Introducing color coding feature of picklist fields in Meetings
Dear All, Greetings! As part of the ongoing UI enhancement, we are excited to introduce color coding of picklist fields in Meetings. 'Meetings' is a great way to collaborate with peers and stay productive. You can block the calendar, invite participants,
Importing old Invoices into Zoho Books - Hitting the limit
I'm currently working on importing historic invoices and payments made records from one Zoho Books premium instance into another however i'm hitting the 25,000 per year limit issue, these invoices go all the way back to 2019, and i understand that generating
Accounting on the Go Series-56: e-Way Bill Module in the Mobile App – A Handy Solution for Indian Businesses
Hello everyone, Managing e-Way bills just got more convenient with the Zoho Books mobile app! For businesses operating under the GST regime, e-Way bills are essential for tracking the movement of goods. Previously, you had to log in to the web app to
Why Zoho Campaigns have massive more limitations like other software?`
Hello, it was a time we managed +300 zoho campaigns accounts. But after only 3 years we handle now only +70 accounts. The reason? Because other solutions integrate much faster new functions. And not only this: They do not only release a new function -
Limit tasks per due date
I am trying to figure out a way to limit the number of Tasks users can set on any given due date. But the number of tasks will differ for different users. Example - User 1234 will be permitted 100 tasks on each due date User 5678 and User 9012 will be
ZOHO CRM API changing timestamp format
I'm working on integrating ZOHO CRM API with USM anywhere. USM anywhere supports only a few timestamp formats. the current timestamp format( yyyy-MM-ddTHH:mm:ss±HH:mm) is not supported by USM. Is there a way I can change this format to for example(yyyy-MM-ddTHH:mm:ss)?
Formula field update
In a Blueprint, I have a stage called 'Plan inspection date'. At this point there is a fork, which depends on the number of days between now and the installation date. If there are less than 21 days, then the inspection should be planned urgently, if
Automating Employee Birthday Notifications in Zoho Cliq
Have you ever missed a birthday and felt like the office Grinch? Fear not, the Cliq Developer Platform has got your back! With Zoho Cliq's Schedulers, you can be the office party-cipant who never forgets a single cake, balloon, or awkward rendition of
Accounting on the Go Series-55: Seamlessly Add New Vendors While Creating Transactions from Scanned Documents
Hi there! We’ve made handling documents and vendors in Zoho Books even simpler. Now, when you upload a document and scan it, if the app detects a vendor that isn’t already in your organization, you don’t have to leave the page to add them manually. With
Surpress Zoho warnings in Customer Portal
I'm experimenting with the Customer Portal. When I log in as a customer, this message shows up, completely covering the menu bar at the top. Can such messages be surpressed? I know, it is very easy to get rid of it, but when I demonstrated the portal
Default Sorting on Related Lists
Is it possible to set the default sorting options on the related lists. For example on the Contact Details view I have related lists for activities, emails, products cases, notes etc... currently: Activities 'created date' newest first Emails - 'created
Next Page