Kaizen 221 - Workflow & Actions Reports APIs

Kaizen 221 - Workflow & Actions Reports APIs


Over the last few weeks, we have joined Zylker Cloud Services as they restructured their automation ecosystem using Workflow APIs and Actions APIs. Along the way, we discovered how to audit workflows, update old rules, create new ones, and manage associated actions like emails, tasks, field updates, and webhooks, all using APIs.

But as their automated ecosystem has grown to nearly 100 workflow rules, a new challenge has emerged for the system administrators: Are these workflows actually doing what they were built to do? Are these automations actually working day-to-day?

A workflow can be perfectly configured yet have no impact if it never runs. A webhook could be sending data to a dead endpoint, or a critical email notification might go silent without anyone noticing.

While the CRM UI allows them to click into any single workflow to see its execution details or check the status of a specific webhook, this data is trapped in dozens of individual screens. To answer strategic questions like "What's the overall health of our automation?" or "Where should we focus our optimization efforts?", they would need to manually open, check, and compile data from over a hundred different places.

This is where the Reporting APIs become indispensable. They allow Zylker to aggregate all this scattered UI data into their central dashboard,  which supports proactive governance at scale.

STEP 1: Find workflows with heavy or complex actions 

Using Get Actions Count in Workflow Rules  

During their initial audit, Zylker noticed something interesting: within the same module, some workflows had just one or two actions, while others had ten or more bundled together. While this inconsistency wasn't necessarily wrong, after years without a cleanup they wanted to review which workflows had become particularly complex and decide whether they needed updating or splitting.

To identify such rules systematically, they call:

GET {api-domain}/crm/v8/settings/automation/workflow_rules/actions/actions_count?ids={id1, id2, id3, ..}

This API returns a detailed count of how many actions each rule contains. Using the response from API, the admins can choose to work on the Workflow Rules by complexity. In the UI, this requires inspecting workflows one by one. But using this API, up to 100 Workflows can be inspected in a single API call. The entire system can be analyzed in a matter of seconds!

Here is what the response looks like:

{

    "workflow_rules": [

        {

            "id": "4876876000016390024",

            "conditions": [

                {

                    "sequence_number": 1,

                    "instant_actions": {

                        "actions_count": [

                            {

                                "type": "field_updates",

                                "value": 1

                            },

                            {

                                "type": "add_tags",

                                "value": 1

                            },

                            {

                                "type": "email_notifications",

                                "value": 1

                            },

                            {

                                "type": "webhooks",

                                "value": 1

                            }

                        ]

                    },

                    "scheduled_actions": [

                        {

                            "actions_count": [

                                {

                                    "type": "tasks",

                                    "value": 1

                                }

                            ]

                        }

                    ],

                    "id": "4876876000016390025"

                }

            ]

        },

        {

            "id": "4876876000011208001",

            "conditions": [

                {

                    "sequence_number": 1,

                    "instant_actions": {

                        "actions_count": [

                            {

                                "type": "assign_owner",

                                "value": 1

                            }

                        ]

                    },

                    "scheduled_actions": null,

                    "id": "4876876000011208002"

                },

                {

                    "sequence_number": 2,

                    "instant_actions": {

                        "actions_count": [

                            {

                                "type": "assign_owner",

                                "value": 1

                            }

                        ]

                    },

                    "scheduled_actions": null,

                    "id": "4876876000011208004"

                },

                {

                    "sequence_number": 3,

                    "instant_actions": {

                        "actions_count": [

                            {

                                "type": "assign_owner",

                                "value": 1

                            }

                        ]

                    },

                    "scheduled_actions": null,

                    "id": "4876876000011208006"

                }

            ]

        }

        // ...other workflow rules omitted for brevity

    ]

}

 

The response is a granular breakdown, not just a simple total. For each workflow rule (id), you see every condition (sequence_number). Within each condition, the actions_count array under instant_actions and scheduled_actions lists the type of each action (email_notifications, webhooks, tasks, etc.) and the count (value) of that specific action type in that section.

In simple terms, the API tells us: For every workflow, for every condition, how many actions does it perform, and what kind are they?

STEP 2: Diagnose execution health: Is it working or just configured? 

Using get Workflow Rule usage report API

Identifying complex workflows is important, but Zylker’s admins also need to figure out if they are are actually working. This is a crucial part of automation governance.

A workflow might be executing regularly, but an email notification configured inside it may bounce every time. A webhook may silently fail due to a server issue. These operational issues are difficult to detect by simply knowing whether a workflow has executed.

