EB SMART
Smartsheet Management & Account Renewal Tool
Name--
Email--
Role--
Office--
Pod--

EB SMART -- System Architecture v4.6

Employee Benefits Smartsheet Management & Account Renewal Tool
Higginbotham Employee Benefits · smartsheet-chatbot.onrender.com · April 2026
17PODs 900+Clients 62Users 9Pages 19Routes 12AI Tools
Frontend -- User Browser -- Vanilla HTML / CSS / JS -- V3 Design System -- Navy Dark Theme
User Browser 9 Pages
Task Assistant
index.html
AI chatbot with KPIs, prompt categories, tap game loading screen
Login KPI Dashboard AI Chat Tap Game Prompts Email Tasks
Add Tasks
add-task.html
5-step wizard for bulk task insertion across client sheets
POD Select Sheet Select Section + Task Preview Results
Workload Timeline
workload.html
Gantt view with task bars, date filtering, horizontal scroll
Gantt View Find Available Assign Task Role Filter
Client Dashboard
client-dashboard.html
Per-client view with summary fields, tasks, inline edit
Renewal Timeline Client Snapshot Inline Edit
New Client Form
new-client.html
Create client from template, fill fields, assign roles
Template Copy Role Replace
User Guide
guide.html
In-app reference docs covering all features
22 Sections
Changelog
changelog.html
Release notes v1.0 through v4.2
v1.0 - v4.2
Shared Components
styles.css
V3 Design System: navy-tinted palette, CSS custom properties, glass morphism header/modals, gradient background, Inter 800 headings, WCAG AA contrast
Mobile Nav Report Issue Logout Starfield TourGuide.js
fetch(/api/*) JSON responses
Browser → Firebase (Tap Game scores)
Starfield Animation
Canvas-based 3-layer parallax (160 far, 80 mid, 25 near stars). Right-to-left drift with vertical wander and twinkle. Blue horizon glow via CSS radial gradient. Respects prefers-reduced-motion. Shared IIFE across all pages.
TourGuide.js
@sjmc11/tourguidejs (CDN). Interactive guided tours on 5 pages: index, add-task, workload, new-client, client-dashboard. Dark-themed overlays, keyboard-navigable. “?” button fixed bottom-left.
V3 Design System
Navy-tinted palette via CSS custom properties. Glass morphism on header and modals (backdrop-filter blur). Gradient body background (170deg). Inter 800 for headings/KPIs. WCAG AA ≥4.5:1 contrast on all text. Custom scrollbars and selection highlight.
Backend -- Node.js + Express -- server.js (~2400 lines) -- Hosted on Render
Express Server server.js
API Endpoints 19 Routes
Chat & Warm-up
  • POST/api/chat
  • POST/api/warm
  • POST/api/warm-single
  • POST/api/stats
User & Office
  • GET/api/user-info
  • GET/api/workspaces
  • GET/api/contacts
Workload & Tasks
  • GET/api/workload
  • POST/api/assign-task
  • POST/api/warm-clients
Client Operations
  • GET/api/client-list
  • POST/api/create-client
  • GET/api/client-dashboard/:id
  • PUT/api/client-dashboard/:id/summary
Email Tasks
  • GET/api/email-tasks
Utility
  • POST/api/report-issue (multipart/multer -- uploads screenshot as row attachment)
  • GET/api/health
Proxy
  • ALL/api/* catch-all to Smartsheet
AI Tool System 12 Tools
get_tasks get_client_status update_task create_task add_comment list_clients get_unassigned_tasks refresh_data browse_workspace rename_item move_sheet
Cache Layer
10-min TTL per report. Pre-warmed on login. Invalidated after every write op.
User Resolution
isUserTask() 4-layer matching. loadUserDirectory() from sheet. Multi-office routing (FW / Tyler / All).
File Uploads
multer middleware for multipart form data. Report Issue accepts screenshot uploads, attached to Smartsheet rows.
Holiday Calendar
2025-2027 federal holidays. Working day calculations for due dates and timeframes.
Smartsheet REST API (reads + writes)
Anthropic API (chat completions + tool use)
External Services
POD Workspaces
17 FW workspaces + Tyler workspace
900+ client sheets, ~183 rows/sheet. Each sheet has 6 sections, system columns, summary fields, and 2 automation rules.
Bember Campbell Dummit Hayes Hubbard Hutchings J.Parks Klein Marsh Miller MVP NRR Parks Sankary TSJ Vann Zamaites
Columns: Task, Assigned To, % Complete, Start Date, Due Date, Duration, Status, Done, Flag, Notes
Summary: Client Name, Pod, Renewal Date, Office Name (67 fields total)
Naming: MM/DD/YYYY ClientName
B-FWAC Task Log
Ad-hoc task sheet
10 columns including Client Name (B-FWAC). Status is plain text (not formula). Used for cross-client tasks.
Client Template
Source for new sheets
11 automation rules, 183 tasks across 6 sections. Each POD workspace has a template file object.
Helper Reports
5 FW + 5 Tyler reports
Fort Worth
  • Active Assigned Tasks
  • Overdue Assigned Tasks
  • Upcoming Assigned Tasks
  • Completed Assigned Tasks
  • Client Status (L1 Sections)
Tyler
  • Tyler Active
  • Tyler Overdue
  • Tyler Upcoming
  • Tyler Completed
  • Tyler Client Status
System Backlog
Issue tracking sheet
Report Issue form writes here. Captures type, summary, details, user email, and context.
EB User Directory
62 users
Source of truth for contacts. Fields: email, name, role, office, admin. Refreshed every 30 min.
Email Tasks Sheet
_EB Resources workspace
Email-originated tasks with n8n + GPT-4o-mini extraction, dependencies enabled. Inbox: eb.smart.app@gmail.com
Sheet ID: 3088836289580932
Columns: Task, Assigned To, Start Date, Due Date, Status, Client Name, Notes, Email Source, Sender Email, Email Subject
n8n Workflow
Email-to-task ingestion
Gmail Trigger → Fetch client list → AI extraction → Smartsheet write
AI Model: GPT-4o-mini
Inbox: eb.smart.app@gmail.com
System Columns on all 900+ sheets: Created, Created By, Modified, Modified By
Anthropic API
AI chat completions + tool use
Default: Sonnet 4, 4096 tokens, 10 iterations
TPG Mode: Opus 4, 32K tokens, extended thinking, 20 iterations
Safety: Confirmation required before all write operations
Firebase
Tap game leaderboard
Client-side only. Stores tap game high scores during the loading screen. No server involvement.
Infrastructure
Hosting & deployment
Hosting: Render (auto-deploy on push to main)
Repo: tpgiv1995/smartsheet-chatbot (private)
Env vars: SMARTSHEET_API_KEY, ANTHROPIC_API_KEY
Build: npm install → node server.js
Warm-up Pipeline
Login-triggered cache priming
4 parallel report warms (active, overdue, upcoming, completed). Stats computed from cache. Client list built from workspace enumeration. Progress tracking via SSE.
Reads (Smartsheet API)
Writes (Smartsheet API)
AI (Anthropic API)
Browser ↔ Server
Firebase (client-side)