Kaizen 213 - Workflow APIs - Part 1

Kaizen 213 - Workflow APIs - Part 1


Welcome to another week of Kaizen!

If you have ever managed complex business processes, you know that Workflows are the quiet backbone of any well-run business process. They keep things moving; assigning owners, sending alerts, keeping deals on track, and much more. But until now, you could not manage them via APIs. That changes with the release of Workflow APIs.

In this series, we will work through a real-world scenario together, showing you how to transition from manually managing workflows to governing them using APIs. We’ll look at Zylker Cloud Services, an IT solutions provider trying to bring order to its growing CRM automations.

The use case: Scaling the sales process at Zylker Cloud Services 

Zylker’s sales process touches multiple teams and modules like Leads, Deals, Calls, Appointments, etc. Over time, different team members created their own workflows. The result is familiar to anyone who has scaled fast:

  • Multiple versions of what should be the same process

  • Old, unused workflows still running.

Now, Zylker wants to bring structure and visibility to this automation sprawl. Their system administrators are building a custom admin dashboard to monitor and manage CRM workflows, without needing deep CRM expertise.

They want to:

  • Display a real-time list of all workflows with their status

  • Gain insights into workflow distribution across modules

  • Identify inactive or outdated workflows that may need cleanup.

However, the CRM UI only allows viewing one workflow at a time. There is no consolidated view to see all workflows, their triggers, and their status across modules. That makes auditing and governance tedious and error-prone, especially at scale.

This is exactly what the Workflow APIs solve. With this, they can:

  • Audit all existing workflows.

  • Review how and when they trigger.

  • Identify which modules and actions are supported before creating new rules or updating existing ones.

  • Update existing rules and create new rules.

  • Delete the rules that are no longer needed.

You can not build a dynamic admin dashboard or an automated audit system for Workflows through just clicks. But you can do this now, with Workflow APIs.

STEP 1: Discover and audit existing workflows

Before changing anything, we need to understand what we are working with. How many workflows do we have? What do they do? How many more can we create?

To get a complete inventory of Workflow rules, we can use the GET Workflow Rules API. This API returns a list of all the Workflow Rules configured for the CRM account.

Sample Request:

GET {api-domain}/crm/v8/settings/automation/workflow_rules

This initial audit acts like a master list, giving us an overall picture. It helps understand the scope of the automation landscape and identify obvious redundancies, like multiple workflows with similar names or purposes.

Sample Response:

{

    "workflow_rules": [

        {

            "created_time": "2024-01-15T14:20:30+05:30",

            "execute_when": {

                "details": {

                    "trigger_module": {

                        "api_name": "Deals",

                        "id": "4876876000000002181"

                    },

                    "repeat": false

                },

                "type": "create_or_edit"

            },

            "editable": true,

            "module": {

                "api_name": "Deals",

                "id": "4876876000000002181"

            },

            "deprecated": false,

            "deletable": true,

            "description": "Alert VP of Sales for high-value opportunities",

            "source": "crm",

            "created_by": {

                "name": "Matthew Mayers",

                "id": "4876876000001360001"

            },

            "last_executed_time": null,

            "modified_time": "2024-01-23T12:23:12+05:30",

            "name": "VP Alert - High Value Deal",

            "modified_by": {

                "name": "Matthew Mayers",

                "id": "4876876000001360001"

            },

            "lock": {

                "locked_by": null,

                "message": null,

                "status": false

            },

            "id": "4876876000016390024",

            "category": "default",

            "conditions": [

                {

                    "sequence_number": 1,

                    "instant_actions": {

                        "actions": [

                            {

                                "related_details": null,

                                "name": "VP notified",

                                "details": {

                                    "module": {

                                        "api_name": "Deals",

                                        "id": "4876876000000002181"

                                    }

                                },

                                "id": "4876876000016390063",

                                "type": "field_updates"

                            },

                            {

                                "related_details": {

                                    "best_time": true

                                },

                                "name": "High value deal alert",

                                "id": "4876876000016390015",

                                "type": "email_notifications"

                            }

                        ]

                    },

                    "scheduled_actions": [

                        {

                            "execute_after": {

                                "period": "business_days",

                                "unit": 1

                            },

                            "id": "4876876000016390074",

                            "actions": [

                                {

                                    "related_details": null,

                                    "name": "Confirm VP follow-up",

                                    "id": "4876876000016390067",

                                    "type": "tasks"

                                }

                            ]

                        }

                    ],

                    "criteria_details": {

                        "relational_criteria": {

                            "module_selection": null,

                            "criteria": null,

                            "module": null

                        },

                        "criteria": {

                            "group_operator": "AND",

                            "group": [

                                {

                                    "comparator": "equal",

                                    "field": {

                                        "api_name": "Amount",

                                        "id": "4876876000000002557"

                                    },

                                    "type": "value",

                                    "value": "50000"

                                },

                                {

                                    "comparator": "equal",

                                    "field": {

                                        "api_name": "Stage",

                                        "id": "4876876000000002565"

                                    },

                                    "type": "value",

                                    "value": "Negotiation/Review"

                                }

                            ]

                        }

                    },

                    "id": "4876876000016390025"

                }

            ],

            "status": {

                "active": true

            }

        },

        {

            "id": "4876876000012015001",

            "name": "Lead Assignment - North Region",

            "module": {"api_name": "Leads"},

            "status": {"active": true},

            "execute_when": {"type": "create"},

            "last_executed_time": "2025-10-14T11:56:20+05:30"

            // ... other keys omitted for brevity

        },

        {

            "id": "4876876000012020001",

            "name": "Lead Assignment - South Region",

            "module": {"api_name": "Leads"},

            "status": {"active": true},

            "execute_when": {"type": "create"},

            "last_executed_time": "2025-10-14T10:30:15+05:30"

            // ... other keys omitted for brevity

        }

        // ... additional workflows

    ],

    "info": {

        "per_page": 200,

        "count": 71,

        "page": 1,

        "more_records": false

    }

}