In the CRM UI, admins can click View Usage for a workflow. But this still exposes information one rule at a time and without aggregation across rules. When you operate nearly a hundred workflows, this method does not scale.

To understand action-level outcomes inside a specific workflow, Zylker uses:

GET {api-domain}/crm/v8/settings/automation/workflow_rules/{workflow_rule_ID}/actions/usage?executed_from={from_date}&executed_till={to_date}

This API returns rich statistics, including:

  • how many times the workflow executed

  • how many times each action inside it succeeded or failed

  • delivery metrics for emails (open, sent, delivered, bounced, clicked)

  • scheduled vs. instant action performance

  • which conditions executed successfully

Here is a sample response:

{

    "workflow_rules": [

        {

            "trigger_count": 3,     // Total times this workflow was triggered

            "name": "High Value Lead Rule",    // Workflow name

            "id": "4876876000013248001",      // Workflow ID

 

            "conditions": [       // Usage details grouped per condition

                {

                    "instant_actions": {

                        "actions": [      //Instant actions execution details

                            {

                                "queue_count": 0,   //Asynchronous actions pending for execution in the queue

                                "related_details": { //Email delivery metrics for bulk email_notifications actions

                                    "bulk_mail": false,

                                    "unopened": 0,

                                    "sent_percentage": 100,

                                    "opened": 1,

                                    "delivered": 1,

                                    "unsent": 0,

                                    "bounced": 0,

                                    "clicked": 0,

                                    "sent": 1

                                },

                                "name": "High revenue Lead added", //Action name

                                "success_count": 1,    // Number of successful executions

                                "failure_count": 0,    // No failures for this action

                                "id": "4876876000016390103",   // Action ID

                                "type": "email_notifications",        // Action type

                                "associated_time": "2025-10-16T16:19:58+05:30" // When this action was added to the workflow

                            },

                      ...... //omitted for brevity

 

                        ]

                    },

 

                    "scheduled_actions": [     // Scheduled actions usage metrics

                        {

                            "id": "4876876000016390118",  // ID of the scheduled action block

                            "actions": [

                                {

                                    "queue_count": 0,      //Asynchronous actions pending for execution in the queue

                                    "related_details": {   //Email delivery metrics for bulk email_notifications actions

                                        "bulk_mail": false,

                                        "unopened": 0,

                                        "sent_percentage": 100,

                                        "opened": 1,

                                        "delivered": 1,

                                        "unsent": 0,

                                        "bounced": 0,

                                        "clicked": 0,

                                        "sent": 1

                                    },

                                    "name": "High revenue Lead added",

                                    "success_count": 1,   // Number of successful executions

                                    "failure_count": 1,   // Number of failures

                                    "id": "4876876000016390103",

                                    "type": "email_notifications",

                                    "associated_time": "2025-10-16T16:19:58+05:30"

                                }

                            ]

                        }

                    ],

 

                    "usage_count": 2,      // The number of times this condition matched

                    "id": "4876876000013248002"     // Condition ID

                },

 

                // more condition blocks omitted for brevity

           ],

 

            "reset_time": "2025-10-16T16:23:04+05:30"       //When usage metrics were last reset

        }

    ]

}

 

 

This single API call provides what would take hours of manual UI investigation, i.e., a complete performance audit. By scripting this for their key workflows, Zylker transforms workflow management from a time-consuming manual task to an easy, automated process.

STEP 3: Monitor system-wide integration health 

The workflow usage report gave Zylker deep insight into individual workflows. But they still have unanswered questions about their external integrations.

Zylker relies on webhooks to push deal data to their project management tool, sync contacts to their marketing platform, and notify their support system. A single failing webhook can break an entire business process, and these failures often happen silently.

The CRM UI provides detailed views of each webhook's activity. However, identifying patterns across all integrations, like silent failures or volume anomalies, requires manually consolidating data from multiple screens. For teams with many integrations, this consolidation becomes time-consuming to perform regularly.

Zylker solves this by using the Webhooks Actions Usage Report API to get time-series data for all integrations at once, followed by the Get Action Failures API for diagnostics.

 3.1 Track volume trends and spot anomalies  using Webhooks Actions Usage Report API

They call the usage report API grouped by date and resource to see daily call volumes:

GET {api-domain}/crm/v8/settings/automation/webhooks/actions/usage_reports?group_by=date,resource&type=webhooks&from_date={date}

