Zoho Recruit is an applicant tracking system (ATS) and recruitment software that helps businesses manage their hiring process, from posting job openings and tracking candidates to scheduling interviews and managing client relationships.Documentation Index
Fetch the complete documentation index at: https://docs.nekt.com/llms.txt
Use this file to discover all available pages before exploring further.
Configuring Zoho Recruit as a Source
In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Zoho Recruit option from the list of connectors. Click Next and you’ll be prompted to add your access.1. Add account access
You’ll need to provide OAuth2 credentials to authorize Nekt to access your Zoho Recruit data. The following configurations are available:- Authentication Mode (default:
custom): Choose the authentication mode to use.Defaultuses Nekt’s OAuth app, whileCustomuses a custom OAuth app created by you.- Default: You will be prompted to authenticate directly. Please use a Zoho Recruit account with proper access. Using an account with insufficient permissions will result in an error.
- Custom: You will need to manually provide your own Client ID, Client Secret, and Refresh Token.
- Client ID (if Custom mode): The OAuth2 Client ID from your Zoho Developer Console. You can create one by registering a Server-based Application in the Zoho API Console.
- Client Secret (if Custom mode): The OAuth2 Client Secret associated with your Client ID. (Masked as a password field).
- Refresh Token (if Custom mode): The OAuth2 Refresh Token obtained through Zoho Recruit’s OAuth flow from an account with proper access. (Masked as a password field).
- Zoho Domain (optional, default:
com): The Zoho domain suffix matching your account region. Usecomfor US,eufor Europe,infor India,com.aufor Australia, orjpfor Japan. - Start Date (optional): The earliest date from which records will be synced incrementally.
2. Select streams
Choose which data streams you want to sync. For faster extractions, select only the streams that are relevant to your analysis. You can select entire groups of streams or pick specific ones.Tip: The stream can be found more easily by typing its name.Select the streams and click Next.
3. Configure data streams
Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a folder to organize it inside the layer, a name for each table (which will effectively contain the fetched data) and the type of sync.- Layer: choose between the existing layers on your catalog. This is where you will find your new extracted tables as the extraction runs successfully.
- Folder: a folder can be created inside the selected layer to group all tables being created from this new data source.
- Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix to all tables at once and make this process faster!
- Sync Type: you can choose between INCREMENTAL and FULL_TABLE.
- Incremental: every time the extraction happens, we’ll get only the new data, which is good if you want to keep every record ever fetched.
- Full table: every time the extraction happens, we’ll get the current state of the data, which is good if you don’t want to have deleted data in your catalog.
4. Configure data source
Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). Optionally, you can define some additional settings:- Configure Delta Log Retention and determine for how long we should store old states of this table as it gets updated. Read more about this resource here.
- Determine when to execute an Additional Full Sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while.
5. Check your new source
You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.API Limitations
The Zoho Recruit API enforces rate limits on requests. If a rate limit is reached (HTTP 429), the connector automatically reads theX-ACCESSTOKEN-RESET response header to calculate the exact time remaining until the limit resets. It then waits for this duration (plus a small buffer) before safely retrying the request, ensuring continuous and reliable data extraction.
Streams and Fields
Below you’ll find all available data streams from Zoho Recruit and their corresponding fields:Candidates
Candidates
Records of individuals who have applied or been sourced for job positions.
| Field | Type | Description |
|---|---|---|
id | String | Unique identifier for the candidate |
First_Name | String | Candidate’s first name |
Last_Name | String | Candidate’s last name |
Email | String | Candidate’s email address |
Mobile | String | Mobile phone number |
Phone | String | Phone number |
Current_Employer | String | Current employer name |
Current_Job_Title | String | Current job title |
Experience_in_Years | String | Total years of experience |
Current_Salary | Number | Current salary |
Expected_Salary | Number | Expected salary |
Skill_Set | String | Skills and competencies |
Highest_Qualification | String | Highest educational qualification |
City | String | City |
State | String | State or province |
Country | String | Country |
Zip_Code | String | Postal code |
Street | String | Street address |
Source | String | How the candidate was sourced |
Candidate_Status | String | Current status in the pipeline |
Candidate_Stage | String | Current stage in the recruitment process |
Is_Locked | Boolean | Whether the record is locked |
Is_Unqualified | Boolean | Whether the candidate is marked as unqualified |
Website | String | Personal website |
LinkedIn | String | LinkedIn profile |
Twitter | String | Twitter handle |
Created_Time | DateTime | Record creation timestamp |
Modified_Time | DateTime | Last modification timestamp |
Created_By | Object | User who created the record |
Modified_By | Object | User who last modified the record |
Owner | Object | Record owner |
Job Openings
Job Openings
Active and historical job positions within your organization or client companies.
| Field | Type | Description |
|---|---|---|
id | String | Unique identifier for the job opening |
Posting_Title | String | Title of the job posting |
Job_Opening_Name | String | Name of the job opening |
Number_of_Positions | Integer | Number of open positions |
Job_Opening_Status | String | Current status (e.g., Open, Closed) |
Job_Type | String | Type of employment (e.g., Full-time, Part-time) |
Industry | String | Industry sector |
Department_Name | String | Department name |
Work_Experience | String | Required work experience |
Salary | Number | Salary range |
Date_Opened | DateTime | Date the position was opened |
Target_Date | DateTime | Target fill date |
Required_Skills | String | Required skills for the role |
Job_Description | String | Full job description |
Remote_Job | Boolean | Whether the position is remote |
Publish | Boolean | Whether the job is published |
City | String | Job location city |
State | String | State or province |
Country | String | Country |
Zip_Code | String | Postal code |
Client_Name | String | Associated client |
Contact_Name | String | Associated contact |
Account_Manager | String | Account manager for the position |
Created_Time | DateTime | Record creation timestamp |
Modified_Time | DateTime | Last modification timestamp |
Created_By | Object | User who created the record |
Modified_By | Object | User who last modified the record |
Owner | Object | Record owner |
Job Opening Associates
Job Opening Associates
Associated candidates for each Job Opening. Streamed incrementally using
Updated_On.| Field | Type | Description |
|---|---|---|
id | String | Unique identifier for the associate record |
job_opening_id | String | Associated job opening ID |
Candidate_ID | String | Associated candidate ID |
First_Name | String | Candidate’s first name |
Last_Name | String | Candidate’s last name |
Full_Name | String | Candidate’s full name |
Email | String | Email address |
Phone | String | Phone number |
Mobile | String | Mobile phone number |
Candidate_Status | String | Candidate’s status |
Current_Job_Title | String | Current job title |
Current_Employer | String | Current employer |
Current_Salary | Number | Current salary |
Expected_Salary | Number | Expected salary |
Experience_in_Years | String | Total years of experience |
Skill_Set | String | Skills and competencies |
Highest_Qualification_Held | String | Highest educational qualification |
Source | String | How the candidate was sourced |
Rating | Integer | Candidate rating |
City | String | City |
State | String | State or province |
Country | String | Country |
Zip_Code | String | Postal code |
Is_Locked | Boolean | Whether the record is locked |
Is_Attachment_Present | Boolean | Whether an attachment is present |
Email_Opt_Out | Boolean | Whether the candidate opted out of emails |
Candidate_Owner | Object | Owner of the candidate record |
Associated_Tags | Array | Array of tags associated with the candidate |
Created_Time | DateTime | Record creation timestamp |
Updated_On | DateTime | Last modification timestamp |
Last_Activity_Time | DateTime | Last activity timestamp |
Created_By | Object | User who created the record |
Modified_By | Object | User who last modified the record |
Contacts
Contacts
Contact persons at client companies involved in the recruitment process.
| Field | Type | Description |
|---|---|---|
id | String | Unique identifier for the contact |
First_Name | String | Contact’s first name |
Last_Name | String | Contact’s last name |
Email | String | Email address |
Mobile | String | Mobile phone number |
Phone | String | Phone number |
Title | String | Job title |
Department | String | Department |
Fax | String | Fax number |
Mailing_City | String | City |
Mailing_State | String | State or province |
Mailing_Country | String | Country |
Mailing_Zip | String | Postal code |
Mailing_Street | String | Street address |
Client_Name | String | Associated client company |
Is_Locked | Boolean | Whether the record is locked |
Created_Time | DateTime | Record creation timestamp |
Modified_Time | DateTime | Last modification timestamp |
Created_By | Object | User who created the record |
Modified_By | Object | User who last modified the record |
Owner | Object | Record owner |
Interviews
Interviews
Scheduled and completed interviews linking candidates to job openings.
| Field | Type | Description |
|---|---|---|
id | String | Unique identifier for the interview |
Interview_Name | String | Name of the interview |
Interview_Status | String | Status of the interview (e.g., Scheduled, Completed) |
From | DateTime | Interview start time |
To | DateTime | Interview end time |
Location | String | Interview location |
Schedule_Comments | String | Comments about the schedule |
Interview_Owner | Object | Owner of the interview |
Candidate_Name | String | Candidate being interviewed |
Job_Opening_Name | String | Associated job opening |
Interviewer | Array | List of interviewers |
Is_Locked | Boolean | Whether the record is locked |
Created_Time | DateTime | Record creation timestamp |
Modified_Time | DateTime | Last modification timestamp |
Created_By | Object | User who created the record |
Modified_By | Object | User who last modified the record |
Owner | Object | Record owner |
Clients
Clients
Client companies that have open positions or recruitment agreements.
| Field | Type | Description |
|---|---|---|
id | String | Unique identifier for the client |
Client_Name | String | Name of the client company |
Website | String | Client website |
Phone | String | Phone number |
Fax | String | Fax number |
Industry | String | Industry sector |
About_Client | String | Description of the client |
Billing_City | String | City |
Billing_State | String | State or province |
Billing_Country | String | Country |
Billing_Code | String | Postal code |
Billing_Street | String | Street address |
Is_Locked | Boolean | Whether the record is locked |
Created_Time | DateTime | Record creation timestamp |
Modified_Time | DateTime | Last modification timestamp |
Created_By | Object | User who created the record |
Modified_By | Object | User who last modified the record |
Owner | Object | Record owner |
Notes
Notes
Notes attached to various records in Zoho Recruit, such as candidates, job openings, or clients.
| Field | Type | Description |
|---|---|---|
id | String | Unique identifier for the note |
Note_Title | String | Title of the note |
Note_Content | String | Body content of the note |
Parent_Id | String | The record this note is attached to |
se_module | String | The module of the parent record (e.g., Candidates, Job_Openings) |
Created_Time | DateTime | Record creation timestamp |
Modified_Time | DateTime | Last modification timestamp |
Created_By | Object | User who created the record |
Modified_By | Object | User who last modified the record |
Owner | Object | Record owner |
Skills for agents
Download Zoho Recruit skills file
Zoho Recruit connector documentation as plain markdown, for use in AI agent contexts.