A single-page dashboard that turns raw HubSpot email-click data into a prioritized call list. It scores every enrolled prospect into engagement tiers, surfaces accounts where multiple contacts are active, and lets a rep queue call tasks for the hottest leads in one click.
Live demo Built with vanilla JavaScript and Chart.js. No framework, no build step.
Note on data: every contact, company, phone number, and email in this demo is fabricated, and the CRM IDs are placeholders. The tool was built against a live HubSpot instance inside a real B2B SaaS GTM workflow. The version here runs on anonymized sample data so it can be shared publicly.
A sales sequence enrolls thousands of contacts and reports clicks, but a rep can't act on a spreadsheet of click counts. The signal that matters, who is engaged enough to call today, gets buried. This tool reads the engagement data and answers one question: who do I call, and what do I say.
- Tiers every contact by click activity. Hot (3+ clicks), Warm (2), Engaged (1), Silent (0), so the highest-intent prospects rise to the top automatically.
- Clusters by company. When several people at one account engage, the account gets flagged as a buying signal, not just a set of individuals.
- Generates a call brief. Click any contact to pull up phone, email, sequence, and three suggested call objectives tailored to their engagement.
- Creates tasks in one click. A single action queues call tasks for every hot contact, assigned to the rep and ready to push to HubSpot.
- Visualizes the top of the list. An interactive bar chart ranks the most-engaged contacts. Click a bar to open that contact's brief.
The dashboard is one self-contained index.html file. Contact and sequence data live in a JavaScript array, and the rendering, tier scoring, clustering math, and modal logic are plain JS. The bar chart uses Chart.js loaded from a CDN. There is no backend, no build pipeline, and nothing to install. Open the file and it runs.
In production, the data array is populated from HubSpot's sequence and engagement APIs, and the task-creation step writes back to HubSpot through the CRM API.
- Vanilla JavaScript, no framework
- Chart.js for the engagement chart
- Single self-contained HTML file
Clone the repo and open index.html in any browser. That is the whole setup.