Sample Response:

{

    "data_usage": [

        {

            "date": "2025-12-09",

            "resource": {

                "name": "Premium Lead Alert",

                "id": "4876876000016390771"

            },

            "count": 4,

            "type": "webhooks"

        },

        {

            "date": "2025-12-09",

            "resource": {

                "name": "Deal to Project Sync",

                "id": "4876876000017550012"

            },

            "count": 4,

            "type": "webhooks"

        },

        {

            "date": "2025-12-09",

            "resource": {

                "name": "Contact to Marketing Platform",

                "id": "4876876000017550018"

            },

            "count": 8,

            "type": "webhooks"

        },

        {

            "date": "2025-12-08",

            "resource": {

                "name": "Deal to Project Sync",

                "id": "4876876000017550012"

            },

            "count": 8,

            "type": "webhooks"

        },

        // ...omitted for brevity ...

        {

            "date": "2025-12-07",

            "resource": {

                "name": "Deal to Project Sync",

                "id": "4876876000017550012"

            },

            "count": 1, //  Anomaly: very low number

            "type": "webhooks"

        },

        // ... remaining entries omitted for brevity ...

    ],

    "info": {

        "max_limit": 2500,

        "per_page": 200,

        "count": 12,

        "page": 1,

        "more_records": false

    }

}

 

The response provides a daily log of which webhooks fired and how often. The real insight comes from analyzing two key patterns:

  1. Missing activities: If a webhook that typically appears daily suddenly has no entries for multiple days, it indicates the upstream workflow has stopped. This is a silent business process failure.

  2. Volume Anomalies: If a normally steady webhook shows a 300% spike in daily calls, it could indicate system errors generating duplicate records, or legitimate business surges worth investigating.

From the response data, Zylker can instantly spot that the Deal to Project Sync webhook's execution dropped to just 1 call on a specific day, which is a volume anomaly. Meanwhile, the Premium Lead Alert webhook may be missing entirely from recent dates, which is a missing activity alert.

 3.2 Investigate Webhooks failures with Get Action Failures API - Webhooks 

Volume anomalies tell Zylker that something is wrong. To understand what went wrong and where, they need detailed failure diagnostics.

For this, they use the Get Action Failures – Webhooks API:

GET {api-domain}/crm/v8/settings/automation/webhook_failures?from=2025-10-15&to=2025-10-22

You can optionally filter by:

  • webhook_id : to focus on a specific webhook

  • module : to see failures only for a specific module

  • from and to : to restrict the date range (max 90 days). 

Sample Response:

{

    "webhook_failures": [

        {

            "webhook": {      // The webhook that failed

                "name": "Premium Lead Alert",

                "id": "4876876000016390771"

            },

            "entity_details": {    // Record that triggered the webhook

                "module": {

                    "api_name": "Leads",

                    "id": "4876876000000002175"

                },

                "name": "Freelancer.com",

                "id": "4876876000016474049"

            },

            "failure_time": "2025-10-21T17:08:07+05:30", // When the failure occurred

            "failure_reason": "page_notfound",  // Why it failed (e.g., page_notfound, unauthorized, timeout)

            "id": "4876876000016474075",        // Failure entry ID

            "workflow_rule": {         // Workflow that triggered this webhook

                "name": "WF-C",

                "id": "4876876000016390881"

            }

        },

//... omitted for brevity

    ],

    "info": {

        "per_page": 200,

        "count": 17,

        "page": 1,

        "more_records": false

    }

}

 

With a single request, Zylker now has a clear picture of exactly which workflows are causing failures, which records are impacted, and the precise technical reason for the failure. With this information at hand, they can promptly fix the issues and ensure that critical integrations do not silently break.

STEP 4: Ensure reliable communication through Email Notifications usage reports 

Emails sent through workflows drive essential actions at Zylker. Sales managers get notified when high-value leads enter the system, account directors get alerted on lost deals, and service teams receive escalations. If these triggered emails are not sent consistently or begin spiking unexpectedly, decision-makers may be blind to critical updates.

To understand how workflow-triggered emails are being used over time, Zylker uses the Email Notification Actions Usage Report API.

Sample Request:

GET {api-domain}/crm/v8/settings/automation/email_notifications/actions/usage_reports?group_by=date,resource,type&type=email_notifications&from_date=2025-12-01

Sample Response:

 

