Free Admission CRM for Coaching Institutes, With Google Sheets

Updated 8 November 2026 · Facts checked against the sources listed at the end

An admission CRM is a list of everyone who asked about joining your institute: who they are, how to reach them, what they want to study and when to call them next. Many institutes keep it in a notebook, a WhatsApp chat or a spreadsheet, and enquiries get lost.

Sikhami LMS has one built in, called Admissions. This guide shows what it does, how enquiries reach it, and how to copy every new enquiry into a Google Sheet your team already uses.

What you get

Admissions is part of Sikhami LMS Pro, and free for every institute until Pro launches. The owner and the admins of an institute see it.

PartWhat it does
Ask about admissionA button on your institute's page. Anyone logged in to Sikhami can leave their name, phone number, a course and a question
One listEvery enquiry from your page, and every walk-in or phone call you add by hand, in one place
StagesNew, Contacted, Demo class, Joined and Lost, with a count for each
Follow-upsA next follow-up date for each enquiry, and a Follow up today list
Call and WhatsAppOne tap opens your phone or WhatsApp with their number
NotesA timeline of what was said, for whoever calls next
Add to batchWhen they join, add them to a batch, ready for attendance, fees and messages
AlertsA notification for each new enquiry, and an email if you have not seen it within a few minutes
Google SheetsA free script that copies each new enquiry into a sheet every 15 minutes (shown below)
Admissions in Sikhami LMS, part by part

How enquiries come in

  • From your institute's page: a learner taps Ask about admission and fills in their name, phone number, the course they want and a question. Publish your institute first, so the page is public.
  • By hand: for walk-ins and phone calls, open Admissions in your Sikhami LMS workspace, click Add enquiry, and type the name, a phone number or email, what they are interested in and when to follow up.

A person who asks again before you have answered is added to their first enquiry, not counted twice.

More people ask when more people see your page. Share it on WhatsApp and on your posters; How to get students for tuition has more ideas.

Work an enquiry

StageMeaning
NewNobody has talked to them yet
ContactedYou have called or messaged them
Demo classThey are coming to, or came to, a demo class
JoinedThey joined a batch
LostThey are not joining. You can note why, for example fees or timing
  1. Click the enquiry. Call and WhatsApp open your phone or WhatsApp with their number.
  2. After you talk, write what happened under Notes and click Add note.
  3. Under Move to, choose the stage they are at.
  4. Set the Next follow-up date and click Save date.
  5. When they join, choose their batch under Joined? Add them to a batch, and click Add to batch.

Open lists everyone not yet joined or lost, and Follow up today lists those whose follow-up date has come. The Dashboard of your workspace shows how many new enquiries and follow-ups are waiting.

Send every enquiry to a Google Sheet

A Google Sheet is handy when your counsellors already work in one, or when you want your own copy. A short script inside the sheet asks Sikhami for new enquiries every 15 minutes and adds them as rows. It is free, and needs no other app.

Step 1. Make a Sikhami token

  1. On sikhami.com, go to Settings, then Connected apps.
  2. Under Personal access tokens, click New token, and name it Google Sheets.
  3. Switch on Your institute's admissions. Leave Act for you off: the sheet only reads.
  4. Click Make token and copy the token. It starts with skh_pat_, and Sikhami will not show it again.

Step 2. Add the script to your sheet

  1. Open a new Google Sheet. Click Extensions, then Apps Script.
  2. Delete the code that is there, paste the script below, and click the save icon.
  3. Click Project Settings (the gear on the left). Under Script Properties, click Add script property. Type SIKHAMI_TOKEN as the property, paste your token as the value, and click Save script properties.
  4. Go back to the Editor. Choose setup in the list of functions at the top, and click Run.
// Sikhami admission enquiries -> this Google Sheet.
// Every 15 minutes, copies new enquiries from each institute you own or run
// into a tab called "Enquiries". Needs the script property SIKHAMI_TOKEN.

const SIKHAMI_API = 'https://sikhami.com/api/v1';
const TAB = 'Enquiries';
const HEADINGS = ['Received', 'Institute', 'Name', 'Phone', 'Email', 'Interested in', 'Message', 'Stage', 'Came from', 'Enquiry id'];

// Run this once. It copies what is there now, then repeats every 15 minutes.
function setup() {
  ScriptApp.getProjectTriggers().forEach(function (t) { ScriptApp.deleteTrigger(t); });
  ScriptApp.newTrigger('copyEnquiries').timeBased().everyMinutes(15).create();
  copyEnquiries();
}

