How to automate interview scheduling in Zoho Recruit using Zoho Bookings

How to automate interview scheduling in Zoho Recruit using Zoho Bookings

Overview

If you're using Zoho Recruit to manage your hiring process, you can automate interview scheduling by integrating it with Zoho Bookings. This eliminates manual coordination, reduces administrative effort, and ensures that interview details are automatically synchronized between both applications.

In many recruitment processes, scheduling interviews involves multiple emails, calendar coordination, manual interview creation, and status updates. These repetitive tasks consume valuable time and increase the chances of manual errors.

This guide demonstrates how to integrate Zoho Recruit with Zoho Bookings to automate the entire interview scheduling process, from inviting candidates to book an interview to automatically creating the interview record and updating the application status in Zoho Recruit.

Who should use this solution?

Don't have a Zoho Bookings account?

Get started with Zoho Bookings to automate your interview scheduling process.

This solution is ideal for organizations using Zoho Recruit that want to:

  • Automate interview scheduling.
  • Allow candidates to self-schedule interviews.
  • Reduce manual interview creation.
  • Keep interview details synchronized automatically.
  • Improve recruiter productivity and candidate experience.

Business scenario

Consider the following recruitment workflow:

  • A candidate has been shortlisted for an interview.
  • The recruiter sends an interview invitation.
  • The candidate selects a convenient interview slot using Zoho Bookings.
  • The recruiter manually creates the Interview record in Zoho Recruit.
  • The recruiter updates the application status.

Although this process is straightforward, it requires several manual steps for every candidate.

By integrating Zoho Recruit with Zoho Bookings, the entire workflow can be automated, saving time while maintaining accurate recruitment records.

Solution workflow

Video demonstration

The following video demonstrates the complete interview scheduling workflow, from updating the application status in Zoho Recruit to allowing the candidate to book an interview and automatically creating the interview record.


Prerequisites

Before implementing this Zoho Recruit and Zoho Bookings integration, ensure you have:

  • A Zoho Recruit account
  • A Zoho Bookings account
  • A custom field in Zoho Bookings to store the Zoho Recruit Application ID
  • Two custom fields in the Interviews module of Zoho Recruit:
    • Booking ID
    • Meeting URL

Configure Zoho Recruit for interview scheduling automation

1. Application status

This solution uses the default Interview to be Scheduled application status available in Zoho Recruit.

When a candidate reaches this stage, configure a workflow to automatically send an interview scheduling email containing your Zoho Bookings booking link.

2. Create interview custom fields

Create the following custom fields in the Interviews module.

Field Type
Booking ID Single line
Meeting URL URL

These fields store the booking reference and the online meeting link created during scheduling.

Configure Zoho Bookings for interview scheduling

1. Create a custom field

Create a custom field in your booking form to store the Zoho Recruit Application ID.

This value is passed from Zoho Recruit and allows the automation to identify the corresponding application record after the interview is booked.

2. Create a workflow

Navigate to Workflows from the left sidebar and click Create Workflow.

Configure the workflow as follows:

  • Select the Booked trigger.
  • Choose the interview service(s) that should trigger the automation.
  • Add the custom Deluge function.

The custom function retrieves the Recruit Application ID, creates the interview record, stores the booking ID and meeting URL, and updates the application status automatically.

Custom function

Add the following Deluge function to the Booked workflow in Zoho Bookings.

Before using the code, replace the placeholder values (such as the Recruit connection name, interviewer mapping, custom field API names, and data center) with the values applicable to your Zoho environment.

// Fetch Application ID and appointment details from Zoho Bookings

applicationID = bookingInfo.get("customer_more_info").get("Application ID");

interviewStartTime = bookingInfo.get("start_time").totime().tostring("yyyy-MM-dd'T'HH:mm:ss");
interviewEndTime = bookingInfo.get("end_time").totime().tostring("yyyy-MM-dd'T'HH:mm:ss");

meetingURL = bookingInfo.get("meeting_info").get("join_link").toString();
bookingID = bookingInfo.getJSON("booking_id").toString();
staffEmail = bookingInfo.get("staff_email");

// Map Zoho Bookings staff with the corresponding Zoho Recruit user

interviewerID = "";

if(staffEmail == "STAFF_EMAIL_1")
{
interviewerID = "RECRUIT_USER_ID_1";
}
else if(staffEmail == "STAFF_EMAIL_2")
{
interviewerID = "RECRUIT_USER_ID_2";
}

// Fetch the Application record from Zoho Recruit

applicationResponse = invokeurl
[
url :"https://recruit.zoho.com/recruit/v2/Applications/" + applicationID
type :GET
connection:"YOUR_RECRUIT_CONNECTION"
];

applicationData = applicationResponse.get("data").get(0);

