Skip to main content

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.

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.

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. Default uses Nekt’s OAuth app, while Custom uses 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. Use com for US, eu for Europe, in for India, com.au for Australia, or jp for Japan.
  • Start Date (optional): The earliest date from which records will be synced incrementally.
Once you’re done, click Next.

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.
Once you are done configuring, click Next.

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.
Once you are ready, click Next to finalize the setup.

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.
For you to be able to see it on your Catalog, you need at least one successful source run.

API Limitations

The Zoho Recruit API enforces rate limits on requests. If a rate limit is reached (HTTP 429), the connector automatically reads the X-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:
Records of individuals who have applied or been sourced for job positions.
FieldTypeDescription
idStringUnique identifier for the candidate
First_NameStringCandidate’s first name
Last_NameStringCandidate’s last name
EmailStringCandidate’s email address
MobileStringMobile phone number
PhoneStringPhone number
Current_EmployerStringCurrent employer name
Current_Job_TitleStringCurrent job title
Experience_in_YearsStringTotal years of experience
Current_SalaryNumberCurrent salary
Expected_SalaryNumberExpected salary
Skill_SetStringSkills and competencies
Highest_QualificationStringHighest educational qualification
CityStringCity
StateStringState or province
CountryStringCountry
Zip_CodeStringPostal code
StreetStringStreet address
SourceStringHow the candidate was sourced
Candidate_StatusStringCurrent status in the pipeline
Candidate_StageStringCurrent stage in the recruitment process
Is_LockedBooleanWhether the record is locked
Is_UnqualifiedBooleanWhether the candidate is marked as unqualified
WebsiteStringPersonal website
LinkedInStringLinkedIn profile
TwitterStringTwitter handle
Created_TimeDateTimeRecord creation timestamp
Modified_TimeDateTimeLast modification timestamp
Created_ByObjectUser who created the record
Modified_ByObjectUser who last modified the record
OwnerObjectRecord owner
Active and historical job positions within your organization or client companies.
FieldTypeDescription
idStringUnique identifier for the job opening
Posting_TitleStringTitle of the job posting
Job_Opening_NameStringName of the job opening
Number_of_PositionsIntegerNumber of open positions
Job_Opening_StatusStringCurrent status (e.g., Open, Closed)
Job_TypeStringType of employment (e.g., Full-time, Part-time)
IndustryStringIndustry sector
Department_NameStringDepartment name
Work_ExperienceStringRequired work experience
SalaryNumberSalary range
Date_OpenedDateTimeDate the position was opened
Target_DateDateTimeTarget fill date
Required_SkillsStringRequired skills for the role
Job_DescriptionStringFull job description
Remote_JobBooleanWhether the position is remote
PublishBooleanWhether the job is published
CityStringJob location city
StateStringState or province
CountryStringCountry
Zip_CodeStringPostal code
Client_NameStringAssociated client
Contact_NameStringAssociated contact
Account_ManagerStringAccount manager for the position
Created_TimeDateTimeRecord creation timestamp
Modified_TimeDateTimeLast modification timestamp
Created_ByObjectUser who created the record
Modified_ByObjectUser who last modified the record
OwnerObjectRecord owner
Associated candidates for each Job Opening. Streamed incrementally using Updated_On.
FieldTypeDescription
idStringUnique identifier for the associate record
job_opening_idStringAssociated job opening ID
Candidate_IDStringAssociated candidate ID
First_NameStringCandidate’s first name
Last_NameStringCandidate’s last name
Full_NameStringCandidate’s full name
EmailStringEmail address
PhoneStringPhone number
MobileStringMobile phone number
Candidate_StatusStringCandidate’s status
Current_Job_TitleStringCurrent job title
Current_EmployerStringCurrent employer
Current_SalaryNumberCurrent salary
Expected_SalaryNumberExpected salary
Experience_in_YearsStringTotal years of experience
Skill_SetStringSkills and competencies
Highest_Qualification_HeldStringHighest educational qualification
SourceStringHow the candidate was sourced
RatingIntegerCandidate rating
CityStringCity
StateStringState or province
CountryStringCountry
Zip_CodeStringPostal code
Is_LockedBooleanWhether the record is locked
Is_Attachment_PresentBooleanWhether an attachment is present
Email_Opt_OutBooleanWhether the candidate opted out of emails
Candidate_OwnerObjectOwner of the candidate record
Associated_TagsArrayArray of tags associated with the candidate
Created_TimeDateTimeRecord creation timestamp
Updated_OnDateTimeLast modification timestamp
Last_Activity_TimeDateTimeLast activity timestamp
Created_ByObjectUser who created the record
Modified_ByObjectUser who last modified the record
Contact persons at client companies involved in the recruitment process.
FieldTypeDescription
idStringUnique identifier for the contact
First_NameStringContact’s first name
Last_NameStringContact’s last name
EmailStringEmail address
MobileStringMobile phone number
PhoneStringPhone number
TitleStringJob title
DepartmentStringDepartment
FaxStringFax number
Mailing_CityStringCity
Mailing_StateStringState or province
Mailing_CountryStringCountry
Mailing_ZipStringPostal code
Mailing_StreetStringStreet address
Client_NameStringAssociated client company
Is_LockedBooleanWhether the record is locked
Created_TimeDateTimeRecord creation timestamp
Modified_TimeDateTimeLast modification timestamp
Created_ByObjectUser who created the record
Modified_ByObjectUser who last modified the record
OwnerObjectRecord owner
Scheduled and completed interviews linking candidates to job openings.
FieldTypeDescription
idStringUnique identifier for the interview
Interview_NameStringName of the interview
Interview_StatusStringStatus of the interview (e.g., Scheduled, Completed)
FromDateTimeInterview start time
ToDateTimeInterview end time
LocationStringInterview location
Schedule_CommentsStringComments about the schedule
Interview_OwnerObjectOwner of the interview
Candidate_NameStringCandidate being interviewed
Job_Opening_NameStringAssociated job opening
InterviewerArrayList of interviewers
Is_LockedBooleanWhether the record is locked
Created_TimeDateTimeRecord creation timestamp
Modified_TimeDateTimeLast modification timestamp
Created_ByObjectUser who created the record
Modified_ByObjectUser who last modified the record
OwnerObjectRecord owner
Client companies that have open positions or recruitment agreements.
FieldTypeDescription
idStringUnique identifier for the client
Client_NameStringName of the client company
WebsiteStringClient website
PhoneStringPhone number
FaxStringFax number
IndustryStringIndustry sector
About_ClientStringDescription of the client
Billing_CityStringCity
Billing_StateStringState or province
Billing_CountryStringCountry
Billing_CodeStringPostal code
Billing_StreetStringStreet address
Is_LockedBooleanWhether the record is locked
Created_TimeDateTimeRecord creation timestamp
Modified_TimeDateTimeLast modification timestamp
Created_ByObjectUser who created the record
Modified_ByObjectUser who last modified the record
OwnerObjectRecord owner
Notes attached to various records in Zoho Recruit, such as candidates, job openings, or clients.
FieldTypeDescription
idStringUnique identifier for the note
Note_TitleStringTitle of the note
Note_ContentStringBody content of the note
Parent_IdStringThe record this note is attached to
se_moduleStringThe module of the parent record (e.g., Candidates, Job_Openings)
Created_TimeDateTimeRecord creation timestamp
Modified_TimeDateTimeLast modification timestamp
Created_ByObjectUser who created the record
Modified_ByObjectUser who last modified the record
OwnerObjectRecord owner

Skills for agents

Download Zoho Recruit skills file

Zoho Recruit connector documentation as plain markdown, for use in AI agent contexts.