function copyEnquiries() {
  const props = PropertiesService.getScriptProperties();
  const copied = JSON.parse(props.getProperty('COPIED_IDS') || '[]');
  const seen = new Set(copied);
  const rows = [];
  sikhami('/lms/institutes').institutes.forEach(function (inst) {
    sikhami('/lms/enquiries?limit=50&institute_id=' + encodeURIComponent(inst.id)).enquiries.forEach(function (e) {
      if (seen.has(e.id)) return;
      seen.add(e.id);
      rows.push([new Date(e.created_at), inst.name, e.name, e.phone || '', e.email || '', e.course_name || e.interest || '',
        e.message || '', e.stage, e.source === 'page' ? 'Institute page' : 'Added by hand', e.id]);
    });
  });
  const book = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = book.getSheetByName(TAB) || book.insertSheet(TAB);
  if (sheet.getLastRow() === 0) {
    sheet.appendRow(HEADINGS);
    sheet.setFrozenRows(1);
  }
  if (!rows.length) return;
  rows.sort(function (a, b) { return a[0] - b[0]; });
  const first = sheet.getLastRow() + 1;
  sheet.getRange(first, 4, rows.length, 1).setNumberFormat('@'); // keep phone numbers as typed
  sheet.getRange(first, 1, rows.length, HEADINGS.length).setValues(rows);
  // Remember what was copied, so rows you delete or move are not added again.
  props.setProperty('COPIED_IDS', JSON.stringify(copied.concat(rows.map(function (r) { return r[9]; })).slice(-300)));
}

function sikhami(path) {
  const token = PropertiesService.getScriptProperties().getProperty('SIKHAMI_TOKEN');
  if (!token) throw new Error('Add your Sikhami token as the script property SIKHAMI_TOKEN (Project Settings, Script Properties).');
  const res = UrlFetchApp.fetch(SIKHAMI_API + path, { headers: { Authorization: 'Bearer ' + token }, muteHttpExceptions: true });
  const body = JSON.parse(res.getContentText() || '{}');
  if (res.getResponseCode() !== 200) throw new Error('Sikhami: ' + (body.error ? body.error.message : 'error ' + res.getResponseCode()));
  return body;
}
The script. Paste it in Extensions, Apps Script.

Step 3. Allow it once

The first time, Google asks you to let the script use your sheet and connect to an outside service, which is Sikhami. Because the script is your own and not an app Google has checked, Google shows a warning first: click Advanced, then Go to your project, then Allow.

The script then fills a tab called Enquiries with the enquiries you have now, and checks for new ones every 15 minutes, even when the sheet is closed. Each enquiry is added once. You can sort, colour or delete rows; deleted rows do not come back.

Anyone who can edit the sheet can open its script and see the token. Share the sheet with your team as Viewer or Commenter. If the token ever leaks, delete it in Connected apps and make a new one.

With Pabbly Connect, Zapier, Make or n8n

If you already use an automation tool, open Admissions in Sikhami LMS, click Send to apps and paste the tool's webhook address. Every new enquiry then reaches the tool within seconds, and it can send a WhatsApp message, add a row to a sheet or tell your counsellor. Pabbly Connect has step-by-step help.

Sikhami's own apps for Zapier, Make and n8n add more triggers and actions. They are built and waiting for each platform's review, and each guide says what works today.

Good to know

  • Admissions is part of Sikhami LMS Pro, and free until Pro launches.
  • Only the owner and the admins of an institute see its enquiries, on Sikhami and through a token.
  • Ask about admission needs the person to be logged in to Sikhami. Add walk-ins and phone calls yourself.
  • The sheet gets each new enquiry once. If you later change its stage on Sikhami, the sheet keeps the stage it had; Sikhami's own list is always the current one.
  • Each check reads the newest 50 enquiries of each institute. If more than 50 arrive within 15 minutes, the oldest of them are not copied.
  • Add your own columns to the right of the last one (Enquiry id), so the script's columns stay in place.

Frequently asked questions

Is Sikhami's admission CRM free?

Yes, for now. Admissions is part of Sikhami LMS Pro, which is free for every institute until Pro launches. The Google Sheets script is free too.

Can my counsellors use it?

Yes. The owner and the admins of an institute see Admissions, so make your counsellors admins. You can also share the Google Sheet with them.

Does the sheet change when I change an enquiry's stage?

No. The sheet gets each new enquiry once. Change stages and add notes in Sikhami, where the list is always up to date.

Is my students' data safe?

Only you and your institute's admins see enquiries. The token works only for what you allowed, and you can delete it at any time in Connected apps. What you copy into a Google Sheet is then kept in your Google account.

Sources

Rules and rates change: check the source before you rely on a figure.

  1. Google Apps Script: installable triggers
  2. Google Apps Script: properties service

More guides for institutes