The response gives us a comprehensive overview of all configured workflows. For each rule, we get the metadata including its unique ID, name, description, the module it operates on, its activation status, and details about when it triggers. We also get audit information like creation timestamps and which user made changes.

Working with large results

When you have hundreds of workflows, pagination helps. The response includes an info object with pagination details:

  • count: The number of workflows on the current page

  • per_page: The maximum number of records per page (default and max is 200)

  • page: The current page number

  • more_records: Indicates if there are additional records to fetch.

If the more_records key is true, we can retrieve the next page by using the page parameter in the request.

While getting all workflows gives you the big picture, we may often want to focus on specific areas. This API offers several parameters to narrow down our search:

Parameter type

Description

module
string

Filters workflows by the primary module they operate on.

trigger_module
string

Filters by related modules that can trigger workflows. Use this when you want workflows that are triggered by changes in related records.
Note: Requires the module parameter.
For example: module=Leads&trigger_module=Notes - Get lead workflows triggered by note activities

execute_on
string

Filters by the specific action that triggers the workflow.
Note: Requires the module parameter.

status_active
Boolean

Filters by activation status to see only active or inactive workflows. Useful for audits and cleanup operations.

filter
string

Searches workflows by name using a JSON filter.
Note: The value of this parameter must be URL-encoded.

page
integer

Specifies which page of results to return. Use this for pagination when you have a large number of workflows.

per_page
integer

Limits the number of workflows returned per page. The default and maximum value is 200.

sort_by
string

Sorts the workflows based on a specific field. The only supported value is modified_time.

sort_order
string

Sorts the workflows in ascending (asc) or descending (desc) order.

include_inner_details
string

Includes the inner details like conditions and actions of the workflows in the response.
Note: Requires the module parameter.

 

For example, to find all active lead workflows containing "Assignment" in their name, use:

https://www.zohoapis.com/crm/v8/settings/automation/workflow_rules?module=Leads&status_active=true&filter={"field":{"api_name":"name"},"comparator":"contains","value":"Assignment"}

 

Here is the API-call-ready version of the same, after URL encoding the filter value:


Now, if you inspect the response closely, you can see that we have two similar workflows: "Lead Assignment - North Region" and "Lead Assignment - South Region." And there is also an older workflow named "VP Alert - High Value Deal."

This workflow was created almost a year ago by a former team member, and it has not been modified for a long time. Is it still relevant? What exactly does it do? What criteria define a "high-value deal," and who exactly gets notified?

