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.

Recreation of the price quoter inside a CRM deal, with payment plan, scholarship, partner discount and a promotion cut by the 80% cap, the breakdown of each payment and the buttons for the PDF and for applying the quote. (open the full-size image)
Recreated with fictional data; the real system is private.
Recreation of the enrollment widget, with the check, run and result pages, the five steps against the academic system with their timings and an example of a translated error with access to the original text. (open the full-size image)
Recreated with fictional data; the real system is private.

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.

  1. Where they live

    • Opportunities
    • Campaigns
    • Appointments (CRM events)
  2. Widgets

    • Quote builder with PDF
    • Enrollment assistant
    • Lead capture
    • Appointment management
    • Program change
  3. 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

  1. Calculate in the browser, write at the end

    Trying quote scenarios against the CRM would leave half-written records.

  2. Create before closing

    If a program change fails halfway, the opportunity can be lost.

  3. 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.