Dashboard
Management overview โ real-time snapshot
| Consultant | Bookings | Leads | Approved | Rate |
|---|
| Campaign | Channel | Leads | Conversions | Budget | Cost/Lead | Status |
|---|
Leads / Customers
All enquiries and customer records
| ID | Name | Phone | Visa Type | Channel | Campaign | Consultant | Status | Priority | Date | Actions |
|---|
Student Details
Academic and personal profiles
| ID | Name | DOB | Nationality | Passport No | English Test | Score | Destination | Intake | Docs | Actions |
|---|
Parent / Guardian Details
Sponsor and guardian records
| ID | Name | Relation | Student | Phone | Occupation | Income | Sponsor | Actions |
|---|
Consultants
Staff profiles and availability
| ID | Name | Phone | Specialization | Max/Day | Total Bookings | Status | Actions |
|---|
Consultant Bookings
Schedule and manage appointments
| ID | Customer | Consultant | Date | Time | Type | Mode | Status | Actions |
|---|
Visa Applications
Track all visa applications and outcomes
| App ID | Student | Visa Type | Country | Applied | Lodged | Decision | Status | Consultant | Fees | Actions |
|---|
Marketing Campaigns
Plan, track and measure campaigns
| ID | Campaign Name | Channel | Start | End | Budget | Leads | Conversions | CPL | Status | Actions |
|---|
Marketing Channels
Manage lead generation sources
| ID | Channel Name | Description | Total Leads | Status | Actions |
|---|
Weekly Reports
Generate and view weekly performance summaries
| Week | Period | New Leads | Bookings | Approvals | Rejections | Actions |
|---|
User Management
Manage system access and roles
| ID | Name | Username | Role | Consultant Link | Last Login | Status | Actions |
|---|
Settings
Configure Google Sheets database and system preferences
Populate the system with sample data to explore all features.
Installation & Help Guide
Step-by-step setup instructions
Download & Open the CRM
Save the global-pathways-crm.html file. Open it directly in Chrome/Edge/Firefox, or upload to any web server (cPanel, Netlify, GitHub Pages, Apache, Nginx). No npm, no build step, no backend required.
Quick Start โ Local Mode (No Setup)
Go to Settings โ Storage Mode โ Local (Browser). All data saves in your browser's localStorage. Click "Load Demo Data" to explore. This works immediately with no Google account needed.
Create a Google Sheet & Apps Script
1. Go to sheets.google.com โ Create a blank spreadsheet (name it e.g. GP CRM Data).
2. In that sheet, click Extensions โ Apps Script.
3. Delete all existing code, then paste the entire script below and click Save (๐พ).
function doGet(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var action = e.parameter.action;
if (action === 'ping') {
return out({ok:true, sheetName: ss.getName()});
}
if (action === 'load') {
var names = ['leads','students','parents','consultants','bookings',
'visa','campaigns','channels','reports','users','activity'];
var data = {};
names.forEach(function(name) {
var sheet = ss.getSheetByName(name);
if (sheet && sheet.getLastRow() > 1) {
var rows = sheet.getDataRange().getValues();
var headers = rows[0];
data[name] = rows.slice(1).map(function(row) {
var obj = {};
headers.forEach(function(h, i) {
var v = row[i];
if (typeof v === 'string' && (v.charAt(0)==='{' || v.charAt(0)==='[')) {
try { v = JSON.parse(v); } catch(e2) {}
}
obj[h] = v;
});
return obj;
});
} else {
data[name] = [];
}
});
return out({ok:true, data:data});
}
return out({ok:false, error:'Unknown action'});
}
function doPost(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var payload = JSON.parse(e.postData.contents);
if (payload.action === 'save') {
var db = payload.db;
Object.keys(db).forEach(function(name) {
var arr = db[name];
if (!arr) return;
var sheet = ss.getSheetByName(name) || ss.insertSheet(name);
sheet.clearContents();
if (!arr.length) return;
var headers = Object.keys(arr[0]);
sheet.appendRow(headers);
arr.forEach(function(row) {
sheet.appendRow(headers.map(function(h) {
var v = row[h];
if (v === null || v === undefined) return '';
if (typeof v === 'object') return JSON.stringify(v);
return v;
}));
});
});
return out({ok:true});
}
return out({ok:false, error:'Unknown action'});
}
function out(obj) {
return ContentService
.createTextOutput(JSON.stringify(obj))
.setMimeType(ContentService.MimeType.JSON);
}
Deploy the Apps Script as a Web App
In Apps Script โ click Deploy โ New Deployment.
โข Type: Web App
โข Execute as: Me
โข Who has access: Anyone
Click Deploy โ Authorize โ Copy the Web App URL.
Connect the CRM to Google Sheets
In the CRM go to Settings โ Google Sheets Integration.
Paste the Web App URL โ click Test Connection.
Once it shows โ
Connected, click Initialize & Push Data to sync all data to the sheet.
From now on every save automatically updates Google Sheets.
Add Your Team
Go to User Management โ Add staff with roles: Admin (full access), Manager (reports + leads), Consultant (own records), Data Entry (add/edit leads). Link consultant accounts to their consultant profile.
Default Login Credentials
admin / admin123 โ Full AdminRozan / Ro456 โ AdminAroosha / Ar678 โ AdminTeam / Tm890 โ Managerconsultant / consult123 โ Consultant
Change passwords in User Management after first login.