To answer these questions and understand the workflow's complete logic, we must examine it closely using the Get a Workflow API. This API returns the full configuration including all conditions, criteria thresholds, and specific actions for an individual workflow.

STEP 2: Inspect a single workflow using Get a Workflow API

Sample Request:

GET {api-domain}/crm/v8/settings/automation/workflow_rules/4876876000016390024

Here, 4876876000016390024 is the unique ID of the Workflow rule whose details we want to fetch, obtained from the response of Get all Workflows API.

Sample Response:

{

    "workflow_rules": [

        {

            "created_time": "2024-01-15T14:20:30+05:30",

            "execute_when": {

                "details": {

                    "trigger_module": {

                        "api_name": "Deals",

                        "id": "4876876000000002181"

                    },

                    "repeat": false

                },

                "type": "create_or_edit"

            },

            "editable": true,

            "module": {

                "api_name": "Deals",

                "id": "4876876000000002181"

            },

            "deprecated": false,

            "deletable": true,

            "description": "Alert VP of Sales for high-value opportunities",

            "source": "crm",

            "created_by": {

                "name": "Matthew Mayers",

                "id": "4876876000001360001"

            },

            "last_executed_time": null,

            "modified_time": "2024-01-23T12:23:12+05:30",

            "name": "VP Alert - High Value Deal",

            "modified_by": {

                "name": "Matthew Mayers",

                "id": "4876876000001360001"

            },

            "lock": {

                "locked_by": null,

                "message": null,

                "status": false

            },

            "id": "4876876000016390024",

            "category": "default",

            "conditions": [

                {

                    "sequence_number": 1,

                    "instant_actions": {

                        "actions": [

                            {

                                "related_details": null,

                                "name": "VP notified",

                                "details": {

                                    "module": {

                                        "api_name": "Deals",

                                        "id": "4876876000000002181"

                                    }

                                },

                                "id": "4876876000016390063",

                                "type": "field_updates"

                            },

                            {

                                "related_details": {

                                    "best_time": true

                                },

                                "name": "High value deal alert",

                                "id": "4876876000016390015",

                                "type": "email_notifications"

                            }

                        ]

                    },

                    "scheduled_actions": [

                        {

                            "execute_after": {

                                "period": "business_days",

                                "unit": 1

                            },

                            "id": "4876876000016390074",

                            "actions": [

                                {

                                    "related_details": null,

                                    "name": "Confirm VP follow-up",

                                    "id": "4876876000016390067",

                                    "type": "tasks"

                                }

                            ]

                        }

                    ],

                    "criteria_details": {

                        "relational_criteria": {

                            "module_selection": null,

                            "criteria": null,

                            "module": null

                        },

                        "criteria": {

                            "group_operator": "AND",

                            "group": [

                                {

                                    "comparator": "equal",

                                    "field": {

                                        "api_name": "Amount",

                                        "id": "4876876000000002557"

                                    },

                                    "type": "value",

                                    "value": "50000"

                                },

                                {

                                    "comparator": "equal",

                                    "field": {

                                        "api_name": "Stage",

                                        "id": "4876876000000002565"

                                    },

                                    "type": "value",

                                    "value": "Negotiation/Review"

                                }

                            ]

                        }

                    },

                    "id": "4876876000016390025"

                }

            ],

            "status": {

                "active": true

            }

        },

        {

            "id": "4876876000012015001",

            "name": "Lead Assignment - North Region",

            "module": {"api_name": "Leads"},

            "status": {"active": true},

            "execute_when": {"type": "create"},

            "last_executed_time": "2025-10-14T11:56:20+05:30"

            // ... other keys omitted for brevity

        },

        {

            "id": "4876876000012020001",

            "name": "Lead Assignment - South Region",

            "module": {"api_name": "Leads"},

            "status": {"active": true},

            "execute_when": {"type": "create"},

            "last_executed_time": "2025-10-14T10:30:15+05:30"

            // ... other keys omitted for brevity

        }

        // ... additional workflows ...

    ],

    "info": {

        "per_page": 200,

        "count": 71,

        "page": 1,

        "more_records": false

    }

}

 

The detailed response gives us a complete blueprint of the workflow. We can now see the exact business logic: the workflow triggers when deals are edited and meet two specific conditions; when the amount equals exactly $50,000 AND the stage is Negotiation/Review.

