Kaizen #150 : Track and Monitor Activities in Zoho CRM using the Export Audit Log API

Kaizen #150 : Track and Monitor Activities in Zoho CRM using the Export Audit Log API

Hello all!

Welcome back to another post in our Kaizen series



This post details how to back up and track history of actions, such as those performed on a module (example: Leads), track actions performed by specific CRM users, and filter entries within a specific time range, using the Export Audit Log API introduced in Version 7.

Use Case

Zylker, a startup IT firm, has hired 10 project trainees for a six-month training program for the role of Technical Support Engineers. The manager at Zylker has added each trainee to the Zoho CRM as a user. These trainees interact with customers by giving product demos, attending meetings and calls, creating tasks, and being responsible for making deals won. 

Solution 

Zylker uses Zoho CRM's Export Audit Log API to track trainee activities. By exporting audit logs, the manager monitors how many calls, meetings, and tasks each trainee has completed. This helps the manager highlight areas where trainees need improvement and adjust training programs. After six months, the manager reviews the logs to decide which trainees performed well and should be offered permanent positions.

Note:
Users in the Administrator profile or CEO Role can access the audit logs. However, other users can only view their own and their sub-ordinates' audit Logs.

Exporting Audit Log

The Export Audit Log API is an asynchronous API, and an export job will be scheduled to export the audit log details. The exported audit log will be downloaded in either CSV or ZIP format, depending on the number of entries in the result. You can check the job's status using the Get the Status of the Export Audit Log Job API. Once the job is complete, you can download the results using the Download Export Audit Log Result API.

Let us see how Zylker uses the Zoho CRM API to monitor their trainees' performance.

Create Export Audit Log Job

Sample Request: {api-domain}/crm/{version}/settings/audit_log_export

Request Method: POST

Scope: ZohoCRM.settings.audit_logs.CREATE 

Notes:
  • The above sample request exports up to the last three years of audit log data across all modules in your Zoho CRM. 
  • The input request is optional i.e., if you skip the input request, the system will still export all actions in Zoho CRM. 
  • Use filters to export specific audit entries.

