Help System — Architecture & Overview
Status: [Live] — full improvement suite built April 2026
Purpose: In-app help content for the Dashboard, DM Portal, and Manage Portal — surfaced through a contextual slide-in drawer triggered by
?icons, a dedicated/helpdirectory, and a Fuse.js-powered searchable Help Center.Topic counts: Dashboard 56 · DM Portal 26 · Manage Portal 21
Architecture (April 2026)
packages/common/src/help-types.ts ← HelpPageData / HelpSection types (10 kinds)
packages/ui/src/HelpPage.tsx ← full renderer; breadcrumbs; deep links; prev/next; ratings; related
packages/ui/src/HelpCenter.tsx ← directory with Fuse.js search, ?-shortcut, category filter
packages/ui/src/HelpRating.tsx ← thumbs up/down rating widget
packages/ui/src/HighlightText.tsx ← Fuse.js match-index highlight renderer
packages/ui/src/lib/slugify.ts ← section anchor ID generator
apps/dashboard/src/app/(dashboard)/help/
├── _data/index.ts ← 41 topics (26 original + 15 content-gap topics)
├── page.tsx ← /help (HelpCenter + onSearch analytics)
├── [slug]/page.tsx ← dynamic route (replaces 26 static dirs)
├── [slug]/HelpPageClient.tsx ← client wrapper with onRate action
└── actions.ts ← rateHelpPage() + recordHelpSearch() server actions
apps/dashboard/src/components/help/
├── HelpDrawerProvider.tsx ← slide-in drawer context + open(slug, hash?) / close()
└── HelpTrigger.tsx ← <HelpTrigger slug="..." label="..." /> — used on all 22 feature pages
apps/api/src/routers/help.ts ← POST /tenant/v1/help/rating + /search-eventDashboard layout.tsx wraps with <HelpDrawerProvider>.
Data Shape
interface HelpPageData {
slug: string;
title: string;
description: string;
category: HelpCategory; // 13 valid values — see below
categoryLabel: string;
icon: string; // Lucide icon name
backHref: string; // required — link shown in breadcrumb
backLabel: string;
tags?: string[];
sections: HelpSection[];
related?: string[]; // slugs of related topics
}Section Types
kind | Purpose |
|---|---|
text | Heading + paragraph blocks with **bold** support |
pipeline | Visual pipeline stage cards |
steps | Numbered step-by-step list |
status | Colour-coded status guide |
features | Icon + title + body items |
actions | Same as features, different visual weight |
info | Highlighted info callout box |
ol | Ordered list with optional intro/outro |
link-forward | Link to a related help topic |
screenshot | <figure><img/><figcaption/> — assets in apps/dashboard/public/help/ |
Categories
| Category key | Label | Topics |
|---|---|---|
pipeline | Pipeline | 3 |
content | Content | 6 |
planning | Planning | 5 |
seo-visibility | SEO & Visibility | 5 (incl. seo-overview, backlinks) |
analytics | Analytics | 4 (incl. reports-overview) |
platform | Platform | 9 (incl. channel-troubleshoot, leads-overview, landing-pages-overview) |
ai-agents | AI Agents | 2 (agent-runs, agent-chat) |
billing | Billing & Credits | 2 (billing, plan-features) |
notifications | Notifications | 1 |
system | System | 3 (account-settings, workspace-settings, team-members) |
dm-tools | DM Tools | DM portal — 7 topics (approvals, agents, activity-log, overview, profile, users, requests) |
admin | Admin | Manage portal — overview, directories |
tenants-users | Tenants & Users | Manage portal — tenants, users |
DM Portal Help Topics (26)
apps/dm/src/app/(dm)/help/_data/index.ts
| Slug | Title | Category |
|---|---|---|
approvals | Approvals | dm-tools |
agents | AI Agents | dm-tools |
activity-log | Activity Log | dm-tools |
overview | DM Overview | dm-tools |
pipeline | Client Pipeline | pipeline |
context | Client Context | pipeline |
strategy | Marketing Strategy | pipeline |
deliverable-plan | Deliverable Plan | pipeline |
activities | Activities | planning |
deliverables | Deliverables | planning |
goals | Goals | planning |
calendar | Content Calendar | planning |
blog | Blog Posts | content |
social | Social Posts | content |
newsletters | Email Newsletters | content |
landing-pages | Landing Pages | content |
content-briefs | Content Briefs | content |
media | Media Library | content |
seo | SEO (keywords, backlinks, link building) | seo-visibility |
ai-visibility | AI Visibility | seo-visibility |
reports | Reports | analytics |
crm-contacts | Leads & Contacts | platform |
billing | Billing & Credits | billing |
profile | Your Profile | dm-tools |
users | Tenant Users | dm-tools |
requests | Content Requests | dm-tools |
Manage Portal Help Topics (21)
apps/manage/src/app/(manage)/help/_data/index.ts
| Slug | Title | Category |
|---|---|---|
tenants | Tenants | tenants-users |
users | Users | tenants-users |
agents | Agents | ai-agents |
skills | Skills | ai-agents |
invoices | Invoices | billing |
plans | Plans | billing |
usage | Credits & Usage | billing |
costs | LLM Costs | billing |
transactions | Credit Transactions | billing |
templates-email | Email Templates | notifications |
templates-telegram | Telegram Templates | notifications |
push-notifications | Push Notifications | notifications |
repurposing-templates | Repurposing Templates | content |
blog-posts | Blog Posts | content |
social-posts | Social Posts | content |
audit-logs | Audit Logs | system |
rag-config | RAG & AI Config | system |
deliverable-settings | Deliverable Settings | system |
overview | Platform Overview | admin |
directories | Backlink Directories | admin |
API
POST /tenant/v1/help/rating— upsertsHelpPageRating(tenantId+slug unique); body:{ slug, rating: "helpful"|"not_helpful" }POST /tenant/v1/help/search-event— createsHelpSearchEvent; body:{ query, resultCount, portal? }- Both registered in
app.ts+index.ts
DB Models
HelpPageRating — @@unique([tenantId, slug]), table help_page_rating
HelpSearchEvent — @@index([tenantId, createdAt]), table help_search_event
How to add a new help page (dashboard)
- Add
HelpPageDatato_data/index.ts— all fields required;categorymust be a validHelpCategory - Done — dynamic
[slug]/page.tsxrenders it automatically; appears in search immediately
How to add a help trigger to a new client page
import { HelpTrigger } from "@/components/help/HelpTrigger";
// In JSX:
<HelpTrigger slug="my-slug" label="Help: My Page" />Do not add Link or HelpCircle imports for help icons.
Improvement Roadmap
| # | Doc | Status |
|---|---|---|
| 1 | Contextual Help Drawer | Built |
| 2 | Was This Helpful? Ratings | Built |
| 3 | Search Improvements (Fuse.js) | Built |
| 4 | Content Gaps — 15 new topics | Built |
| 5 | Screenshot Section Type | Built (assets pending) |
| 6 | Prev/Next Navigation & Breadcrumbs | Built |
| 7 | Search Analytics | Built |
| 8 | Related Articles | Built |
| 9 | Section Deep Links | Built |