{

  "data_usage": [

    {

      "date": "2025-12-09",       // When the email was triggered

      "resource": {

        "name": "Lost Deal Alert",  // Email notification name

        "id": "4876876000013500873"

      },

      "count": 5,                 // Number of times it was sent that day

      "type": "email_notifications"

    },

    {

      "date": "2025-12-09",

      "resource": {

        "name": "High Value Lead Notification",

        "id": "4876876000016390889"

      },

      "count": 2,

      "type": "email_notifications"

    },

    {

      "date": "2025-12-08",

      "resource": {

        "name": "Lost Deal Alert",

        "id": "4876876000013500873"

      },

      "count": 8,   // Higher usage on this day

      "type": "email_notifications"

    }

    // ... additional entries omitted

  ],

  "info": {

    "max_limit": 2500,

    "per_page": 200,

    "count": 18,

    "page": 1,

    "more_records": false

  }

}

By reviewing usage trends over time, Zylker can spot early signs of issues at either layer. If an email notification that normally triggers every day suddenly shows zero usage, it could mean the workflow condition has stopped matching, or it might indicate a failure due to factors like bounced addresses, inactive users, or restricted mail settings. Likewise, an unexpected spike in email executions might reveal either a legitimate business surge or a workflow repeatedly triggering because of duplicate records, import errors, or incorrect criteria.

In either case, Zylker is now in a position to take informed decisions.

Conclusion 

Zylker began this journey wanting stronger workflow automation. Along the way, they learned how to discover, configure, update, and extend workflow rules and actions using APIs. But as their automation ecosystem grew, a new responsibility emerged regarding governing what they had built.

The Reports APIs complete that responsibility.

With this complete toolkit, Zylker no longer just has automations. They understand them, analyze them, and continuously improve them. Their workflows have evolved from fragile scripts to managed business assets with known performance characteristics and early warning systems.

This concludes our Kaizen series on Workflow & Actions APIs. We hope this series has helped you to build, manage, and govern automation systems in your own organization.

If you have any feedback or questions, please let us know in the comments or reach out to us at support@zohocrm.com.