More importantly, we can see all the actions that execute: an immediate field update to mark deals as "VP notified," an email notification sent at the optimal time, and a follow-up task scheduled for one business day later. Here's what is really interesting about this detail; this workflow has never actually executed, despite being active for nearly a year, because the last_executed_time is null in the response.

Now we are left with some important questions. Is that $50,000 threshold too narrow? What if a $49,000 deal is just as important? And is the VP still the right person to alert? Are there additional stakeholders who should be notified beyond just the VP? These are the type of questions you can start answering once you inspect your workflows closely.

STEP 3: Check limits and distribution

Before making any changes, we must understand our automation capacity and how workflows are distributed across the organization. The Workflow APIs provide two key endpoints for this:

1. Get Workflow limits API

This API provides a comprehensive view of your organization's workflow capacity across multiple dimensions.

Sample Request:

GET {api-domain}/crm/v8/settings/automation/workflow_rules/actions/rules_count

Sample Response:

{

    "rules_count": {

        "scheduled_actions_per_rule_limit": 5,

        "total_rules_limit": 2500,

        "active_rules_configured": 71,

        "rules_per_process_limit": 10,

        "total_actions_per_rule_limit": 50,

        "total_rules_limit_per_module": 125,

        "active_rules_limit": 2000,

        "total_rules_configured": 82,

        "active_rules_limit_per_module": 75

    }

}

 

This response gives the following information:

  • Total Capacity: Zylker has a generous limit of 2,500 total workflows, with only 82 currently configured. This means that they are using just 3 percent of their total capacity.

  • Active Workflows: There are 71 active workflows, well below their 2,000 active workflow limit

  • Module-level Limits: Each module can support up to 125 total workflows, with 75 of those allowed to be active simultaneously.

  • Action Limits: Each condition in the Workflow can contain up to 50 total actions, with a maximum of five scheduled actions.

For Zylker, this is excellent news. Only 71 active workflows out of a 2,000 limit. This means we have substantial room for growth and can confidently create new workflows without worrying about capacity constraints.

2. Get module-wise counts API

This API tells you exactly how many workflow rules you have in each module. It shows both the total number of rules and how many are currently active. This helps you see where your automations are concentrated and where you might be missing opportunities.

Sample request:

GET  {api-domain}/crm/v8/settings/automation/workflow_rules/actions/module_specific_count

Sample Response:

{

    "module_specific_count": [

        {

            "active_rules_configured": 2,

            "module": {

                "api_name": "Products",

                "id": "4876876000000002213"

            },

            "total_rules_configured": 2

        },

        {

            "active_rules_configured": 2,

            "module": {

                "api_name": "Deals",

                "id": "4876876000000002181"

            },

            "total_rules_configured": 2

        },

        {

            "active_rules_configured": 4,

            "module": {

                "api_name": "Contacts",

                "id": "4876876000000002179"

            },

            "total_rules_configured": 5

        },

        {

            "active_rules_configured": 2,

            "module": {

                "api_name": "Appointments__s",

                "id": "4876876000002362026"

            },

            "total_rules_configured": 3

        },

        {

            "active_rules_configured": 4,

            "module": {

                "api_name": "Calls",

                "id": "4876876000000033015"

            },

            "total_rules_configured": 5

        },

        {

            "active_rules_configured": 43,

            "module": {

                "api_name": "Leads",

                "id": "4876876000000002175"

            },

            "total_rules_configured": 51

        },

        {

            "active_rules_configured": 14,

            "module": {

                "api_name": "Emails",

                "id": "4876876000000014163"

            },

            "total_rules_configured": 15

        }

    ]

}

 

Looking at this response, we can see 43 active workflows in Leads but only two in Deals. This tells us that Zylker is heavily focused on lead management but might be missing opportunities to automate their sales process later in the pipeline.

Together, these two APIs give a complete picture of the automation capacity and distribution.

What's next: From understanding to action 

Now that we have our foundation, we are ready to start building and refining.

In the next part of this Kaizen series, we will move from discovery to design. We’ll use the Workflow Configuration, Create, and Update APIs to standardize Zylker’s automation management, create new workflow rules, and update existing ones for consistency and efficiency.

