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

    • 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
    • Transitions do not update fields until the record moves to next stage

      We have a blueprint where a couple of stages have multiple transitions. If only some of the transitions are completed, but not all, Zoho does not update any of the fields impacted by the completed transitions. Is there any way Zoho can udate the fields
    • Zoho CRM - Kiosk Studio : Use action responses across your kiosks with sequential actions

      Hello Everyone, Imagine building a kiosk that gives you full control over how actions are executed in later screens in that same kiosk. What if you could use data from a previous action later in that kiosk—with no interruptions or data gaps? This is exactly
    • Ability to CC on a mass email

      Ability to CC someone on a mass email.
    • Get Cliq Meetings in my O365 calendar

      Hi, we are currently evaluating to replace the Teams Messaging and Meetings with Cliq. We currently still have all our email and calendars in O365. What i want to achieve is, to create a (ZOHO) meeting from Cliq and have this meeting added to my Outlook/O365
    • Custom Button to convert a Deal to a Custom Module?

      Hello Community I am in process of building out a custom CRM for my team and part of this is looking at building out a Custom Button or function of some sort where when a Deal is marked Closed Won the system will allow for a "Convert to Job" option to
    • Power up your Kiosk Studio with Real-Time Data Capture, Client Scripts & More!

      Hello Everyone, We’re thrilled to announce a powerful set of enhancements to Kiosk Studio in Zoho CRM. These new updates give you more flexibility, faster record handling, and real-time data capture, making your Kiosk flows smarter and more efficient
    • Change eMail Template for Event-Invitations

      Hello ZOHO-CRM Team How I can change the eMail Template for Event-Invitations? I work with the German Version of the Free Version. I know how I can modify eMail alerts or Signature Templates, but where I can other eMails modify you send out? Thank you
    • Workdrive Oauth2 Token Isn't Refreshing

      I have set up oauth for a bunch of zoho apis and have never had a problem with oauth. With workdrive i am using the exact same template i usually use for the other zoho apps and it is not working. All requests will work for the first hour then stops so
    • Migrate Your Notes from OneNote to Zoho Notebook Today

      Greetings Notebook Users, We’re excited to introduce a powerful new feature that lets you migrate your notes from Microsoft OneNote to Zoho Notebook—making your transition faster and more seamless than ever. ✨ What’s New One-click migration: Easily import
    • How can I import OLM to Yandex Mail easily?

      For migrating Mac Outlook OLM data to Yandex Mail efficiently, the Aryson OLM Converter is a reliable professional tool that ensures complete data integrity throughout the process. Unlike manual methods, which can risk inconsistent formatting or missing
    • Introducing Radio Buttons and Numeric Range Sliders in Zoho CRM

      Release update: Currently out for CN, JP, AU and CA DCs (Free and standard editions). For other DCs, this will be released by mid-March. Hello everyone, We are pleased to share with you that Zoho CRM's Layout Editor now includes two new field formats—
    • Is it possible to setup bin locations WITHOUT mandating batch tracking?

      Hi fellow zoho users, I'm wondering if anyone else has a similar issue to me? I only have some products batch tracked (items with shelf life expiry dates) but I am trying to setup bin locations for my entire inventory so we can do stock counting easier.
    • Implementing Inventory Process

      I am just starting to create an inventory system through Zoho for a nonprofit. We receive in-kind donations of items for kids, and utilize them in 2 or 3 different programs. Then families come in and take the items. I'm thinking of this structure: Our
    • Best way to start zoho inventory with bulk openning stock

      We are already using zoho book since long time for cars trading company. Now to streamline more, would like to import the excel data of closing stock of inventory to zoho inventory and to start on. Since we need to track each VIN (unique vehicle id number)
    • Service Reports.

      Hello Team, I have a requirement to create multiple service reports for a single AP. That means, in one AP I have 5 service line items, and all line items are linked to assets. Once I complete the AP, I want to generate 5 individual service reports, one
    • Blueprint enhancements - Parallel and multiple transitions, and more

      Last modified on Sep 4, 2023: All Zoho CRM users can now access these enhancements. Initially, these features were available only on an early access basis and by request. However, as of August 2, 2023, they have been made available to all users in all
    • Item Bulk Edit - Allow for Reorder Level

      We're implementing a process for using the Reorder Level field for Items, and I have to go through and add this value to a huge chunk of our Items. It's driving me bonkers that I have to do this individually through the UI rather than bulk updating. It
    • Zoho CRM || Unable to Bulk Assignment of Territories for Contacts

      Dear Zoho CRM Support Team, I hope this email finds you well. We recently performed a bulk upload of Contacts into Zoho CRM using the official sample Excel template downloaded from the CRM. The upload itself was completed successfully; however, we encountered
    • What's New in Zoho Inventory | August – October 2025

      Hello customers, The last quarter has been incredibly productive! We've released a powerful slate of new features and enhancements in Zoho Inventory designed to give you better control, greater efficiency, and expanded functionality across your inventory
    • Disable Zoho Inventory Tracking / Delink Zoho Books & Inventory

      We have integrated zoho inventory with zoho books? Now after a long time, we want to disable inventory tracking and delink these 2 modules. Zoho says we cant do it. Anybody else going thru the same ? Any possibility at all? Why does zoho not allow to
    • Tracking Non-Inventory Items

      We have several business locations and currently use zoho inventory to track retail items (sales and purchase orders). We were hoping to use zoho inventory to track our non-inventory items as well (toilet paper, paper towels, etc). I understand that we
    • Price Managment

      I have been in discussions with Zoho for some time and not getting what I need. Maybe someone can help explain the logic behind this for me as I fail to understand. When creating an item, you input a sales rate and purchase rate. These rates are just
    • Set Warehouse based on Vendor

      Greetings. I would like to set automaticaly the Warehouse based on the Vendor. Context: I am working on an adaptation of a Purchase Order to be used as a Quotation. I have defined that when a user has to raise a quote the Vendor will be "PROCUREMENT" I would like to set the Warehouse to a predefined value when "PROCUREMENT" is set as Vendor. I have tried to do with the Automation feature using the Field Update option, but Warehouse does not is listed as a field. Can you help? Thanks in advance.
    • Auto tagging

      Some of the articles I enter into Notebook get there when I enter them in Raindrop.io and IFTTT copies the articles in Notebook. When this happens the notes are tagged but instead of useful one word tags with topic the tag pertains to the specific article
    • How do I save audio files to my PC that I record into Zoho Notebook from my phone?

      I was thinking of using Zoho Notebook as a way to store composition ideas, as well as for other things if it can handle this. For this to be useful for me though, I need to be able to have an easy way to download those audio files to my PC, either individually
    • Search mails in shared mailbox

      Hi everyone, is there a way to search mails in shared mailbox's? Search in streams or mail doesn't return anything from mails in shared mailboxes. Thanks! Rafal
    • Kaizen #186 : Client Script Support for Subforms

      Hello everyone! Welcome back to another exciting Kaizen post on Client Script! In this edition, we’re taking a closer look at Client Script Support for Subforms with the help of the following scenario. " Zylker, a manufacturing company, uses the "Orders"
    • Writing SQL Queries - After Comma Auto Suggesting Column

      When writing SQL Queries, does anyone else get super annoyed that after you type a comma and try to return to a new line it is automatically suggest a new column, so hitting return just inputs this suggested column instead of going to a new line? Anyone
    • Sync your Products Module for better context.

      In customer support, context is everything. The integration between Zoho Desk and Zoho CRM helps your sales and support teams function as one, delivering better customer experiences. With the latest update to this integration, you can now sync the Product module in your Zoho CRM with your Zoho Desk portal. This feature enables products from Zoho CRM to reflect in the "product" field in Zoho Desk. This can save your support team valuable time and effort.    Some things to note when syncing the two:
    • Where is the desktop app for Zoho Projects???

      As a project manager, I need a desktop app for the projects I manage. Yes, there's the web app, which is AWESOME for cross browser and platform compatibility... but I need a real desktop app for Projects that allow me to enter offline information where
    • CRM verify details pop-up

      Was there a UI change recently that involves the Verify Details pop-up when changing the Stage of a Deal to certain things? I can't for the life of me find a workflow or function, blueprint, validation rule, layout rule ect that would randomly make it
    • Does Zoho Writer have Dropdowns

      I want to add a drop down field in Zoho writer. Is this possible?
    • openUrl in blueprints

      My customer wants to open a URL at the end of a blueprint transition. Seems this isn't possible right now but it would be very useful. In this thread, https://help.zoho.com/portal/en/community/topic/openurl-not-working the Zoho agent said that it's logically
    • Dropshipping Address - Does Not Show on Invoice Correctly

      When a dropshipping address is used for a customer, the correct ship-to address does not seem to show on the Invoice. It shows correctly on the Sales Order, Shipment Order, and Package, just not the Invoice. This is a problem, because the company being
    • Prepayment of a sales order

      How does everyone handle this common (at least it is common for us!) situation? We require all our orders to be fully prepaid before shipment since we manufacture made to order, custom products. Since ZOHO does not allow a sales order to be prepaid, we are forced to create an invoice at the time an order is placed to allow the customer to pay it. Our sales category is therefore skewed, since the sale was actually booked at the time an order was placed, rather then at the time it is shipped, which
    • Access to Specific Zoho Desk layout for external parties

      Hi, We have a partner who handles for us sales requests from specific markets. He is not a Zoho Desk user. But we want him to b part of a specific Zoho Desk layout to handle inquiries.  How to achieve it in the easiest way possible?
    • Deposit on a Sales Order

      Good day, 100% of my business is preorders, no inventory. I am trying to run away from QB for one of my businesses, but I require two options that I don't seem to find with Zoho Books. 1 - If there is a way to apply a deposit on a sales order, as with
    • How Does Knowledge Base Search and Article Recommendation Work?

      Hello, I would like to understand how the Knowledge Base search engine works. Specifically, does it search based on: The article title only? The full article content? Both, the article and the content? Keywords? Tags? Also, how does the system determine
    • Bulk Delete Attachments

      Is there a way to bulk delete attachments on the form entries? our storage is full and deleting files one by one is pain taking process.
    • Next Page