---
title: "Connect Zoho Recruit to Metaintro | Metaintro"
canonical: "https://www.metaintro.com/help/connect-zoho-recruit-to-metaintro"
language: "en"
author: "Metaintro"
published: "2026-11-11T16:02:35.509Z"
modified: "2026-11-11T16:02:47.652Z"
---

# Connect Zoho Recruit to Metaintro

Create a Zoho Self Client and refresh token and connect them so people who share with you arrive on your Zoho Recruit job openings.

Last updated: November 11, 2026[Employers](/help/category/employers)

Paste it into Claude, ChatGPT, Codex, Cursor or Pi.

## Before you start

You need a Zoho Recruit user who can see the jobs you want to receive candidates on. An administrator is best, because the connection acts as the person who creates it.

Every Zoho Recruit edition includes API access, with a daily limit that depends on your edition.

You will paste four things into Metaintro: your **Zoho data centre**, a **Self Client ID**, a **Self Client secret** and a **refresh token**.

Creating the refresh token needs one web request, for example with curl. If you're not comfortable with that, ask your IT team to help with step 7.

## Create the credential in Zoho Recruit

These steps follow Zoho's guides, [Self Client overview](https://www.zoho.com/accounts/protocol/oauth/self-client/overview.html) and [Self Client authorization code flow](https://www.zoho.com/accounts/protocol/oauth/self-client/authorization-code-flow.html).

1. Sign in to the [Zoho API console](https://api-console.zoho.com) as the Zoho Recruit user.
2. Select **Get started**. Hover over **Self Client** and select **Create now**, then **Create** and **OK**.
3. Open the **Client Secret** tab. Copy the **client ID** and **client secret**.
4. Open the **Generate Code** tab.
5. In **Scopes**, paste: `ZohoRecruit.modules.ALL,ZohoRecruit.settings.fields.READ,ZohoRecruit.search.READ`
6. Add a description, pick an expiry, and select **Create**. If asked, choose Zoho Recruit and your portal, then **Create** again. Copy the code. It expires after a few minutes.
7. Exchange the code for a refresh token with a POST request to your data centre's accounts server, for example `https://accounts.zoho.com/oauth/v2/token` in the US, with `grant_type=authorization_code`, your client ID, client secret and the code. Copy the **refresh_token** from the answer.

Zoho's accounts servers are accounts.zoho.com (US), accounts.zoho.eu (EU), accounts.zoho.in (India), accounts.zoho.com.au (Australia), accounts.zoho.jp (Japan), accounts.zohocloud.ca (Canada), accounts.zoho.sa (Saudi Arabia) and accounts.zoho.com.cn (China).

## Connect in Metaintro

1. In Metaintro, go to **Settings > Integrations**.
2. Choose **Zoho Recruit**.
3. In **Zoho data centre**, enter the ending of your Zoho address: com, eu, in, com.au, jp, ca, com.cn or sa.
4. In **Self Client ID**, paste the client ID.
5. In **Self Client secret**, paste the client secret.
6. In **Refresh token**, paste the refresh token.
7. Select **Connect**.

Then map your Metaintro jobs to Zoho Recruit job openings, set your rules, check the preview and go live.

## What Metaintro sends and reads

Metaintro only sends people who chose to share their profile with you for a specific job. For each person, Metaintro:

- Creates a candidate with the source **Metaintro**. If a candidate with the same email address already exists, Metaintro uses that one instead.
- Associates the candidate with the job opening you mapped.
- Attaches their résumé as a **Resume** attachment when they shared one.
- Adds a note with a link to their proof card and a short summary.

Metaintro reads your job openings so you can map them. It checks each shared candidate's status on the job regularly, so a change in Zoho Recruit shows up in Metaintro after a short delay. When you move a candidate in Metaintro, it sets the matching candidate status in Zoho Recruit, such as Contacted, Offer-Made, Hired or Rejected, if your status list has one.

## Limits

- Zoho Recruit counts API calls against a daily credit limit that depends on your edition and number of users. Each person Metaintro sends uses several calls.
- Stage updates are checked regularly, not sent instantly.
- Metaintro needs an email address to recognise a candidate who is already in Zoho Recruit.
- If your status list has no status that matches a Metaintro stage, such as a withdrawn status, Metaintro won't change the status and tells you so.
- The connection only sees what the Zoho user who created it can see.

## If something goes wrong

- **The credentials are rejected.** The refresh token may be wrong or revoked, or it was made in a different data centre. Check the data centre, then create a new code and refresh token and connect again.
- **Missing permission.** The refresh token is missing a scope. Generate a new code with all three scopes from step 5 and exchange it again.
- **Too many requests.** You have used your daily API credits or too many calls ran at once. Metaintro waits and retries on its own.
- **A candidate didn't arrive.** Check the job opening is still mapped and that the Zoho user can see it.

### Was this article helpful?

## Related Articles

- [Connect your ATS to MetaintroSend people who choose to share with you straight into your applicant tracking system, and see their stage in Metaintro.](/help/connect-your-ats-to-metaintro)

[Return to navigation](#main-navigation)