InterviewFi
Interview SmarterHire Better · Scale Faster
HomeFeaturesHow It WorksPricingUse CasesInterFiRankContact
Help Center›Integrations & API

Connecting Zoho Recruit

The three ways to connect, testing the connection, importing without duplicates, and what happens when you disconnect.

In this article

  • Where to find it
  • Choose your data center first
  • Three ways to connect
  • Test the connection
  • Importing your existing data
  • Real-time updates with webhooks
  • Verify the write-back before you rely on it
  • Pausing or disconnecting

Where to find it

Open Integrations in the sidebar and choose Zoho Recruit. Every tab is visible to everyone in your organization, whether or not Zoho Recruit is connected yet: Overview, Setup, Field Mapping, Sync History, Failed Records, Webhooks and Settings.

Owners, admins and members can connect, change settings and run syncs. Guests, interviewers and learners see the same screens with the controls turned off, and each control says which role you are viewing as.

The connection belongs to your organization, not to the person who set it up.

Choose your data center first

Zoho runs separate data centers (for example .com, .eu, .in, .com.au and .jp), and an account in one is not valid in another. Pick the data center your Zoho Recruit account is hosted in before you connect. Credentials from a different data center fail in a way that looks exactly like a wrong password.

Three ways to connect

The Setup tab offers three methods. They all create the same connection, so pick the one your Zoho account allows.

InterviewFi Zoho app. Sign in with Zoho and approve the permissions shown. Nothing to copy. This option becomes available once the InterviewFi Zoho app is installed on your server; until then it is shown but turned off.

Your organization's own Zoho client. In the Zoho API console for your data center, create a Server-based Application and add the redirect URI shown on the Setup tab. Save its client ID and client secret, then select Continue to Zoho authorization.

API credentials (Self Client). Use this when you would rather paste credentials than sign in through a browser redirect:

  1. Open the Zoho API console for your data center and choose Add Client, then Self Client.
  2. On the Client Secret tab, copy the client ID and client secret into InterviewFi.
  3. On the Generate Code tab, paste the scope string that InterviewFi shows you, choose a time duration and generate the code.
  4. Paste the grant code into InterviewFi and select Save and connect. Do this within a few minutes: a grant code works once and expires quickly.

If you already have a refresh token for that Self Client, choose Refresh token instead of Grant code. A refresh token keeps working until it is revoked, so you can select Test connection first and connect only once the test passes. Use a refresh token you generated for InterviewFi alone: replacing the credentials or disconnecting revokes the stored token at Zoho, and anything else still using it stops working.

Credentials are stored encrypted and are never shown again after you save them.

Test the connection

Test connection asks Zoho who the credentials belong to without saving anything. It shows the Zoho organization, the Zoho user, the data center and the permissions that were confirmed.

A grant code cannot be tested on its own, because testing it would use it up. Connect with it directly.

After you connect, the Setup tab shows the connected organization, the Zoho user, the connection method, the permissions granted and when the access token was last renewed. Select Test connection there at any time to confirm Zoho still accepts the connection.

Zoho access tokens renew automatically every hour. You only need to reauthorize if Zoho stops accepting the grant, for example after the authorizing user is deactivated or the Self Client is deleted.

Importing your existing data

Once connected, choose which modules to import and start the first sync. Sync History shows each run with its counts, and Failed Records lists anything that could not be imported, with the reason.

Imports are built to be safe to repeat:

  • A record that was imported before is matched by its Zoho record ID and updated, never created a second time.
  • A new Zoho candidate is matched to an existing person in your organization by email address.
  • A candidate whose phone number or name matches someone else, but whose email does not, is kept separate and flagged as a possible duplicate for you to review. InterviewFi never merges two people on its own.
  • Importing does not send invitations or emails to candidates, and does not start or charge for interviews.

After the first import, changes in Zoho Recruit are picked up on the schedule set on the Settings tab.

Real-time updates with webhooks

Scheduled syncs are enough for most teams. If you want changes to arrive as they happen, the Webhooks tab gives you an endpoint URL and a signing secret.

InterviewFi accepts only signed requests. Turn on Zoho webhook on that tab, create the signing secret, and have every delivery carry a hex HMAC-SHA256, keyed with the secret, of the current Unix time in milliseconds, a period and the exact request body. Send the signature in the x-interviewfi-signature header and the time in x-interviewfi-timestamp. Unsigned requests, and deliveries more than five minutes old, are rejected. The body is JSON naming applicationId, or both candidateId and jobOpeningId.

Zoho Recruit's built-in webhooks cannot compute that signature, so a webhook created directly in Zoho is rejected. Send Zoho's notification to your own middleware, sign it there and forward it to the endpoint URL, or stay on scheduled syncs.

Verify the write-back before you rely on it

When an interview completes, InterviewFi writes the score, the status and a link to the report back to the record in Zoho Recruit. Write-back needs specific fields to exist on that record, and a missing custom field makes Zoho reject the entire update, so the score and the status disappear together.

Check the connection before your first real interview. The access check names any field that is missing, so you can add it in Zoho before a candidate record fails to update.

Pausing or disconnecting

To stop syncing for a while, choose Pause sync instead in the disconnect dialog, or turn syncing off on the Settings tab. Nothing is revoked, and you can turn it back on later.

Disconnecting revokes InterviewFi's access at Zoho, destroys the stored tokens, cancels a sync that is running and stops scheduled syncs. Everything already imported stays in InterviewFi, and your field mappings and settings are kept, so reconnecting picks up where you left off. Select Download configuration (JSON) before you disconnect if you want a copy of your mappings and sync settings; it contains no credentials.

Was this page helpful?

Related

  • Available integrations
  • API keys and authentication
  • When an integration stops working
InterviewFi

Interview Smarter · Hire Better · Scale Faster

AI-powered interview platform for practice, assessment, and improvement. Transform your hiring process with intelligent automation.

support@linsible.com
Available Worldwide

Product

  • Features
  • Pricing
  • How It Works
  • Use Cases
  • Developers
  • Find Jobs

Company

  • About Us
  • Contact
  • FAQ
  • Help Center

Legal

  • Privacy Policy
  • Terms of Service

Stay Updated

Join our community. Get AI interview tips & a free candidate profile.

No spam. Includes free candidate profile.

© 2026 InterviewFi. Built byLinsible Technologies
PrivacyTerms