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

    • Text/SMS With Zoho Desk

      Hi Guys- Considering using SMS to get faster responses from customers that we are helping.  Have a bunch of questions; 1) Which provider is better ClickaTell or Screen Magic.  Screen Magic seems easier to setup, but appears to be 2x as expensive for United States.  I cannot find the sender id for Clickatell to even complete the configuration. 2) Can customer's reply to text messages?  If so are responses linked back to the zoho ticket?  If not, how are you handling this, a simple "DO NOT REPLY" as
    • Default/Private Departments in Zoho Desk

      1) How does one configure a department to be private? 2) Also, how does one change the default department? 1) On the list of my company's Zoho Departments, I see that we have a default department, but I am unable to choose which department should be default. 2) From the Zoho documentation I see that in order to create a private department, one should uncheck "Display in customer portal" on the Add Department screen. However, is there a way to change this setting after the department has been created?
    • Show unsubscribed contacts ?

      Hello, I would like to display the unsubscribed contacts. Unfortunately, I do not have this subscription type as described in the documentation (https://help.zoho.com/portal/en/kb/marketing-automation-2-0/user-guide/contacts/contact-management/articles/subscription-type-24-1-2024#Subscription_Type_field.)
    • Can Zoho Marketing Automation send OTP codes via WhatsApp during user registration?

      The flow I would like to implement is: A user signs up in the mobile app and enters their phone number. The system generates a one-time verification code (OTP). The OTP is sent to the user via WhatsApp message. The user enters the code in the app to confirm
    • What's New in Zoho Inventory | Q2 2025

      Hello Customers, The second quarter have been exciting months for Zoho Inventory! We’ve introduced impactful new features and enhancements to help you manage inventory operations with even greater precision and control. While we have many more exciting
    • "Spreadsheet Mode" for Fast Bulk Edits

      One of the challenges with using Zoho Inventory is when bulk edits need to be done via the UI, and each value that needs to be changed is different. A very common use case here is price changes. Often, a price increase will need to be implemented, and
    • Cloning Item With Images Or The Option With Images

      Hello, when I clone an item, I expect the images to carry over to the cloned item, however this is not the case in Inventory. Please make it possible for the images to get cloned or at least can we get a pop up asking if we want to clone the images as
    • ZOHO BOOKS - RECEIVING MORE ITEMS THAN ORDERED

      Hello, When trying to enter a vendor's bill that contains items with bigger quantity than ordered in the PO (it happens quite often) - The system would not let us save the bill and show this error: "Quantity recorded cannot be more than quantity ordered." 
    • Stock count by bin location

      Is there a configuration to make a stock count by bin or area and not by product. these is useful to manage count by area Regards
    • Using workflows to automatically set classification of new tickets

      Hello, I am trying to use a workflow to set a classification for a new ticket that is created via an email coming into my desk department. The workflow is working fine if I create a ticket from within desk, however if a ticket is emailed in then this
    • Server-based Appication API access for Social, Sites, Flow, Pages.

      Hello, I am trying to hook up API access for a number of apps and I have hit a wall trying to add these scopes to the API feed. We cannot find the correct way to list the scope for these Zoho apps; Social, Sites, Flow, Writer. Error on web-page comes
    • Feature Request: "Send Invitation" Toggle for Events

      I am writing to request a critical "Quality of Life" update for the Activities module. Currently, adding people to the Participants field in an Event triggers an automatic email invitation/acceptance tracking with no way to opt-out. For general events
    • Zoho Survey: Bulk Exporting Raw Data (CSV/Excel) from 100+ Individual Survey Projects

      Hi Zoho Community, I am currently managing a 360-degree evaluation process that involves 100+ individual survey projects (one separate survey for each employee being evaluated). I need to download the raw response data (CSV or Excel) for all 100 surveys.
    • Zoho Survey – Page Skip Logic Not Working

      Hi everyone, I'm experiencing an issue with the page skip logic in Zoho Survey. Last week, it was working fine, and I haven’t changed anything in the settings. However, today the skip logic is not working at all. I also tried testing it with different
    • Update P_Leave: code: 7052 "Employee_ID": "Enter Employee ID"

      Hi, Zoho People - Update Leaves Can someone assist? ------------------------------------------------------------------------------------------ col = Collection(); col.insert("recordid":id); col.insert("Date_Check_Approval":zoho.currentdate); info zoho.people.update("P_Leave",col.toMap());
    • CRM x WorkDrive: File storage for new CRM signups is now powered by WorkDrive

      Availability Editions: All DCs: All Release plan: Released for new signups in all DCs. It will be enabled for existing users in a phased manner in the upcoming months. Help documentation: Documents in Zoho CRM Manage folders in Documents tab Manage files
    • Anyone worked out how to export or screengrab a full heatmap?

      I'd love to be able to include a copy of a heatmap in a report but can't work out how to grab the whole thing as there doesn't appear to be an export function? Thanks in advance.
    • Introducing Built-in Telephony in Zoho Recruit

      We’re excited to introduce Built-in Telephony in Zoho Recruit, designed to make recruiter–candidate communication faster, simpler, and fully traceable. These capabilities help you reduce app switching, handle inbound calls efficiently, and keep every
    • Sender Email Configuration Error.

      Hello Team, Hope you are all doing well. We are in the process of creating the Zoho FSM environment in the UAE. When we try to add the sender email address “techsupportuae@stryker.com”, we receive the error message: “Error occurred while sending mail
    • Es posible cambiar el lenguaje de los modulos del ASAP?

      Es posible cambiar el lenguaje de estos textos? Tengo Zoho configurado en español pero aun así me muestra estos textos en ingles:
    • Auto-publish job openings on my Zoho Recruit Careers Website

      I have developed a script using the Zoho Recruit API that successfully inserts new jobOpening records to my Zoho Recruit website, but my goal is to auto-publish to the Careers Website. The jobOpening field data shows two possible candidates to make this
    • [Free webinar] Custom domains for portals in Zoho Creator - Creator Tech Connect

      Hello everyone, We’re excited to invite you to another edition of the Creator Tech Connect webinar. About Creator Tech Connect The Creator Tech Connect series is a free monthly webinar featuring in-depth technical sessions designed for developers, administrators,
    • Remove my video

      Hi, How can I remove my video so that I don't have to see myself. It's weird so I always remove my own video from what I see but cannot find this feature here. Thanks!
    • Marking a meeting 'done'.

      I would like to somehow mark a meeting 'done' and placed under the contact's page rather than deleting it and having no record of it. Am I missing a button that does this?
    • Add Lookup Field in Tasks Module

      Hello, I have a need to add a Lookup field in addition to the ones that are already there in the Tasks module. I've seen this thread and so understand that the reason lookup fields may not be part of it is that there are already links to the tables (
    • Super Admin Logging in as another User

      How can a Super Admin login as another user. For example, I have a sales rep that is having issues with their Accounts and I want to view their Zoho Account with out having to do a GTM and sharing screens. Moderation Update (8th Aug 2025): We are working
    • Cannot find zpuid for Zoho Projects user

      I'm using the Zoho Projects v3 API to create a task. The task is created successfully, but in order to assign the task owner, the "Create a Task" API also requires the zpuid of the task owner. Unfortunately I cannot find any user-related API calls that
    • 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
    • Incorrect Functioning of Time Logs API (Version 3)

      We need to fetch the list of time logs for each task for our company internal usage. We are trying to achieve it by using the next endpoint: https://projects.zoho.com/api-docs#bulk-time-logs#get-all-project-time-logs Firstly, in the documentation the
    • Partial payments for retainer invoices

      When a customer does not pay the entire retainer invoice there is no way to apply a partial payment. PLEASE add this function.
    • Can I export to PDF in Zoho Learn

      I have seen help pages where export to pdf options are available but I do not see that option available from the application. I see that exprt is available in my free trial version but that is only to html pages. I need to be able to export my manuals
    • Service line items

      Hello Latha, Could you please let me know the maximum number of service line items that can be added to a single work order? Thanks, Chethiya.
    • Sending emails via Books

      Anyone else getting similar problems recently ??..... Hi, Your message to the following recipient was not delivered. Please find the details below.  Bounce Details: Bounced Address : someone@google.com Bounce Reason : other ; Status : 5.0.0 (undefined status) ; Daignostic-Code : smtp;542 someone@google.com Rejected ; Bounced Time : Sep 05, 2017 06:37 PM BST Regards, Zoho Team The email addresses were fine only a few days ago but are now being rejected ?
    • PDF Generator Upgrade

      Hi Team, What will happen if I don't make any changes for existing template. Zoho just ask us upgrade but haven't tell the benefit. Zoho Corporation
    • No Need To Fix Something That Is Working

      Zoho Books is a great financial tool which helps businesses to become more efficient and productive with day-to-day operations. As such, every change, upgrade, improvement needs to be carefully thought before implemented in the software and I'm sure Zoho
    • Total Cost in reports showing zero

      The image below shows my issue. The column Total Cost should show the cost to our company based on hours logged and the employee's rate. For instance, if the person working on Subtask 1 is paid 20/hr, then Total Cost should display $160 ($20x8 logged
    • Zoho Books (and other finance suite apps) - Retrospective Linking of Invoice and Sales Orders to Quotes.

      In some cases, Quotes and Invoies may be created sperately instead of using the convert feature. In this feature request I am asking for the Finance Suite team to consider adding a lookup field to reference the quote on Invoices and Sales Orders, or some
    • Bring real app analytics into Zoho Creator apps with Zoho Apptics

      We’re kicking off the year with a release we’ve been looking forward to for a long time. After being in the works for a while, Zoho Creator and Zoho Apptics are now officially integrated, bringing in-depth product analytics directly into the Zoho Creator
    • ZohoMail's outbound webhook sends incorrect folderId and messageId

      I used a webhook (outbound) from within ZohoMail to send message details when a new message arrives that meets specific criteria. I received this data correctly. Now I want to get the attachment from this email message. When I made an api call using folder
    • Use URL field to populate Image in a Email Template

      We have two records Record 1: Appointments (with a Lookup to Doctors module) Related Record 2: Doctors (with a URL field that is an image of the doctor) We would like to populate a CRM email template with the image of the URL field for the related doctor
    • Next Page