We hope that you find this post on Workflow APIs useful. If you have any feedback, or if there are any pain-points that you would like us to address in our Kaizen series, please let us know in the comments, or reach out to us via support@zohocrm.com. We will be happy to help!

Until we meet again next Friday, Happy coding!


      Zoho Campaigns Resources


        • Desk Community Learning Series


        • Digest


        • Functions


        • Meetups


        • Kbase


        • Resources


        • Glossary


        • Desk Marketplace


        • MVP Corner


        • Word of the Day


        • Ask the Experts


          Zoho CRM Plus Resources

            Zoho Books Resources


              Zoho Subscriptions Resources

                Zoho Projects Resources


                  Zoho Sprints Resources


                    Zoho Orchestly Resources


                      Zoho Creator Resources


                        Zoho WorkDrive Resources



                          Zoho CRM Resources

                          • CRM Community Learning Series

                            CRM Community Learning Series


                          • Tips

                            Tips

                          • Functions

                            Functions

                          • Meetups

                            Meetups

                          • Kbase

                            Kbase

                          • Resources

                            Resources

                          • Digest

                            Digest

                          • CRM Marketplace

                            CRM Marketplace

                          • MVP Corner

                            MVP Corner




                            Zoho Writer Writer

                            Get Started. Write Away!

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

                              Zoho CRM コンテンツ






                                ご検討中の方

                                  • Recent Topics

                                  • Accessibility Spotlight Series - 1

                                    Every user interacts with products differently, what feels intuitive to one may be challenging for another. Addressing this, accessibility is built into Zoho Project's design philosophy. This helps users navigate and perform actions with ease irrespective
                                  • Projects Tasks Not Showing Dependencies

                                    I'm clicking on tasks and the popup to add dependencies isn't showing. I can't disconnect the nodes either. For some reason when I slide a task backwards it says it cannot go before a predecessor, even though there is not predecessor. Double clicking
                                  • Deprecation of C4 endpoint URLs

                                    Note: This post is only for users who are still using the C4 endpoints. Hello everyone, At Zoho Creator, we're committed to continuously enhancing the security, performance, and capabilities of our platform. As part of this ongoing effort, we'll be deprecating
                                  • Introducing AWS authentication for connections in Deluge

                                    Hello everyone, We're incredibly excited to announce the all-new AWS authentication for connections in Deluge! This highly anticipated feature simplifies connecting to Amazon Web Services, opening up a world of possibilities and allowing you to seamlessly
                                  • Timeline Tracking Support for records updates via module import and bulk write api

                                    Note: This update is currently available in Early Access and will soon be rolled out across all data centers (DCs) and for all editions of Zoho CRM. The update will be available to all users within your organization, regardless of their profiles or roles.
                                  • Customize User Invites with Invitation Templates

                                    Invitation Templates help streamline the invitation process by allowing users to create customized email formats instead of sending a one-size-fits-all email. Different invitation templates can be created for portal users and client users to align with
                                  • ListObjects is recognized by VBA

                                    Sub addNewRow() Dim ws As Worksheet ' Set your worksheet name Set ws = ThisWorkbook.Sheets("Invoice") ' Set your table name (change "Table1" to your actual table name) ws.ListObjects("InvItems").ListRows.Add End Sub I am getting Unknown function: Li
                                  • KPI Widget dashboard select periods

                                    I have a problem with selecting periods as a user filter. In the beste scenario I would like to have to have a period filter like Google Analytics has of Datastudio (see attachment). In the KPI widget I "Group by "inquiry_date" on week&Year". It selects
                                  • Need a way to secure Prefill URLs in Zoho Forms (hide or encrypt prefilled values)

                                    Hi everyone, I often use Zoho Forms with prefilled URLs to simplify the user experience — for example: https://forms.zohopublic.com/.../form?Name=David&Amount=300 However, the problem is that all prefilled values are visible and editable in the link.
                                  • Can’t send emails from Zoho CRM after adding a new user — verification codes not received

                                    Hi everyone, We recently added a new user to our Zoho CRM account and purchased an additional license. Since then, we haven’t been able to send any emails from Zoho CRM. Our Zoho Mail accounts are working perfectly, we can send and receive emails directly
                                  • CRM for email in Outlook: how to ignore addresses?

                                    We’re using the "Zoho CRM for email" add-in for Outlook. When opening an email, the add-in displays all email addresses from the message and allows me to add them to the CRM or shows if they’re already contacts. However, sometimes people listed in To
                                  • Scheduling Calls in CommandCenter / Blueprints

                                    I would love it if you could add a function to schedule a call in the lead's record for a future date. I know you can add a Task by going to Instant Actions > Task and completing the form: These tasks go into the lead's record under Open Actions. But
                                  • Quickly send emails and sync conversations with custom email addresses in CRM

                                    Editions: All editions DCs: All DCs Release plan: This enhancement has been released for customers in all DCs except IN and US. We will be enabling it for IN and US DC customers soon. [Update on 22 May 2024] This enhancement has been released for all
                                  • Zoho製品と生成AIツールの活用について

                                    いつもありがとうございます。 弊社では、Zoho Oneを契約し、CRMを軸として、見込み客の管理から商談、その後の受注や請求の管理、サポート業務(Desk)、業務データのレポーティング(Analytics)などを行っております。 Zohoサービス自体には、Ziaというツールが搭載されているかと存じますが、それ以外の外部の生成AIツールと連携した活用などもできるのでしょうか?具体的には、CopilotなどがZohoに登録されているデータや情報を見て、対話型で必要なデータを提示してくれたり、商談や蓄積されたメモなどを分析してユーザが知見を得られるような活用ができないか、と考えております。
                                  • Work with Contacts who use multiple Emails / Manage obsolete Email addresses without loosing Emails in Context

                                    Hello List Work with Contacts who use multiple Emails Only after 1 week in using Zoho CRM productively we have contacts which randomly use 2 different email addresses. From the concept I've understood that Zoho CRM offers two email fields which are recognized
                                  • New Field in CRM Product Module Not Visible in Zoho Creator for Mapping

                                    I created a new single-line field in the Products module in Zoho CRM. Zoho CRM and Zoho Creator are integrated, but the newly created field in CRM is not visible in Zoho Creator when I try to map fields.
                                  • Send WhatsApp voice messages from Bigin

                                    Greetings, I hope all of you are doing well. We're happy to announce this enhancement we've made to Bigin. Bigin's WhatsApp integration now supports audio messages, so you can record and send voice messages. This makes it easier to handle customer questions
                                  • Microsoft Teams now available as an online meeting provider

                                    Hello everyone, We're pleased to announce that Zoho CRM now supports Microsoft Teams as an online meeting provider—alongside the other providers already available. Admins can enable Microsoft Teams directly from the Preferences tab under the Meetings
                                  • I want to subscribe 1 professional user but the email only 250 per day?

                                    When I subscribe 1 professional user, I am only able to send 250 email per day? So less? Or is it typo, 2500 rather than 250? Any sale agent or friends can clear my doubt? Thank You
                                  • How to add a % Growth column for year-over-year comparison (2024 vs 2025)

                                    Hello, I am trying to build a monthly revenue comparison between 2024 and 2025 in Zoho CRM Analytics. My current setup is: Module: Deals (Affaires) Filter: Stage = Closed Won Date field: Closing Date Grouping: By Month Metrics: Sum of Amount for 2024,
                                  • How do you map a user picklist field to another user picklist field.

                                    In Zoho Projects, I'm trying to map a custom field (user picklist) in Task Details to a field (user picklist) in the Project Details. How do you get the two to map to each other? This is what I currently have that works for my other fields but doesn't
                                  • Explore Competitive 3D Scanner Prices at Protomont Technologies

                                    The genesis of Protomont Technologies emerged from the collaborative efforts of the founders in 2019, both the founders shoulder an enormous experience in the world of 3D Printing. Protomont Technology aims to craft your vision with creativity, empowering
                                  • New and improved API resources for Zoho Sign Developers

                                    Hello, Developers community! We know that for you, an API's real value depends on how quickly, easily, and reliably you can integrate the it with your application. That's why we're excited to talk about the recent improvements to our developer resources,
                                  • Project Approval Process Workflow

                                    Issue: When a new Project is created, there is lack of process/workflow that provides their manager a process to approve or review. Suggestion/Idea: Similar to “Workflow”, we need “Workflow” ability at Project level, where based on the criteria of the
                                  • Marketing Tip #5: Improve store speed with optimized images

                                    Slow-loading websites can turn visitors away. One of the biggest culprits? Large, uncompressed images. By optimizing your images, your store loads faster and creates a smoother shopping experience leading to higher sales. It also indirectly improves SEO.
                                  • Why can I not choose Unearned Revenue as an account on items?

                                    Hello, I do not understand why we don't have the ability to code an item to unearned revenue. It is not an uncommon situation to have in business. I understand that there is the Retainer invoice as an option, however that doesn't really work for us. Our
                                  • Form Submission Emails

                                    Is there a current delay with submission emails being sent? We've had 10-20 forms completed today but only a handful of emails.
                                  • Rules not working properly

                                    I created a rule to display certain fields on certain states. But it seems to be not working. It hides the fields even when I selected California, (which is a state that should show the fields when selected)
                                  • Notebook font size issue

                                    If I copy something from somewhere and paste it in my notebook, the font size becomes smaller.
                                  • Sign in process is beyond stupid. I'd rather plug my phone into USB and copy files than sign in to this POS.

                                    792 clicks and fields to fill in just to get into a 3rd rate app is too stupid for me.
                                  • Ampersand in URL parameter // EncodeURL does not work

                                    Hi Zoho, I have a url link with a parameter. The parameter is including ampersand in some cases (Can be "H&M" or "P&I") When trying to use %26 instead of "&"  (the result I get using EncodeURL()) I get H%26M instead of H&M in the parameter field. How can I solve this? Thanks! Ravid
                                  • how can we create in zoho crm a new contact when the looup does not find a similar existing one

                                    In forms/integrations/zoho crm / ne w record tab, contact name is to be mapped with my form contact name. When I go in biew edit/lookup configuration, I don t get the options (help dedicated page simply repeat the same info you get in the app) and does
                                  • Directory Websites

                                    Directories are a good website category to gain search engine traffic. Directories for a professional service category as an example can help their members in search results over their individual website. It would be nice to have a directory template
                                  • Manage Task on Mobile

                                    How do we manage our task on mobile devices? It seems that there should be a standalone mobile app to handle the new task features. The new features released in regards to Task management are great by the way! Now we need to bring that all together in
                                  • Set Default Payment Method & Default account

                                    Hi, I would like to know how to set the default payment method and default bank account when recording payments in zoho books. At present we have to change these fields everytime we record a payment, which leads to potential error and as we have a very
                                  • Customer Portal on Zoho Desk

                                    Hi, I'd like to know more about the items below I found when setting up the Customer Portal on Zoho Desk. Could someone help me explaining these in details? Especially the 2nd and 3rd point. Thanking you in advance! Permissions Customers can sign up for Customer Portal Customers can view tickets of their organization (contacts) Customers must register to access Customer Portal Display Community in Customer Self Service portal
                                  • Computer Showing Offline in Unattended Access

                                    I have a computer that was connected to the internet but showing offline in Assist. I tried uninstalling the program and deleting it from Zoho Assist the reinstalling and it still does not show up. I have been a user for several months and am not pleased with the lack of connectivity with Assist. If this continues I will have to find another product. The computer I reinstalled it on is not even showing up in Assist now. The name is NYRVLI-PC. Thanks
                                  • Closing Accounting Periods - Invoice/Posting dates

                                    Hi, I have seen in another thread but I'm unsure on how the 'transaction locking' works with regards to new and old transactions. When producing monthly accounts if I close December 24 accounts on 8th Jan 25 will transaction locking prevent me from posting
                                  • Zoho CRM Portal Error

                                    Hi, We’re experiencing an issue with the Zoho CRM Portal. When we try to access it, we receive an HTTPS connection error: net::ERR_CERT_COMMON_NAME_INVALID. If we proceed past that, we then get a 400 Bad Request error. Could you please help us resolve
                                  • Integrating Zoho CRM EmbeddedApp SDK with Next.js — Initialization and Data Fetching Issues

                                    You can get an idea from my code I have given in end: First, I worked on a React project and tried the same thing — it worked. My goal was to import the Zoho script and then load contacts using the Zoho Widget SDK, which was successful in React. Now,
                                  • Next Page