Track and Monitor Activities in Zoho CRM using the Export Audit Log API

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





                                                  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 Writer

                                                                                    Get Started. Write Away!

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

                                                                                      Zoho CRM コンテンツ








                                                                                        Nederlandse Hulpbronnen


                                                                                            ご検討中の方




                                                                                                  • Recent Topics

                                                                                                  • Possible to bold or indent text in the description field?

                                                                                                    As part of one item, I often have a detailed description that would be much easier to read if there was the ability to have a bulleted list or bold text and the like. Is this possible? My last invoicing software allowed markup in the field so, for example, an asterisk meant a bullet. I haven't been able to find any documentation related to this.  Any information would be appreciated. Thank you.
                                                                                                  • How would you handle Warranty replacement parts or items in zoho inventory

                                                                                                    Hi everyone, I'm working on setting up zoho inventory for our distribution business.  We handle the service for our customers and will replace items that malfunction under a warranty basis.  Does anyone else do this and how do you set it up in inventory?  Do you have to create a sales order and if you want to the original item back, do you use a RMA?  If so, how is it done so there isn't a credit memo associated with it? Thanks, Tim
                                                                                                  • Apple Messages for Business in Omnichannel communications?

                                                                                                    Hello, Apple launched "Apple Messages for Business" but Zoho CRM or Zoho Desk don't appear in the list of possible integrators. Zoho already promotes https://www.zoho.com/crm/omnichannel.html Omni Channel integration, but Apple Messages does not yet appear.
                                                                                                  • Download email snippets

                                                                                                    Is there a way we can mass download agent-created email snippets?
                                                                                                  • Zoho Desk & Tasks

                                                                                                    Hi, I'd like to be able to create a set of tasks each time a customer request comes in, as I understand it, currently each would need to be create manually. Project is too much of an overhead for what we want to use. Effectively in various use cases we
                                                                                                  • CREATING A PACKAGE SHIPMENT DIRECTLY FROM INVOICE

                                                                                                    Hi, In zoho books i can create a package, shipment and delivery only if i am putting a sales order. If I am invoicing a customer without a sales order, then how can i track the shipment details, package and delivery details for that invoice. Please help.
                                                                                                  • Why Format section gets disabled when we create Merge Template over PDF

                                                                                                    I need some assistance I have a Client who is going to give certificates to users who passes his exam. So, I am using mail merge but in ZOHO writer after I upload the PDF and create merge Template over PDF the format Section gets disabled. My problem
                                                                                                  • How to Freeze Tasks

                                                                                                    Is there a way to freeze a task in the Gantt chart so it cannot move even when predecessors are moved?
                                                                                                  • Journey : "Added to segment" trigger doesn't work automatically

                                                                                                    Hello, I’m experiencing an issue with our Marketing Automation 2.0 integration with Zoho CRM. We have multiple segments defined in Marketing Automation, each with criteria based on field values synced from Zoho CRM. If a field value changes in Zoho CRM,
                                                                                                  • Function #1: Convert an accepted Estimate to Sales Order automatically in Zoho Books

                                                                                                    As you’re aware, Zoho Books provides a default option to have the estimates automatically converted to invoices once your customer accepts them. Many of you wanted a similar option for sales orders, so here’s a workflow that converts accepted estimates
                                                                                                  • Zoho People U.S. Compensation Setup

                                                                                                    We're new to Zoho and Zoho People Plus. So far, we like what we see as an HRIS system to suit our small USA-based (under 20-person) non-profit. However, we can't figure out how to configure the Compensation Service to reflect our workplace. We'd simply
                                                                                                  • Meeting integration with Otter.ai

                                                                                                    Would love for an integration with an AI transcription service like Otter.ai to be integrated with Zoho Meeting. Thanks
                                                                                                  • Workflow Logs

                                                                                                    How can I view Workflow Logs? I have setup custom criteria for custom functions and emails for task workflows Sometimes it doesn't get executed, now It's really hard for me to check where the issue occurred is it due to the criteria? My Function Logic?
                                                                                                  • What are the consequences of renaming a picklist value?

                                                                                                    What are the consequences of renaming a picklist value?
                                                                                                  • Integrating Zoho Creator with Google Drive

                                                                                                    I am interested in using Google Drive as a convenient repository to push files from file upload fields in my creator app. I am wondering if people have come up with best practices for this or even how viable it is. https://developers.google.com/drive/api/guides/manage-uploads#simple
                                                                                                  • Dynamic Date Filtering for KPI Widgets – Need Help with Query Table

                                                                                                    Hello, I'm seeking help with setting up dynamic date filtering for my KPI widgets in Zoho Analytics. Below is an overview of my setup and the issues I'm facing: Why: I need my KPI widgets to update dynamically based on a date range selected via a dashboard
                                                                                                  • Sales Returns - Repairand Return

                                                                                                    Hi Inventory Team, I'm working with a client on an Inventory implementation project and they have shared this use case with me. Some items may be returned by the customer, then returned to the vendor for repairs, received from the vendor and shipped back
                                                                                                  • Hosted Payment Pages - how to update the address in zoho billing

                                                                                                    I"m playing around with the muti-page hosted payment pages which have places for customers to enter their addresses when paying. Why does this not update their address in Zoho Billing after payment? What can I do to make this happen?
                                                                                                  • Deluge Script to Reopen Ticket if Tasks are not Completed

                                                                                                    I have the following script, my goal is to have it automatically reopen the ticket when the ticket is closed if there are Activities assigned to the ticket that are not "Completed". This script seems to reopen the ticket if there are any tasks at all,
                                                                                                  • UK payroll entries

                                                                                                    Hey guys, Nett payroll payments are imported direct into the bank, using an external payroll system (will be glad for Zoho to have a UK payroll app) At present I have monthly recurring bills for HMRC which are auto entered & paid when due. This seems
                                                                                                  • Subform Lookup field showError doesn't clear in Client Script

                                                                                                    I have a lookup fields Deal, Account and Lead in Subform, I am checking if its null or not If its null It shows an error, but when I select some value for the Lookup Field it doesn't clear the error , for other fields such as single line or pickup etc.
                                                                                                  • Option to Manually Add and Verify DMARC Record

                                                                                                    Dear Zoho Mail Team, When configuring a new domain in Zoho Mail, we currently have the option to automatically configure the MX, SPF, and DKIM records. For each of these, we can either allow Zoho to create the records or manually add them to our DNS and
                                                                                                  • Working with Products that are non-tangible

                                                                                                    How does one create a 'service' in products? Is there a way to disable inventory functions for things like Sofware as a service? The services module doesn't look to be much help either. Not sure how to do this in CRM
                                                                                                  • Weekly Tips: Categorize Your Emails with Tags

                                                                                                    We send and receive hundreds of emails each week—ranging from work-related updates, personal messages, important documents, and even spam. With so many emails flooding your inbox, it can quickly become chaotic. Some emails are urgent, some are for reference,
                                                                                                  • Create vendor via API

                                                                                                    The Zoho Books web ui has an option to add a new vendor. Though I can't find an API to create a vendor. Is there an API available for creating a new vendor? Regards, Vinod
                                                                                                  • Function to check frequency of customer ordering patterns

                                                                                                    Hi, I'm no coder, so I thought I could make use of Chat GPT to generate some Deluge script to create a function that would check order frequency of our customers so that I could send an email if they go beyond their usual order pattern. Chat GPT and Claude
                                                                                                  • Customization of "List Price" naming convention

                                                                                                    Surely this has been brought up before, but does Zoho plan to allow the customization of the List Price field? For example, the ability to rename to: Sell Price Sale Price Market Price Ticket Price etc etc
                                                                                                  • Dashboard Analytics - Time to fill a job

                                                                                                    Hello! I'm creating a dashboard and want a chart that displays the recruitment SLA (time to fill) of job openings. I created a report that retrieves the SLA for each job opening. However, when generating the chart, the information does not appear as I
                                                                                                  • Zoho Desk - Archiving Contacts

                                                                                                    Hi, We have a lot of customers in Zoho Desk with associated contacts. When a contact leaves we want to be able to still have their tickets in our history as this is important. But we don't want to have all these contacts that no longer work for the company.
                                                                                                  • Zoho Desk integration with Power BI

                                                                                                    Hi, I want to be able to create a Power BI report which has live updates of ticket data from zoho desk, is this possile at all? Thanks Jack
                                                                                                  • Unified WhatsApp Number Management in Zoho Desk and SalesIQ

                                                                                                    Dear Zoho Desk Support Team, We are currently utilizing both Zoho Desk and Zoho SalesIQ for our customer support operations. While both platforms offer WhatsApp integration, we are facing challenges due to the requirement of separate WhatsApp numbers
                                                                                                  • Zoho books not accepting valid state code via api

                                                                                                    Hello, I am using make.com to create a contact and then invoice for a Shopify orders. However, while creating contact I'm getting "please provide a valid state code" error even though I'm providing correct state code. For example I'm providing MH as state
                                                                                                  • Create View to See Tickets Closed within the last 3 days

                                                                                                    I'm trying to create a view in Zoho Desk that shows me "recently closed ticket," which I will define as tickets closed in the last 3 days. I want this view to update so that whenever I click to view it is recalculates and shows me tickets closed within 3 days from that moment. When I try to Create a view and use the criteria of "Ticket Closed Time" I have to specify a discrete time frame (on or before a specific date). It doesn't allow me to define time/date dynamically like I can do with date fields
                                                                                                  • I'm so confused by the new (?) look

                                                                                                    I've been off Notebook for a long time, neglecting the app and never visiting the website. I decided to renew my commitment to it. It looks completely different! When I logged on before (app or browser page) I'd see a very pretty display of my multiple
                                                                                                  • Conexão de Meta Ads - A busca pelo Cálculo do ROI

                                                                                                    A empresa onde trabalho está em busca de calcular melhor o retorno sobre o investimento de das suas campanhas do Meta Ads. A zoho junto com a Google fez um excelente trabalho e disponibilizou o cálculo desse retorno de forma maestral com o dashboard abaixo.
                                                                                                  • Email alias per task list so these tasks don't get listed under a 'General' task list that we didn't create nor use

                                                                                                    Using an email alias to add tasks is very good for forwarding emails directly into Zoho Projects however everything gets listed under a 'General' task list which is counter-intuitive. It would be good to have an email alias for each task list so we can
                                                                                                  • Can Zoho Flows repeat Actions more than once?

                                                                                                    I'm attempting to make an intentional Zoho Flow loop using the below layout. However, when "WithinLimit" condition is met, the program fails to execute the action "Get & Add Request Co..." again. Is this by design? Is Zoho Flows unable to repeat actions
                                                                                                  • Workflow to auto close Open Deals after 7 days?

                                                                                                    I want to set up a Workflow to Automatically close Deals as Lost after 7 days from their created date, (Regardless of activity or not) I am new to Zoho however I read 2 different ways to do it. 1 required to create a custom Date field and the other looked
                                                                                                  • Enable Filtering by Notes in Accounts & Other Modules

                                                                                                    I noticed that we have the option to filter by notes in the Contacts module, which is great. However, in our company, we add notes specific to an Account, and currently, there's no option to filter Accounts with notes. Can this be enabled? It would also
                                                                                                  • Zoho Marketing Automation Cannot Sync Lookiup Fields

                                                                                                    Hello all, It seems that Zoho MA cannot sync Lookup fields from the CRM. Can you confirm if this is the case? Is there a workaround? Do you know if Campaigns can sync with custom modules and also with Lookup field in the CRM? Thank you!
                                                                                                  • Next Page