- Introduction
-
Getting Started
- Creating an Account in Hevo
- Subscribing to Hevo via AWS Marketplace
- Subscribing to Hevo via Snowflake Marketplace
- Connection Options
- Familiarizing with the UI
- Creating your First Pipeline
- Data Loss Prevention and Recovery
- Upgrading Pipeline from Standard to Edge
-
Data Ingestion
- Types of Data Synchronization
- Ingestion Modes and Query Modes for Database Sources
- Ingestion and Loading Frequency
- Data Ingestion Statuses
- Deferred Data Ingestion
- Handling of Primary Keys
- Handling of Updates
- Handling of Deletes
- Hevo-generated Metadata
- Best Practices to Avoid Reaching Source API Rate Limits
-
Edge
- Data Ingestion
- Core Concepts
-
Pipelines
- Familiarizing with the Pipelines UI
- Creating an Edge Pipeline
- Working with Edge Pipelines
- Pipeline Job History
- Pipeline Overview
- Needs Attention
- Object and Schema Management
- Activity Log
-
Sources
- Connect AI
- PostgreSQL
- Oracle
- MySQL
- SQL Server
- Troubleshooting Database Sources
- CockroachDB
- MongoDB
- SharePoint
- Salesforce Bulk API V2
- Ordergroove
- BambooHR
- Stripe
- NetSuite SuiteAnalytics
- Shopify
- Slack
- ClickUp
- Monday.com
- Pipedrive
- Workable
- Fathom
- HubSpot
- Salesforce Marketing Cloud
- Google Analytics 4
- Google Ads
- Facebook Ads
- Microsoft Ads
- LinkedIn Ads
- Xero
- Instagram Business
- Amazon Selling Partner
- TikTok Ads
- StackAdapt
- Amazon Ads
- Pinterest Organic
- Zendesk Support
- Snapchat Ads
- TikTok Organic
- Google Search Console
- Klaviyo v2
- Braintree Payments
- Facebook Pages
- Tempo
- PayPal
- Auth0
- Pinterest Ads
- Apple Search Ads
- Permit.io
- Amplitude Analytics
- Customer.io
- Paddle
- Jira Cloud
- Fullstory
- GitHub
- WorkOS
- ActiveCampaign
- Campaign Monitor
- Infobip
- Mailgun Send
- Metaplane
- Notion
- Recharge
- sevdesk
- Statuspage
- Teamwork.com
- Workday RaaS
- Yotpo
- TikTok Shop Partner Center
- Linear
- Microsoft Dynamics 365 Business Central
- Checkout.com
- Pylon
- Microsoft Teams
- Rollbar
- Toggl Track
- QuickBooks Online
- Zoho Desk
- Livestorm
- SendGrid
- Naming Conventions for Source Data Entities
- Destinations
- Transformations
- Alerts
- Activate
- Custom Connectors
-
Data Loading
- Loading Data in a Database Destination
- Loading Data to a Data Warehouse
- Optimizing Data Loading for a Destination Warehouse
- Deduplicating Data in a Data Warehouse Destination
- Manually Triggering the Loading of Events
- Scheduling Data Load for a Destination
- Loading Events in Batches
- Data Loading Statuses
- Data Spike Alerts
- Name Sanitization
- Table and Column Name Compression
- Parsing Nested JSON Fields in Events
-
Pipelines
- Data Flow in a Pipeline
- Familiarizing with the Pipelines UI
- Working with Pipelines
- Managing Objects in Pipelines
- Pipeline Jobs
-
Transformations
-
Python Code-Based Transformations
- Supported Python Modules and Functions
-
Transformation Methods in the Event Class
- Create an Event
- Retrieve the Event Name
- Rename an Event
- Retrieve the Properties of an Event
- Modify the Properties for an Event
- Fetch the Primary Keys of an Event
- Modify the Primary Keys of an Event
- Fetch the Data Type of a Field
- Check if the Field is a String
- Check if the Field is a Number
- Check if the Field is Boolean
- Check if the Field is a Date
- Check if the Field is a Time Value
- Check if the Field is a Timestamp
-
TimeUtils
- Convert Date String to Required Format
- Convert Date to Required Format
- Convert Datetime String to Required Format
- Convert Epoch Time to a Date
- Convert Epoch Time to a Datetime
- Convert Epoch to Required Format
- Convert Epoch to a Time
- Get Time Difference
- Parse Date String to Date
- Parse Date String to Datetime Format
- Parse Date String to Time
- Utils
- Examples of Python Code-based Transformations
-
Drag and Drop Transformations
- Special Keywords
-
Transformation Blocks and Properties
- Add a Field
- Change Datetime Field Values
- Change Field Values
- Drop Events
- Drop Fields
- Find & Replace
- Flatten JSON
- Format Date to String
- Format Number to String
- Hash Fields
- If-Else
- Mask Fields
- Modify Text Casing
- Parse Date from String
- Parse JSON from String
- Parse Number from String
- Rename Events
- Rename Fields
- Round-off Decimal Fields
- Split Fields
- Examples of Drag and Drop Transformations
- Effect of Transformations on the Destination Table Structure
- Transformation Reference
- Transformation FAQs
-
Python Code-Based Transformations
-
Schema Mapper
- Using Schema Mapper
- Mapping Statuses
- Auto Mapping Event Types
- Manually Mapping Event Types
- Modifying Schema Mapping for Event Types
- Schema Mapper Actions
- Fixing Unmapped Fields
- Resolving Incompatible Schema Mappings
- Resizing String Columns in the Destination
- Changing the Data Type of a Destination Table Column
- Schema Mapper Compatibility Table
- Limits on the Number of Destination Columns
- File Log
- Troubleshooting Failed Events in a Pipeline
- Mismatch in Events Count in Source and Destination
- Audit Tables
- Activity Log
-
Pipeline FAQs
- Can multiple Sources connect to one Destination?
- What happens if I re-create a deleted Pipeline?
- Why is there a delay in my Pipeline?
- Can I change the Destination post-Pipeline creation?
- Why is my billable Events high with Delta Timestamp mode?
- Can I drop multiple Destination tables in a Pipeline at once?
- How does Run Now affect scheduled ingestion frequency?
- Will pausing some objects increase the ingestion speed?
- Can I see the historical load progress?
- Why is my Historical Load Progress still at 0%?
- Why is historical data not getting ingested?
- How do I set a field as a primary key?
- How do I ensure that records are loaded only once?
- Why can't I see my Pipelines after logging in?
- Events Usage
-
Sources
- Free Sources
-
Databases and File Systems
- Data Warehouses
-
Databases
- Connecting to a Local Database
- Amazon DocumentDB
- Amazon DynamoDB
- Elasticsearch
-
MongoDB
- Generic MongoDB
- MongoDB Atlas
- Support for Multiple Data Types for the _id Field
- Example - Merge Collections Feature
-
Troubleshooting MongoDB
-
Errors During Pipeline Creation
- Error 1001 - Incorrect credentials
- Error 1005 - Connection timeout
- Error 1006 - Invalid database hostname
- Error 1007 - SSH connection failed
- Error 1008 - Database unreachable
- Error 1011 - Insufficient access
- Error 1028 - Primary/Master host needed for OpLog
- Error 1029 - Version not supported for Change Streams
- SSL 1009 - SSL Connection Failure
- Troubleshooting MongoDB Change Streams Connection
- Troubleshooting MongoDB OpLog Connection
-
Errors During Pipeline Creation
- SQL Server
-
MySQL
- Amazon Aurora MySQL
- Amazon RDS MySQL
- Azure MySQL
- Generic MySQL
- Google Cloud MySQL
- MariaDB MySQL
-
Troubleshooting MySQL
-
Errors During Pipeline Creation
- Error 1003 - Connection to host failed
- Error 1006 - Connection to host failed
- Error 1007 - SSH connection failed
- Error 1011 - Access denied
- Error 1012 - Replication access denied
- Error 1017 - Connection to host failed
- Error 1026 - Failed to connect to database
- Error 1027 - Unsupported BinLog format
- Failed to determine binlog filename/position
- Schema 'xyz' is not tracked via bin logs
- Errors Post-Pipeline Creation
-
Errors During Pipeline Creation
- MySQL FAQs
- Oracle
-
PostgreSQL
- Amazon Aurora PostgreSQL
- Amazon RDS PostgreSQL
- Azure PostgreSQL
- Generic PostgreSQL
- Google Cloud PostgreSQL
- Heroku PostgreSQL
- Upgrading Pipelines with PostgreSQL Sources to Use the pgoutput Plugin
-
Troubleshooting PostgreSQL
-
Errors during Pipeline creation
- Error 1003 - Authentication failure
- Error 1006 - Connection settings errors
- Error 1011 - Access role issue for logical replication
- Error 1012 - Access role issue for logical replication
- Error 1014 - Database does not exist
- Error 1017 - Connection settings errors
- Error 1023 - No pg_hba.conf entry
- Error 1024 - Number of requested standby connections
- Errors Post-Pipeline Creation
-
Errors during Pipeline creation
-
PostgreSQL FAQs
- Can I track updates to existing records in PostgreSQL?
- How can I migrate a Pipeline created with one PostgreSQL Source variant to another variant?
- How can I prevent data loss when migrating or upgrading my PostgreSQL database?
- Why do FLOAT4 and FLOAT8 values in PostgreSQL show additional decimal places when loaded to BigQuery?
- Why is data not being ingested from PostgreSQL Source objects?
- Troubleshooting Database Sources
- Database Source FAQs
- File Storage
- Engineering Analytics
- Finance & Accounting Analytics
-
Marketing Analytics
- ActiveCampaign
- AdRoll
- Amazon Ads
- Apple Search Ads
- AppsFlyer
- CleverTap
- Criteo
- Drip
- Facebook Ads
- Facebook Page Insights
- Firebase Analytics
- Freshsales
- Google Ads
- Google Analytics 4
- Google Analytics 360
- Google Play Console
- Google Search Console
- HubSpot
- Instagram Business
- Klaviyo v2
- Lemlist
- LinkedIn Ads
- Mailchimp
- Mailshake
- Marketo
- Microsoft Ads
- Onfleet
- Outbrain
- Pardot
- Pinterest Ads
- Pipedrive
- Recharge
- Segment
- SendGrid Webhook
- SendGrid
- Salesforce Marketing Cloud
- Snapchat Ads
- SurveyMonkey
- Taboola
- TikTok Ads
- Twitter Ads
- Typeform
- YouTube Analytics
- Product Analytics
- Sales & Support Analytics
- Source FAQs
-
Destinations
- Familiarizing with the Destinations UI
- Cloud Storage-Based
- Databases
-
Data Warehouses
- Amazon Redshift
- Amazon Redshift Serverless
- Azure Synapse Analytics
- Databricks
-
Google BigQuery
- Clustering in BigQuery
- Partitioning in BigQuery
- Structure of Data in the Google BigQuery Data Warehouse
- Loading Data to a Google BigQuery Data Warehouse
- Near Real-time Data Loading using Streaming
- Modifying BigQuery Destinations to Use Service Account Authentication
- Troubleshooting Google BigQuery
- Google BigQuery FAQs
- Hevo Managed Google BigQuery
- Snowflake
- Troubleshooting Data Warehouse Destinations
-
Destination FAQs
- Can I change the primary key in my Destination table?
- Can I change the Destination table name after creating the Pipeline?
- How can I change or delete the Destination table prefix?
- Why does my Destination have deleted Source records?
- How do I filter deleted Events from the Destination?
- Does a data load regenerate deleted Hevo metadata columns?
- How do I filter out specific fields before loading data?
- Transform
- Alerts
- Account Management
- Activate
- Glossary
-
Releases-
2026 Releases
- Release 2.53 (August 24 – September 21, 2026)
- Release 2.52 (July 27 – August 24, 2026)
- Release 2.51 (Jun 29 – July 27 , 2026)
- Release 2.50 (Jun 01–29, 2026)
- Release 2.49 (May 04-Jun 01, 2026)
- Release 2.48 (Apr 06-May 04, 2026)
- Release 2.47 (Mar 09-Apr 06, 2026)
- Release 2.46 (Feb 09-Mar 09, 2026)
- Release 2.45 (Jan 12-Feb 09, 2026)
-
2025 Releases
- Release 2.44 (Dec 01, 2025-Jan 12, 2026)
- Release 2.43 (Nov 03-Dec 01, 2025)
- Release 2.42 (Oct 06-Nov 03, 2025)
- Release 2.41 (Sep 08-Oct 06, 2025)
- Release 2.40 (Aug 11-Sep 08, 2025)
- Release 2.39 (Jul 07-Aug 11, 2025)
- Release 2.38 (Jun 09-Jul 07, 2025)
- Release 2.37 (May 12-Jun 09, 2025)
- Release 2.36 (Apr 14-May 12, 2025)
- Release 2.35 (Mar 17-Apr 14, 2025)
- Release 2.34 (Feb 17-Mar 17, 2025)
- Release 2.33 (Jan 20-Feb 17, 2025)
-
2024 Releases
- Release 2.32 (Dec 16 2024-Jan 20, 2025)
- Release 2.31 (Nov 18-Dec 16, 2024)
- Release 2.30 (Oct 21-Nov 18, 2024)
- Release 2.29 (Sep 30-Oct 22, 2024)
- Release 2.28 (Sep 02-30, 2024)
- Release 2.27 (Aug 05-Sep 02, 2024)
- Release 2.26 (Jul 08-Aug 05, 2024)
- Release 2.25 (Jun 10-Jul 08, 2024)
- Release 2.24 (May 06-Jun 10, 2024)
- Release 2.23 (Apr 08-May 06, 2024)
- Release 2.22 (Mar 11-Apr 08, 2024)
- Release 2.21 (Feb 12-Mar 11, 2024)
- Release 2.20 (Jan 15-Feb 12, 2024)
-
2023 Releases
- Release 2.19 (Dec 04, 2023-Jan 15, 2024)
- Release Version 2.18
- Release Version 2.17
- Release Version 2.16 (with breaking changes)
- Release Version 2.15 (with breaking changes)
- Release Version 2.14
- Release Version 2.13
- Release Version 2.12
- Release Version 2.11
- Release Version 2.10
- Release Version 2.09
- Release Version 2.08
- Release Version 2.07
- Release Version 2.06
-
2022 Releases
- Release Version 2.05
- Release Version 2.04
- Release Version 2.03
- Release Version 2.02
- Release Version 2.01
- Release Version 2.00
- Release Version 1.99
- Release Version 1.98
- Release Version 1.97
- Release Version 1.96
- Release Version 1.95
- Release Version 1.93 & 1.94
- Release Version 1.92
- Release Version 1.91
- Release Version 1.90
- Release Version 1.89
- Release Version 1.88
- Release Version 1.87
- Release Version 1.86
- Release Version 1.84 & 1.85
- Release Version 1.83
- Release Version 1.82
- Release Version 1.81
- Release Version 1.80 (Jan-24-2022)
- Release Version 1.79 (Jan-03-2022)
-
2021 Releases
- Release Version 1.78 (Dec-20-2021)
- Release Version 1.77 (Dec-06-2021)
- Release Version 1.76 (Nov-22-2021)
- Release Version 1.75 (Nov-09-2021)
- Release Version 1.74 (Oct-25-2021)
- Release Version 1.73 (Oct-04-2021)
- Release Version 1.72 (Sep-20-2021)
- Release Version 1.71 (Sep-09-2021)
- Release Version 1.70 (Aug-23-2021)
- Release Version 1.69 (Aug-09-2021)
- Release Version 1.68 (Jul-26-2021)
- Release Version 1.67 (Jul-12-2021)
- Release Version 1.66 (Jun-28-2021)
- Release Version 1.65 (Jun-14-2021)
- Release Version 1.64 (Jun-01-2021)
- Release Version 1.63 (May-19-2021)
- Release Version 1.62 (May-05-2021)
- Release Version 1.61 (Apr-20-2021)
- Release Version 1.60 (Apr-06-2021)
- Release Version 1.59 (Mar-23-2021)
- Release Version 1.58 (Mar-09-2021)
- Release Version 1.57 (Feb-22-2021)
- Release Version 1.56 (Feb-09-2021)
- Release Version 1.55 (Jan-25-2021)
- Release Version 1.54 (Jan-12-2021)
-
2020 Releases
- Release Version 1.53 (Dec-22-2020)
- Release Version 1.52 (Dec-03-2020)
- Release Version 1.51 (Nov-10-2020)
- Release Version 1.50 (Oct-19-2020)
- Release Version 1.49 (Sep-28-2020)
- Release Version 1.48 (Sep-01-2020)
- Release Version 1.47 (Aug-06-2020)
- Release Version 1.46 (Jul-21-2020)
- Release Version 1.45 (Jul-02-2020)
- Release Version 1.44 (Jun-11-2020)
- Release Version 1.43 (May-15-2020)
- Release Version 1.42 (Apr-30-2020)
- Release Version 1.41 (Apr-2020)
- Release Version 1.40 (Mar-2020)
- Release Version 1.39 (Feb-2020)
- Release Version 1.38 (Jan-2020)
-
2026 Releases
- Early Access New
Zoho Desk (Edge)
Zoho Desk is a customer service application from Zoho. Support teams use it to manage the tickets raised by customers across channels such as email, phone, chat, and social media, along with the related contacts, accounts, tasks, calls, and contracts.
Hevo uses the Zoho Desk API to replicate data from your Zoho Desk portal to the Destination of your choice. Hevo connects to your portal using OAuth 2.0 through a client that you create in the Zoho API Console. To ingest data, you must provide Hevo with the client ID and client secret of this client and the data center of your Zoho account, and then authorize Hevo to read the data of your portal.
Supported Features
| Feature Name | Supported |
|---|---|
| Capture deletes | Yes (for some objects) |
| History mode | No |
| Custom data (user-configured tables & fields) | Yes (custom fields of the Account, Call, Contact, Contract, Product, Task, and Ticket objects) |
| Data blocking (skip objects and fields) | Yes |
| Resync (objects and Pipelines) | Yes (for some objects) |
| API configurable | Yes |
Prerequisites
-
An active Zoho Desk portal from which data is to be ingested.
-
A Zoho Desk user who can authorize Hevo to read the data of the portal. Hevo ingests only the objects that the profile of this user can access, and marks the other objects as Inaccessible on the Configure Objects page. To ingest all the objects, authorize Hevo as a user with the Administrator profile.
-
A client created in the Zoho API Console of the data center of your Zoho account, and its client ID and client secret.
Create a Zoho API Console Client
Hevo connects to your Zoho Desk portal through a client that you create in the Zoho API Console. The client must be of the Server-based Applications type, and Hevo’s redirect URI must be added to it. You can use the same client for more than one Pipeline.
Perform the following steps to create a client and obtain its client ID and client secret:
-
Log in to the Zoho API Console of the data center of your Zoho account. For example, if you log in to Zoho at accounts.zoho.com, use api-console.zoho.com. If you log in at accounts.zoho.eu, use api-console.zoho.eu.
-
Click ADD CLIENT.

