Work project
Zoho CRM Widgets
Five sales processes inside the Zoho CRM record where they happen
Five widgets that live inside Zoho CRM to build quotes, enroll, capture leads, book appointments and change programs without leaving the record.


What it is about
Each widget brings a sales process to a button inside the Zoho CRM record where it happens, such as quotes and enrollment on the opportunity, lead capture on the campaign and appointments in its list of events.
All of them are packaged with Zoho Extension Toolkit and talk to the CRM through its SDK; the ones that need more logic are written in React with Vite.
What it does
- A quote builder that simulates the payment plan in the browser, applies discounts within their cap, generates the investment plan PDF and only writes to the CRM on confirmation.
- A React enrollment assistant that runs, in order, the five Deluge functions that talk to PeopleSoft Campus Solutions, validates the data before each step and translates the academic system's errors.
- Lead capture from a campaign, one by one or as a bulk import with a template, column mapping and a review before importing.
- Appointment management on the CRM's events to create, reschedule, cancel and record the outcome, with business permissions that block the action when they cannot confirm a role.
- Program changes create the new opportunity before closing the old one and leave a record, with staggered retries against the API limits.
How it works
Where the widgets live and what they talk to
Each widget opens from a CRM record and works through the SDK, Deluge functions or the academic system.
Where they live
- Opportunities
- Campaigns
- Appointments (CRM events)
Widgets
- Quote builder with PDF
- Enrollment assistant
- Lead capture
- Appointment management
- Program change
What they talk to
- Zoho widget SDK
- Deluge functions
- PeopleSoft Campus Solutions
Delivery
- Zoho Extension Toolkit
- Vite with a local certificate
- Tests with jsdom
Decisions and their costs
Calculate in the browser, write at the end
Trying quote scenarios against the CRM would leave half-written records.
Create before closing
If a program change fails halfway, the opportunity can be lost.
When in doubt, block
When the appointments widget cannot confirm a role, a campus or a scope, it could assign an opportunity to the wrong person.
Stack
Pick a technology to see the projects that use it.