Until next time, Happy coding!


    • Sticky Posts

    • Kaizen #198: Using Client Script for Custom Validation in Blueprint

      Nearing 200th Kaizen Post – 1 More to the Big Two-Oh-Oh! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
    • Kaizen #226: Using ZRC in Client Script

      Hello everyone! Welcome to another week of Kaizen. In today's post, lets see what is ZRC (Zoho Request Client) and how we can use ZRC methods in Client Script to get inputs from a Salesperson and update the Lead status with a single button click. In this
    • Kaizen #222 - Client Script Support for Notes Related List

      Hello everyone! Welcome to another week of Kaizen. The final Kaizen post of the year 2025 is here! With the new Client Script support for the Notes Related List, you can validate, enrich, and manage notes across modules. In this post, we’ll explore how
    • Kaizen #217 - Actions APIs : Tasks

      Welcome to another week of Kaizen! In last week's post we discussed Email Notifications APIs which act as the link between your Workflow automations and you. We have discussed how Zylker Cloud Services uses Email Notifications API in their custom dashboard.
    • Kaizen #216 - Actions APIs : Email Notifications

      Welcome to another week of Kaizen! For the last three weeks, we have been discussing Zylker's workflows. We successfully updated a dormant workflow, built a new one from the ground up and more. But our work is not finished—these automated processes are
    • Recent Topics

    • Zoho Desk API - Send Reply to CUSTOMERPORTAL

      Hello! I'll try to send a reply to Customer Portal, But the response is 500 (INTERNAL_SERVER_ERROR in service response). {"Error":"{\"errorCode\":\"INTERNAL_SERVER_ERROR\",\"message\":\"An internal server error occurred while performing this operation.\"}"}
    • Python - code studio

      Hi, I see the code studio is "coming soon". We have some files that will require some more complex transformation, is this feature far off? It appears to have been released in Zoho Analytics already
    • Issue with open-rate reporting in Zoho Campaigns

      Hello, Since yesterday I’ve been experiencing an issue with the open-rate reports in Zoho Campaigns. The campaigns I send appear in the reports as if none of the emails have been opened, even though I know they have. To verify this, I replicated the campaign
    • Best practices for managing Project Charters, Business Case and RAID logs within Zoho?

      Hello everyone, I’m currently refining our PMO setup within Zoho Projects and I’m curious how others are handling high-level governance documentation. We’ve been using the standardized Project Charter, Business Case and RAID frameworks from projectmanagertemplate.com
    • Is It Possible to Convert a Custom Module to a Quote?

      I recently created a custom module in our CRM environment for RFQs so that our sales team can submit quote requests directly in Zoho rather than by email/phone. This allows for a cleaner overall process, minimizing potential errors and potentially encouraging
    • Proposal: Actionable API Error Messages to Reduce Support Ticket Volume

      I've encountered a long-standing frustration with how Zoho Creator's API communicates errors to developers, and I'm hoping the Zoho team can address this in a future update. This issue has persisted for over 9 years based on community discussions, and
    • Allocating inventory to specific SO's

      Is there a way that allocate inventory to a specific sales order? For example, let's say we have 90 items in stock. Customer 1 orders 100 items. This allocates all 90 items to their order, and they have a back order for the remaining 10 items which could
    • Closing the Loop: Why Lookup Asymmetry is Harming Data Integrity in Creator

      TL;DR: Lookup fields allow users to add new related records inline via the "+" icon, but there's no equivalent ability to edit an existing related record without navigating away and losing form context. Adding a native "Edit" icon—with automatic User
    • Add the ability to Hide Pages in Page Rules

      Hi, We have Field Rules to show and hide fields and we have page Rules, but we can't hide a page in Page Rules so it isn't completed before the previous page (And then have the Deny Rules to prevent submitting without both pages completed), we can only
    • using the Client script on the load of the form if service no is empty means then i want to make issue relate to is Service

      using the Client script on the load of the form if service no is empty means then i want to make issue relate to field is Service if Purchae no is empty means then i want to make issue relate to is Purchase
    • Changes to the send mail Deluge task in Zoho CRM

      Hello everyone, At Zoho, we continuously enhance our security measures to ensure a safer experience for all users. As part of our ongoing security enhancements, we're making an important update on using the send mail Deluge task in Zoho CRM. What's changing?
    • Work Order wont mark as Completed

      I have a couple of work orders that won't mark as completed even when I've marked the Service Appointments as completed fully.
    • Item name special charaters <>

      Im trying to input speical characters such as < and > into item name and item description but comes up with following error: Invalid value passed for Item Name and Invalid value passed for Item Description How do i allow speical characters?
    • Zoho Analytics Dashboard - How to hide the user filter

      I am using the same dashboard template across different external clients and applying a user filter to the data by site URL. How can I hide the user filter in View Mode so the external client won't see the list of other clients in the drop-down menu?
    • Customer Parent Account or Sub-Customer Account

      Some of clients as they have 50 to 300 branches, they required separate account statement with outlet name and number; which means we have to open new account for each branch individually. However, the main issue is that, when they make a payment, they
    • Kaizen #229: Email-Deal Associations in Zoho CRM

      Hi All, Welcome back to another week of Kaizen! Emails are a core channel for customer communication in any CRM system. In Zoho CRM, emails can be associated with records across multiple modules. In this post, we will focus on email associations with
    • Action Required: Update Microsoft SQL Server Security Settings Before February 2026

      Dear Users, We recently deployed security updates in Zoho Analytics that inadvertently caused connection failures for a few customers using Microsoft (MS) SQL Server hosted on older Windows versions (Windows Server 2012, 2012 R2, and 2014). To restore
    • Contacts limit in basic vs standard - what counts? Are customers contacts?

      I’ve been using books for a number years for my small business. I only ever work with 20 clients at any given time. I do purchase services from a number of vendors to run my business, so there are some comtacts there too. I used to use the basic package,
    • Saving issue

      First problem I opened a MS word file in writer. after the work is done, it does not save instantly, I waited for like 10min and it still did not save. second problem When I save a file, then file gets saved as another copy. I just did save, not save
    • 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
    • Create Tasklist with Tasklist Template using API v3

      In the old API, we could mention the parameter 'task_template_id' when creating a tasklist via API to apply a tasklist template: https://www.zoho.com/projects/help/rest-api/tasklists-api.html#create-tasklist In API v3 there does not seem to be a way to
    • Ability to Set a Unified Tab Order/View for All Users in Zoho Projects

      Hello Zoho Projects Team, We hope you are doing well. We would like to submit a feature request regarding tab/menu organization in Zoho Projects. Current Behavior: The tab (module) order in Zoho Projects is user-specific. Each user (internal or external)
    • Task Order

      Hello! I've recently switched to Zoho Projects and a long time user of MS Project, Asana and LiquidPlanner (which has recently been purchased) and I'm running into a frustration I'm hoping someone can assist with. It has to do with how tasks are ordered
    • Automating CRM backup storage?

      Hi there, We've recently set up automatic backups for our Zoho CRM account. We were hoping that the backup functionality would not require any manual work on our end, but it seems that we are always required to download the backups ourselves, store them,
    • 2026 Product Roadmap and Upcoming Features

      This is your guide to what is coming in Zoho Vertical Studio throughout 2026. We’ll update this post throughout the year as items move from development to release, and as and when new initiatives are added. Once a feature is released, it will be reflected
    • Vendor legal and DBA names for USA users

      I would like to hear how Zoho Books users are handling DBA names in the vendor profile. If the Company name in the vendor profile has to be the legal name (line 1 of the W-9), whare are you entering the DBA name (the name that checks are made out to)
    • Zoho Books API invoice email bouncing with 'relaying-issues' error

      I have waited over 30 days for zoho books uk to assist with the following and i have had no replies or tickets erronously closed. The service has been terrible - very unlike zoho! So i am raising this here hoping that a community member can assist: Hello,
    • Stop the Workarounds: We Need Native Multi-Step Forms

      After over 17 years of community requests, I'm hoping the Zoho team can finally address the lack of native multi-page form support in Zoho Creator. This has been one of the longest-standing feature requests in the community, with threads spanning nearly
    • Product Updates in Zoho Workplace applications | January 2026

      Hello Workplace Community, Let’s take a look at the new features and enhancements that went live across all Workplace applications for the month of January. Zoho Mail Zoho People Notifications preview in Zoho Mail Notification emails from Zoho People
    • How do i setup default values for few fields

      We have few fields in CRM like rate of return, type etc - they can be picklist and standard inut fields. picklist we have choice to set default value. but how do we default some value in input type of fields?
    • We know the company but not the contact

      We are fairly new to Zoho, part of our marketing stack is we use products like lead feeder to identify which companies are visiting our site. We are able to match this data to salesiq but cannot find a way to add a company name to the salesiq visitor
    • Customize Calendar view in Teamspaces Settings

      Right now every customization that happens inside of the calendar view inside of CRM is only visible for the specific user. We want to be able to set up calendar views as an admin for specific roles. I would suggest to do that inside of the settings of
    • How to filter subform report based upon main form report in dashboard

      Hi Team, I am creating a dashboard in Zoho Analytics. I want to have a main form report and below I want to show subform report of main form. If I filter the main form with date then I want to show subform records based upon main form. how can I achieve
    • using the Client script I want to Hide Show the Fields

      if Related to service means some of the field like service no want to shoe and hide Amc no , purchase no how i achive this let issu = ZDK.Page.getField('Issue_Related_To').getValue(); if (issu == 'Service') { var field_obj = ZDK.Page.getField('Warranty_Cases');
    • Ask the Expert – Zoho One Admin Track : une session dédiée aux administrateurs Zoho One

      Vous administrez Zoho One et vous vous posez des questions sur la configuration, la gestion des utilisateurs, la sécurité ou encore l’optimisation de votre back-office ? Bonne nouvelle : une session Ask the Expert – Zoho One Admin Track arrive bientôt,
    • Write-Off multiple invoices and tax calculation

      Good evening, I have many invoices which are long overdue and I do not expect them to be paid. I believe I should write them off. I did some tests and I have some questions:  - I cannot find a way to write off several invoices together. How can I do that,
    • Kaizen #210 - Answering your Questions | Event Management System using ZDK CLI

      Hello Everyone, Welcome back to yet another post in the Kaizen Series! As you already may know, for the Kaizen #200 milestone, we asked for your feedback and many of you suggested topics for us to discuss. We have been writing on these topics over the
    • vendors / customers with 2 different address and gst no

      Why can't we have option for more than one address and depending on the state option for more than 1 GST no. ? We have customers / vendors PAN india with different addresses and GST no. for different states.
    • Recurring Automated Reminders

      Hi, The reminders feature in Zoho Books is a really helpful feature to automate reminders for invoices. However, currently we can set reminders based on number of days before/after the invoice date. It would be really helpful if a recurring reminder feature
    • Fail to send Email by deluge

      Hi, today I gonna update some email include details in deluge, while this msg pops up and restrict me to save but my rules has run for one year. can you tell me how to use one of our admin account or super admin account to send the email? I tried to update
    • Next Page