The sample input below is used to export an audit log for all 10 trainees in the Calls, Events, and Tasks modules over a six-month time range.
{
    "audit_log_export": [
        {
            "criteria": {
                "group_operator": "and",
                "group": [
                    {
                        "field": {
                            "api_name": "done_by"
                        },
                        "comparator": "in",
                        "value": [
                            {
                                "name": "Joe",
                                "id": "5725767000000583089"
                            },
                            {
                                "name": "Boyle",
                                "id": "5725767000000583000"
                            },
                            {
                                "name": "John",
                                "id": "5725767000000583001"
                            },
                            .
                            .
                            .

                        ]
                    },
                    {
                        "group_operator": "and",
                        "group": [
                            {
                                "group_operator": "and",
                                "group": [
                                    {
                                        "field": {
                                            "api_name": "audited_time"
                                        },
                                        "comparator": "between",
                                        "value": [
                                            "2024-01-05T00:00:00+05:30",
                                            "2024-06-04T23:59:59+05:30"
                                        ]
                                    },
                                    {
                                        "field": {
                                            "api_name": "module"
                                        },
                                        "comparator": "in",
                                        "value": [
                                            {
                                                "api_name": "Calls",
                                                "id": "5725767000000033015"
                                            },
                                            {
                                                "api_name": "Events",
                                                "id": "5725767000000002195"
                                            },
                                            {
                                                "api_name": "Tasks",
                                                "id": "5725767000000002193"
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    }
                ]
            }
        }
    ]
}
The above input schedules a job to export data that matches the criteria. The response to the above request is given below, and we will discuss how to see the status of the export audit log job and how to download the result in the upcoming sections in this post.

Refer to the Input JSON Keys to Export Audit Log Using Multiple Filters for input keys' explanations.

Note
With filters (either single or multiple criteria), you can export up to 6 months (180 days) of audit log data. Note that the time range should not exceed 180 days. 

Sample Response:

{
    "audit_log_export": [
        {
            "status": "success",
            "code": "SCHEDULED",
            "message": "ExportAuditlog scheduled successfully.",
            "details": {
                "id": "5725767000003525045" //unique job ID of the export audit log job.
            }
        }
    ]
}


The manager has scheduled an export audit log job to review their trainees' activities within the specified time range (six months).

Get the Status of the Export Audit Log Job

The manager at Zylker retrieves the details of the export audit log jobs that were scheduled previously using the POST Export Audit Log API.
  • Exporting All Trainees' Activities: By reviewing the complete log, the manager can analyze the overall performance of all trainees.
  • Filtering Specific trainees' Activities: Once after reviewing the entire log, the manager could filter data of only those trainees with average performance and provide them with the required training to help them improve.
Zylker retrieves the status of all scheduled export audit log jobs using the following URL: 

{api-domain}/crm/{version}/settings/audit_log_export

By default, it returns all the scheduled export jobs.

For retrieving the status of a specific scheduled export audit log job, Zylker uses the following URL:

{api-domain}/crm/{version}/settings/audit_log_export/{export_job_id}

Request Method: GET

Scope:  ZohoCRM.settings.audit_logs.READ 

Here is the sample response showing the status of the export audit log job for all the trainees:

{
    "audit_log_export": [
        {
            "id": "5725767000003525048",
            "status": "finished",
            "job_start_time": "2024-08-07T12:12:39-07:00",
            "job_end_time": "2024-08-07T12:12:44-07:00",
            "expiry_date": "2024-08-14T12:12:39-07:00",
            "created_by": {
                "name": "Jim", //Zylker's Manager
                "id": "5725767000000411001"
            },
            "criteria": {
                "group_operator": "and",
                "group": [
                    {
                        "comparator": "between",
                        "field": {
                            "api_name": "audited_time"
                        },
                        "value": [
                            "2024-01-05T00:00:00+05:30",
                            "2024-06-04T23:59:59+05:30"
                        ]
                    },
                    {
                        "comparator": "in",
                        "field": {
                            "api_name": "module"
                        },
                        "value": [
                            {
                                "api_name": "Tasks",
                                "id": "5725767000000002193"
                            },
                            {
                                "api_name": "Events",
                                "id": "5725767000000002195"
                            },
                            {
                                "api_name": "Calls",
                                "id": "5725767000000033015"
                            }
                        ]
                    }
                ]
            },
            "download_links": [
            ]
        }
    ]
}


Response JSON Keys explanation: 
  • audit_log_export (JSON array) : Contains the details for the audit log export request of the trainees.
  • id (string) : Represents the unique job ID of the export audit log job.
  • status (string) : Represents the status of the export audit log job. Possible values: Progress, Scheduled, Finished, and Failed.
  • job_start_time (string) : Represents the time at which the export job started.
  • job_end_time (string) : Represents when the export job was completed.
  • expiry_date (string) : Represents the expiry time of the exported audit log available in the download links.
  • created_by (JSON object) : Represents the ID and Name of the Zoho CRM user who initiated the export job.
  • criteria (JSON object) : Represents the conditions specified for a specific export audit log job using the Create Export Audit Log API.
  • download_links (JSON array) : Represents the unique downloadable link for the exported audit log. You can use this link to download the log data using the GET - Download Export Audit Log Result API

Download Export Audit Log Result

The manager at Zylker can download the result logs using the the "download_links" JSON array key in the response Get the Status of the Export Audit Log Job API.

An export audit log will be in either CSV or ZIP format, depending on the number of entries in the result. If the audit log contains 100,000 or fewer entries, the system will automatically export the logs in a CSV file. If there are more than 100,000 entries, the logs will be split into multiple CSV files inside a ZIP file, with each CSV file holding up to 100,000 entries. A maximum of 10,00,000 audit entries will be exported in a ZIP file.

Request Method: GET 

Scope: ZohoFiles.files.READ

In our case, download the audit log result in the CSV file format. 
Based on the downloaded results, the manager will analyze the trainees' performance to make hiring decisions and identify areas where those with average performance may need additional training. This approach helps the manager at Zylker to keep track of all trainees' activities regularly.

We trust that this post meets your needs and is helpful. Let us know your thoughts in the comment  or reach out to us at support@zohocrm.com
Stay tuned for more insights in our upcoming Kaizen posts!







    Access your files securely from anywhere







                            Zoho Developer Community




                                                  • Desk Community Learning Series


                                                  • Digest


                                                  • Functions


                                                  • Meetups


                                                  • Kbase


                                                  • Resources


                                                  • Glossary


                                                  • Desk Marketplace


                                                  • MVP Corner


                                                  • Word of the Day


                                                  • Ask the Experts



                                                            • Sticky Posts

                                                            • 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
                                                            • Kaizen #152 - Client Script Support for the new Canvas Record Forms

                                                              Hello everyone! Have you ever wanted to trigger actions on click of a canvas button, icon, or text mandatory forms in Create/Edit and Clone Pages? Have you ever wanted to control how elements behave on the new Canvas Record Forms? This can be achieved
                                                            • Kaizen #142: How to Navigate to Another Page in Zoho CRM using Client Script

                                                              Hello everyone! Welcome back to another exciting Kaizen post. In this post, let us see how you can you navigate to different Pages using Client Script. In this Kaizen post, Need to Navigate to different Pages Client Script ZDKs related to navigation A.
                                                            • 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


                                                            Manage your brands on social media



                                                                  Zoho TeamInbox Resources



                                                                      Zoho CRM Plus Resources

                                                                        Zoho Books Resources


                                                                          Zoho Subscriptions Resources

                                                                            Zoho Projects Resources


                                                                              Zoho Sprints Resources


                                                                                Qntrl Resources


                                                                                  Zoho Creator Resources



                                                                                      Zoho CRM Resources

                                                                                      • CRM Community Learning Series

                                                                                        CRM Community Learning Series


                                                                                      • Kaizen

                                                                                        Kaizen

                                                                                      • Functions

                                                                                        Functions

                                                                                      • Meetups

                                                                                        Meetups

                                                                                      • Kbase

                                                                                        Kbase

                                                                                      • Resources

                                                                                        Resources

                                                                                      • Digest

                                                                                        Digest

                                                                                      • CRM Marketplace

                                                                                        CRM Marketplace

                                                                                      • MVP Corner

                                                                                        MVP Corner









                                                                                          Design. Discuss. Deliver.

                                                                                          Create visually engaging stories with Zoho Show.

                                                                                          Get Started Now


                                                                                            Zoho Show Resources

                                                                                              Zoho Writer

                                                                                              Get Started. Write Away!

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

                                                                                                Zoho CRM コンテンツ



                                                                                                  Nederlandse Hulpbronnen


                                                                                                      ご検討中の方




                                                                                                              • Recent Topics

                                                                                                              • Zoho Projects API 100 requests/2 min. Limit

                                                                                                                Hi Requesting clarification on the API documentation. "You can invoke or call an API for 100 times in a span of two minutes. If you invoke more than 100 times, the particular API request will be locked for the next 30 minutes. " Does this limit apply
                                                                                                              • Integrate your Outlook/ Office 365 inbox with Zoho CRM via Graph API

                                                                                                                Hello folks, In addition to the existing IMAP and POP options, you can now integrate your Outlook/Office 365 inbox with Zoho CRM via Graph API. Why did we add this option? Microsoft Graph API offers a single endpoint to access data from across Microsoft’s
                                                                                                              • Zoho Projects - Attachments added to Task and Bug emails are not saved

                                                                                                                Hi Projects team, I have been experimenting with emails into projects to create tasks and bugs. I have noticed that attachments added to the emails are not saved to the task or bug. Is this normal behaviour? Thanks, Ashley
                                                                                                              • Zoho Inventory's latest shipping integration updates at a glance.

                                                                                                                Hello Users, We would like to share some important news about our latest improvements in the Shipping integration capabilities of Zoho Inventory that we achieved in 2024 with some of our major integration partners in key editions across APAC, North America,
                                                                                                              • Sorting a list of record acquired from the zoho.crm.searchRecords function.

                                                                                                                This is something for which I'm trying to figure out a straightforward way to do. The searchRecords does a great job fetching me the records that I want. However, in some cases, where it returns multiple records, I want it to sort the returned list by date of creation of that record, so that when I do records.get(0), I get the most recent record.  As an example, here's my sample pseudo code: records = zoho.crm.searchRecords("Clients", "Office_Number:equals:123456"); Now the "records" list above contains
                                                                                                              • Zoho Inventory Custom Field Update

                                                                                                                Hello All, In this post I am describing how can we Update the Custom Field Value in Zoho Inventory. // Get Org ID orgid = organization.get("organization_id"); // Field Value resvp = ifnull(item.get("purchase_rate"),null); // Record ID iid = item.get("item_id");
                                                                                                              • Deprecation of the Zoho OAuth connector

                                                                                                                Hello everyone, At Zoho, we continuously evaluate our integrations to ensure they meet the highest standards of security, reliability, and compliance. As part of these ongoing efforts, we've made the decision to deprecate the Zoho OAuth default connector
                                                                                                              • Alphabetically

                                                                                                                How can i arrange alphabetically - (Manage Manufacturer) Field in Item Master 
                                                                                                              • Can i set a default value for country and state in address field in zoho creator?

                                                                                                                Can i set a default value for country and state in address field in zoho creator?
                                                                                                              • Convert HTML to PDF & Send as Email Attachments in Zoho Creator (Deluge)

                                                                                                                This approach is useful for sending welcome letters, instructions, or promotional offers after order creation. // 1. Define the variables using the submitted input customerName = input.Customer_Name1; orderID = input.ID; customerEmail = input.Email_Address; //
                                                                                                              • Redirect after submission is not working after a few submission

                                                                                                                I have setup redirect url correctly and everything works as expected. However, it seems that there's a limit to the number of submissions before the redirect stops working. After the "limit" is reached, the page redirects to a seemingly zoho hosted page,
                                                                                                              • Enhancement Request for Multi-Asset Work Order Feature

                                                                                                                Hello Latha, Thank you for your continued support. The multi-asset Work Order feature is extremely helpful. I did some testing based on our requirements, and during the process, I noticed a few areas where we need your team’s support to improve the feature
                                                                                                              • Marketing Tip #8: Run limited-time offers

                                                                                                                Exclusive offers that don't last long make shoppers purchase right away instead of waiting. Run a flash sale or limited-time discount to convert interest into sales. Try this today: Set up a "Buy X Get Y" coupon in Zoho Commerce valid for a limited time
                                                                                                              • Add Option to Mass Dispatch by User

                                                                                                                Hello! We are using the dispatch console to dispatch service appointments to our service ressources. Right now, the process is our dispatcher verifies each ressource's route for the day and dispatches it after validation. Sadly, there doesn't seem to
                                                                                                              • Zoho Projects - Email notification relabelling of modules not present on default templates

                                                                                                                Hi Projects Team, I noticed that in the default email template notification, the word "bug" was not renamed to the lable I am using in my system. As many users may used the Bugs modules for various purposes including Changes, Revisions, Issues, etc...
                                                                                                              • Include the "Added Email ID" to the Filters of a Report

                                                                                                                Hi, With a Report and lots of entries, a normal thing is to filter entries by the submitter, but that is not included in the Auto Filter of Reports and you can't add a custom filter to a Report without specifying the actual value. I would like to be able
                                                                                                              • Loops in Deluge

                                                                                                                Hi, Can someone tell me how I do a simple loop in deluge? For example, if i have a variable "X" containing a number of loops to perform, i would like to perform an action X amount of times. X = 10; do while (Y < X){       // ... do something } to further explain, the equivalent in PHP of what i am trying to acheive would be: $X = 20; for($Y = 1; $Y < $X; $Y++ ){       // ... do something } Thanks
                                                                                                              • I am facing a problem with an if-else condition

                                                                                                                If I use if, else if, and else conditions in Deluge with the same variable name, sometimes the variable causes an error because the same variable name is present in every block
                                                                                                              • Zoho Projects - Reply by email to @ mentions posted on the Feed.

                                                                                                                When mentioning someone on the Feed (Status), it would be great if that mentioned person could reply to the email notification to update the Feed thread.
                                                                                                              • Record Overseas Transactions Along with CC charges

                                                                                                                Hi All, We receive payments via stripe in multiple currencies and stripe takes around 2.5% fees. The amount is settled in INR into our local bank. What should be the currency of the income account used for Stripe payments? Here is a sample flow that we
                                                                                                              • Product Updates in Zoho Workplace applications | October 2025

                                                                                                                Hello Workplace Community, Let’s take a look at the new features and enhancements that went live across all Workplace applications this October. Zoho Mail Create Signature from Compose window You can now effortlessly create a Signature using the Create
                                                                                                              • Subform data to Sheets

                                                                                                                I have been trying to setup a Zoho Flow automation to bring any Subform input to a Zoho Sheets but it seems impossible to post the subform entries to a Zoho Sheet. Is there any way to do it via Zoho Sheet API? https://www.zoho.com/sheet/help/api/v2/#CONTENT-Insert-row-with-JSON-data
                                                                                                              • Edit Contact Roles in the Potentials Mod

                                                                                                                New to ZOHO so I need some help. I work the same people on different projects concurrency. Their contact info remains the same but their role changes from project to project. In the Potential Mod you can pick contacts and assign a Role to them. I know
                                                                                                              • Is there a way to disable the Activity Reminders Pop-Up Window every time I log in?

                                                                                                                Just wondering if there is a setting to disable the window from opening every time I open my CRM? Thanks Chris
                                                                                                              • Hide fields only for creation

                                                                                                                Hello, I'd like to hide some fields only during the creation of a contact in Zoho CRM. In fact I have some fields that are automatically calculated thanks to an automation, so when my users create a contact I don't want them to fill those fields. I know
                                                                                                              • Rich-text fields in Zoho CRM

                                                                                                                Hello everyone, We're thrilled to announce an important enhancement that will significantly enhance the readability and formatting capabilities of your information: rich text options for multi-line fields. With this update, you can now enjoy a more versatile
                                                                                                              • Font Size 11 - Zoho CRM Email Templates

                                                                                                                Our company communicates with our vendors exclusively using Calibri Font Size 11, as this is the standard formatting for professional emails. Since the CRM only allows for the selection of font sizes 10 & 12, we have been unable to utilize the CRM email
                                                                                                              • Error 400 Booking

                                                                                                                Added a custom domain to Booking. Am Getting a SSL Error that has some other domain on the SSL and giving a 400 error. Followed instructions and it stated it verified our domain.. However it is not working. Please Help!
                                                                                                              • Link Purchase Order to Deal

                                                                                                                Zoho Books directly syncs with contacts, vendors and products in Zoho CRM including field mapping. Is there any way to associate vendor purchase orders with deals, so that we can calculate our profit margin for each deal with connected sales invoices
                                                                                                              • Zoho Projects - Email Notifications for Feed Updates

                                                                                                                Hi Projects Team, I'm working with a client who wants a simple way to communicate with their customers on projects. Getting the customer to add comments to Tasks or Bug records is not ideal, as we need a way which is easy with minimal training, and has
                                                                                                              • Zoho Analytics Export API

                                                                                                                Hi Team, I’m working on some integration tasks and wanted to confirm if it’s possible to retrieve a Zoho Analytics table as JSON data using a Deluge script. I’ve already stored my custom data from multiple sources and combined it into a single source.
                                                                                                              • Request to Remove LinkedIn Verification from My Emai

                                                                                                                I would like to submit a complaint regarding my Zoho Mail account. I previously used this email address to verify a LinkedIn account, but that LinkedIn account has now been closed. I need to remove or cancel the verification associated with the closed
                                                                                                              • Introducing the all-new email parser!

                                                                                                                Greetings, We are pleased to introduce to you, a brand-new, upgraded version of the Zoho CRM Email Parser, which is packed with fresh features and has been completely redesigned to meet latest customers needs and their business requirements. On that note,
                                                                                                              • Zoho Projects - Refine Access to Collaboration Menu

                                                                                                                Hi Projects Team, I noticed that Calendar, Chat and Meeting menu options in the Collaboration section are visible to client users, even when they don't have access to the features. This could be confusing and frustrating, because if it's there you expect
                                                                                                              • 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.
                                                                                                              • Extracting Images from a Zoho Creator Report into a Pages

                                                                                                                If you’ve uploaded images in a form and can see them in your report, you might also want to display those same images inside a Page (custom HTML page). This is useful for dashboards, profile pages, or any place where images should be visible dynamically
                                                                                                              • Zoho is blocking emails I subscribe to from one sender

                                                                                                                About 4 months ago I stopped receiving newsletters that I subscribe to from @thedispatch.com. They tell me that zoho's server is blocking them. I've added them to my contacts list, but they're not even reaching my inbox. I don't know how to troubleshoot
                                                                                                              • Inactive Items - Make Less Prominent by Default

                                                                                                                Currently, when one marks an Item as "Inactive", it really doesn't do much of anything to hide it or get it out of the way. Search and reporting within Finance should, by default, hide inactive Items from standard reports, searches, etc. If one specifically
                                                                                                              • Items should display under specific warehouse

                                                                                                                I have configured the multi warehouse but it show all the items under all warehouse which is not correct according to our business logic, so i want that items should only display under that specific warehouse not under all the warehouses not even with zero quantity. Some items should be common but not all so is there any option for that purpose so i can specific the items to its warehouse. Regards
                                                                                                              • How to calculate GST based on "Ship To Address"

                                                                                                                We into the interior designing work, providing "Works Contract Services" to our clients across India. We are registered under GST in Maharashtra state. For works contract services as per the GST rule, we need to decide place of supply based on "Ship to
                                                                                                              • Next Page