-
Under Server-based Applications, click CREATE NOW.

-
On the Create New Client page, specify the following, and then click CREATE:
-
Client Name: A name for the client. For example, Hevo.
-
Homepage URL: The URL of your company’s website. For example, https://www.example.com.
-
Authorized Redirect URIs: https://westeros.hevodata.com/edge/oauth/callback. This URI is the same for all Hevo regions.

-
-
On the Client Secret tab, copy the Client ID and Client Secret, and save them securely like any other password.

Read Register your application for more information about creating a client.
If you delete the client or regenerate its client secret in the Zoho API Console, Hevo cannot connect to your portal, and the Pipeline fails. To resume data ingestion, modify the Source configuration with the new credentials, and authorize Hevo again.
Configure Zoho Desk as a Source in your Pipeline
Perform the following steps to configure your Zoho Desk Source:
-
Click Pipelines in the Navigation Bar.
-
Click + Create Pipeline in the Pipelines List View.
-
On the Select Source Type page, select Zoho Desk.
-
On the Select Destination Type page, select the type of Destination you want to use.
-
In the Configure Source screen, specify the following:

-
Source Name: A unique name for your Source, not exceeding 255 characters. For example, Zoho Desk Source.
-
In the Connect to Zoho Desk section, specify the following:
-
Client ID: The client ID of the client that you created in the Zoho API Console.
-
Client Secret: The client secret of the client.
-
Region: From the drop-down, select the data center of your Zoho account. For example, select United States if you log in to Zoho at accounts.zoho.com. Default value: United States. The following data centers are supported:
Region Zoho Accounts URL United States accounts.zoho.com Europe accounts.zoho.eu India accounts.zoho.in Australia accounts.zoho.com.au Japan accounts.zoho.jp Canada accounts.zohocloud.ca Saudi Arabia accounts.zoho.sa Singapore accounts.zoho.sg United Arab Emirates accounts.zoho.ae China accounts.zoho.com.cn
-
-
-
Click Authorize, and then do the following in the window that opens:
-
Log in to your Zoho account. To ingest all the objects, log in as a user with the Administrator profile in Zoho Desk.
-
If you belong to more than one Zoho Desk portal, select the portal whose data you want to replicate, and click Submit.