// Retrieve Candidate and Job Opening details

candidateID = applicationData.get("$Candidate_Id");
candidateName = applicationData.get("Full_Name");
jobOpeningID = applicationData.get("$Job_Opening_Id");
jobOpeningName = applicationData.get("Job_Opening_Name");

// Prepare lookup values

candidateLookup = Map();
candidateLookup.put("id",candidateID);

jobOpeningLookup = Map();
jobOpeningLookup.put("id",jobOpeningID);

interviewerLookup = Map();
interviewerLookup.put("id",interviewerID);

// Prepare Interview record

interviewRecord = Map();
interviewRecord.put("Interview_Name","Interview - " + candidateName);
interviewRecord.put("Candidate_Name",candidateLookup);
interviewRecord.put("Job_Opening_Name",jobOpeningLookup);
interviewRecord.put("Interviewer",interviewerLookup);
interviewRecord.put("Start_DateTime",interviewStartTime);
interviewRecord.put("End_DateTime",interviewEndTime);

// Replace these with the API names of your custom fields

interviewRecord.put("Booking_ID",bookingID);
interviewRecord.put("Meeting_URL",meetingURL);

interviewList = List();
interviewList.add(interviewRecord);

requestBody = Map();
requestBody.put("data",interviewList);

// Create Interview record in Zoho Recruit

interviewResponse = invokeurl
[
url :"https://recruit.zoho.com/recruit/v2/Interviews"
type :POST
parameters:requestBody.toString()
headers:{"Content-Type":"application/json"}
connection:"YOUR_RECRUIT_CONNECTION"
];

info interviewResponse;

// Update Application Status

applicationRecord = Map();
applicationRecord.put("id",applicationID);
applicationRecord.put("Application_Status","Interview Scheduled");

dataList = List();
dataList.add(applicationRecord);

requestBody = Map();
requestBody.put("data",dataList);

response = invokeurl
[
url :"https://recruit.zoho.com/recruit/v2/Applications"
type :PUT
parameters:requestBody.toString()
headers:{"Content-Type":"application/json"}
connection:"YOUR_RECRUIT_CONNECTION"
];

info response;

How the Zoho Recruit and Zoho Bookings integration works

When a candidate books an interview through Zoho Bookings:

  1. The custom function retrieves the application ID submitted during booking.
  2. Zoho Recruit fetches the corresponding application record.
  3. Candidate and job opening information are retrieved automatically.
  4. An interview record is created in Zoho Recruit.
  5. The interviewer, interview date, and interview time are assigned.
  6. The Zoho Bookings booking ID and meeting URL are stored in the interview record.
  7. The application status is automatically updated to Interview Scheduled.

The recruiter no longer needs to manually create interview records or update the application status, making the recruitment process faster and more reliable.

Final outcome

After the candidate confirms the interview appointment:

  • Interview record is created automatically.
  • Candidate is linked correctly.
  • Job opening is linked correctly.
  • Interviewer is assigned automatically.
  • Meeting URL is stored in the Interview record.
  • Zoho Bookings booking ID is stored for future reference.
  • Application status changes to Interview Scheduled.

This automation ensures that recruitment data remains synchronized across Zoho Recruit and Zoho Bookings while eliminating repetitive manual tasks.
Ready to automate your interview scheduling?
Get started with Zoho Bookings and build a more streamlined interview scheduling experience for your recruitment team.

Extending the solution

This solution demonstrates one practical approach to automating interview scheduling between Zoho Recruit and Zoho Bookings. Depending on your recruitment process and business requirements, the workflow can be extended and customized to support additional use cases.

If you have a similar recruitment or scheduling requirement and would like to explore whether it can be implemented using Zoho Bookings, feel free to reach out to us at hello@zohobookings.com . We'd be happy to hear your use case and help evaluate its feasibility.

Frequently asked questions

Q. Can Zoho Recruit automatically create interview records?

A. Yes. By integrating Zoho Recruit with Zoho Bookings and using a custom Deluge function, interview records can be created automatically whenever a candidate books an interview.

Q. Can the application status be updated automatically?

A. Yes. Once the interview record is successfully created, the automation updates the application status to Interview Scheduled.

Q. Can this solution be used for online interviews?

A. Yes. The solution supports online meeting integrations, allowing the meeting URL to be stored in the Interview record for quick access.

Conclusion

Integrating Zoho Recruit with Zoho Bookings provides a simple and effective way to automate interview scheduling, reduce manual effort, and improve recruitment efficiency.

By automating Interview creation, synchronizing booking information, and updating the application status automatically, recruiters can spend less time on administrative tasks and focus more on hiring the right candidates.

If you need assistance implementing this solution or have a similar automation requirement, feel free to contact us at hello@zohobookings.com.