-
Select the I allow Hevo to access the above data from my Zoho account check box, and click Accept.

Once the authorization is successful, you are redirected to the Configure Source screen.
-
-
Click Test & Continue to test the connection to your Zoho Desk Source. Once the test is successful, you can proceed to set up your Destination.
Data Replication
Hevo replicates data for all the objects selected on the Configure Objects page during Pipeline creation. By default, all supported objects and their available fields are selected. However, you can modify this selection while creating or editing the Pipeline.
Hevo ingests the following types of data from your Source objects:
-
Historical Data: The first run of the Pipeline ingests all the data of the selected objects.
-
Incremental Data: Once the historical load is complete, Hevo ingests data as per the sync frequency as follows:
-
For the Account, Contact, Task, and Ticket objects, Hevo ingests the records that were created or updated since the previous run. For each ticket or task that is ingested, Hevo also ingests its child records, such as comments and time entries, and replaces the existing child records of that ticket or task in the Destination.
-
For all the other objects, Hevo ingests the entire data in each run.
-
You can resync only the Groups, Label, Organization, Profile, and Role objects.
Zoho Desk limits the number of API calls that a portal can make in a day, as per its edition, and the number of calls that can run at the same time. Read API credits. These limits are shared by all the applications that read data from the portal. If Zoho Desk returns a server error, or a rate limit error that asks Hevo to wait for 10 minutes or less, Hevo retries the request up to four times, at an interval of five seconds. If the daily API credits of your portal are used up, Hevo stops ingesting the affected objects in that run, and resumes in the next run as follows:
-
For the Account and Contact objects, Hevo continues from the record at which the ingestion stopped.
-
For the Task and Ticket objects, Hevo ingests the records that were created or updated since the last completed run.
-
For all the other objects, the object fails in that run, and Hevo ingests its entire data in the next run.
Note: You can create a Pipeline with this Source only using the Merge load mode. The Append mode is not supported for this Source.
Schema and Primary Keys
Hevo uses the following schema to upload the records in the Destination. For a detailed view of the objects, fields, and relationships, click the ERD.
Data Model
The following is the list of tables (objects) that are created at the Destination when you run the Pipeline:
| Object | Description |
|---|---|
| Account | Contains the accounts, which are the organizations of your customers, including their contact details and owner. It includes a child object, Account Time Entry. |
| Account Time Entry | Contains the time entries recorded against each account, such as the time spent, cost, and billing status. It includes a child object, Account Time Entry Owner. |
| Account Time Entry Owner | Contains the owner of each account time entry. |
| Agent | Contains the agents that Zoho Desk returns for your portal, including their role, profile, and status. It includes the following child objects: - Agent Associated Department - Agent Channel - Agent Time Entry |
| Agent Associated Department | Contains the departments that each agent is associated with. |
| Agent Channel | Contains the channels in which each agent is an expert. |
| Agent Time Entry | Contains the time entries recorded by each agent. It includes a child object, Agent Time Entry Owner. |
| Agent Time Entry Owner | Contains the owner of each agent time entry. |
| Call | Contains the call activities logged in your portal, with their contact, ticket, and assignee. |
| Channel | Contains the channels configured in your portal, such as email, phone, and social channels. It includes a child object, Channel Content Type. |
| Channel Content Type | Contains the content types that each channel supports for replies. |
| Contact | Contains the contacts, which are the customers who raise tickets, including their account and contact details. It includes a child object, Contact Time Entry. |
| Contact Time Entry | Contains the time entries recorded against each contact. It includes a child object, Contact Time Entry Owner. |
| Contact Time Entry Owner | Contains the owner of each contact time entry. |
| Contract | Contains the support contracts of your accounts, with their start and end dates and owner. It includes a child object, Contract Notification Agent. |
| Contract Notification Agent | Contains the agents notified about each contract. |
| Department | Contains the departments in your portal. |
| Groups | Contains the user groups of your help center, which is the customer portal of your Zoho Desk portal. |
| Immediate Sub Role | Contains the roles that report directly to each role. |
| Label | Contains the labels used to sort the users of your help center. |
| Layout | Contains the layouts of your portal for the tickets, contacts, accounts, calls, events, tasks, time entries, products, and contracts modules. It includes a child object, Layout Profile. |
| Layout Profile | Contains the profiles that can use each layout, with one record for each layout and profile. |
| Module | Contains the modules of your portal, such as tickets, contacts, and accounts, with their labels and whether they are enabled. |
| Organization | Contains the Zoho Desk portals that the authorizing user belongs to, with their settings. |
| Product | Contains the products of your portal. It includes a child object, Product Department. |
| Product Department | Contains the departments that each product is associated with. |
| Profile | Contains the profiles that define the permissions of agents. |
| Role | Contains the roles that define the data access of agents. It includes a child object, Immediate Sub Role. |
| Task | Contains the tasks created in your portal, with their owner, due date, and status. It includes a child object, Task Time Entry. |
| Task Time Entry | Contains the time entries recorded against each task. It includes a child object, Task Time Entry Owner. |
| Task Time Entry Owner | Contains the owner of each task time entry. |
| Team | Contains the teams of agents in each department. It includes the following child objects: - Team Agent - Team Derived Agent - Team Role - Team Role With Subordinate - Team Sub Team |
| Team Agent | Contains the agents added directly to each team. |
| Team Derived Agent | Contains the agents who are members of each team through its roles or sub-teams. |
| Team Role | Contains the roles added to each team. |
| Team Role With Subordinate | Contains the roles added to each team along with their subordinate roles. |
| Team Sub Team | Contains the sub-teams of each team. |
| Ticket | Contains the tickets raised in your portal, with their contact, account, department, assignee, status, and priority. It includes the following child objects: - Ticket Approval - Ticket Comment - Ticket Comment Attachment - Ticket Comment Mention - Ticket Entity Skill - Ticket Follower - Ticket Secondary Contact - Ticket Shared Department - Ticket Time Entry - Ticket Time Entry Owner |
| Ticket Approval | Contains the approval requests raised for each ticket, with their approver and status. |
| Ticket Comment | Contains the comments added to each ticket. |
| Ticket Comment Attachment | Contains the files attached to each ticket comment. |
| Ticket Comment Mention | Contains the agents mentioned in each ticket comment. |
| Ticket Entity Skill | Contains the skills associated with each ticket. |
| Ticket Follower | Contains the agents who follow each ticket. |
| Ticket Secondary Contact | Contains the secondary contacts of each ticket. |
| Ticket Shared Department | Contains the departments that each ticket is shared with. |
| Ticket Time Entry | Contains the time entries recorded against each ticket. |
| Ticket Time Entry Owner | Contains the owner of each ticket time entry. |
| Users | Contains the users of your help center, who are the customers who sign in to your customer portal. |
Additional Information
Read the detailed Hevo documentation for the following related topics:
Handling of Deletes
Hevo marks a record as deleted by setting the value of the metadata column __hevo__marked_deleted to True. The record remains in the Destination with all its data. Hevo captures deletes as follows:
-
For the objects whose entire data is ingested in each run, such as Agent, Call, Contract, Department, Product, and Team, Hevo marks a record as deleted if it is no longer returned by Zoho Desk. For example, if an agent is disabled or deleted and Zoho Desk no longer returns the agent, Hevo marks the agent as deleted. The tickets, comments, and time entries of the agent still contain the agent’s ID.
-
For the Account, Contact, Task, and Ticket objects and the time entry objects, Hevo does not capture deletes. Records deleted in Zoho Desk, including the records in its recycle bin, remain in the Destination.
-
For child objects, when Hevo ingests a parent record, it replaces the existing child records of the parent in the Destination. Child records removed from the parent record are marked as deleted.
Source Considerations
-
Hevo ingests data from one Zoho Desk portal in a Pipeline. The portal is the one that you select while authorizing Hevo. To ingest data from more than one portal, create a Pipeline for each portal.
-
The Organization object contains all the portals that the authorizing user belongs to, and not only the portal selected for the Pipeline.
-
Hevo ingests the custom fields of the Account, Call, Contact, Contract, Product, Task, and Ticket objects. Each custom field is loaded as a column whose name is the API name of the field prefixed with
custom_, for example,custom_cf_priority_level. -
Hevo does not ingest the tickets marked as spam or the archived tickets in Zoho Desk.
-
Hevo reads the Account, Contact, Task, and Ticket objects through the search APIs of Zoho Desk. Zoho Desk takes some time to add new and updated records to its search index. As a result, a record that is created or updated just before a Pipeline run may be missed if it is not yet in the search index. Hevo ingests such a record the next time it is updated.
-
The Groups, Label, and Users objects contain the data of your help center. If your portal does not have help center users, these objects do not contain any records.
-
Each Pipeline run makes API calls for all the agents, accounts, contacts, products, layouts, and other objects whose entire data is ingested. Hevo also reads the time entries of each account, contact, and agent in each run. If your Zoho Desk edition provides a low number of API credits, deselect the objects that you do not need.
-
The Layout Profile object contains one record for each layout and each profile that can use it, so it can contain a large number of records. For example, a portal with about 1,800 layouts and 50 profiles has more than 90,000 records. Hevo ingests the entire data of this object in each run. If you do not need it, deselect the object to reduce the number of Events that are ingested.
Revision History
Refer to the following table for the list of key updates made to this page:
| Date | Release | Description of Change |
|---|---|---|
| Oct-28-2026 | NA | New document. |