autoblocks.pro is the public marketing site (apps/marketing-web). It explains the product, shows pricing, hosts lightweight docs, and provides a floating Help chat widget. It does not run your AutoBlocks — that is autoblocks.run.
Help corpus and chat logic: packages/user-docs. Widget: apps/marketing-web/src/components/help-chat-widget.tsx.
Marketing pages
| Page | Path | Purpose |
|---|---|---|
| Home | / | Value proposition, social proof, trial CTA |
| Pricing | /pricing | Starter/Plus, monthly/annual toggle |
| Docs | /docs | Index of user-facing articles |
| Doc article | /docs/[slug] | Short guides from USER_DOC_ARTICLES |
| Changelog | /changelog | Release notes |
| Privacy | /legal/privacy | Privacy policy |
| Terms | /legal/terms | Terms of service |
| Disclaimer | /legal/disclaimer | Disclaimer |
Shell wraps all pages: MarketingShell includes nav, footer, and help widget (apps/marketing-web/src/components/marketing-shell.tsx).
Book a call — removed
Phase 1 is self-serve only. The former /book scheduling page is retired.
| Legacy URL | Current behavior |
|---|---|
| autoblocks.pro/book | Redirects to /docs |
Handler: apps/marketing-web/src/app/book/route.ts. Do not link to /book in new content — use /docs or the help chat.
Help chat widget
A floating Help button appears on marketing pages. It opens a panel where you ask product questions in natural language.
sequenceDiagram
participant You
participant Widget as help-chat-widget
participant API as api.autoblocks.run
participant Corpus as user-docs corpus
You->>Widget: Type question
Widget->>API: POST /help/chat
Note over Widget,API: No auth — public endpoint
API->>Corpus: searchHelpCorpus + optional OpenAI
Corpus-->>API: Grounded answer + links
API-->>Widget: reply + suggestedLinks
Widget-->>You: Answer with links
Help chat API
Module: apps/api/src/modules/help/routes.ts
| Property | Value |
|---|---|
| Method | POST |
| Path | /help/chat |
| Auth | None (public) |
| CORS | Marketing origin allowed |
Request body:
{
"message": "How do webhook triggers work?",
"history": [
{ "role": "user", "content": "What is AutoBlocks?" },
{ "role": "assistant", "content": "AutoBlocks helps you automate..." }
]
}
| Field | Limit |
|---|---|
message | 1–1000 characters |
history | Optional, max 12 messages |
Response:
{
"reply": "Inbound webhook triggers start an AutoBlock when...",
"sources": [{ "id": "triggers", "title": "Triggers: manual, schedule, webhook" }],
"provider": "rule_based",
"suggestedLinks": [
{ "label": "Your AutoBlocks", "href": "https://autoblocks.run/routines" }
]
}
Contract: packages/user-docs/src/contracts.ts.
What help chat knows (and does not)
| Knows | Does not know |
|---|---|
| Product overview, plans, triggers | Your account email |
| Template and onboarding flows | Your AutoBlock configurations |
| Billing process (general) | Your subscription status |
| Phase 1 limits | Tenant-specific execution logs |
For account-specific issues, log in to autoblocks.run and check Activity or Settings.
Grounding corpus
Answers search HELP_CORPUS in packages/user-docs/src/corpus.ts — mirrored by this manual in docs/user/*.md.
| Corpus topic ID | Manual doc |
|---|---|
product-overview | 01-product-overview.md |
trial-plans | 08-billing-and-plans.md |
triggers | 05-triggers-and-execution.md |
help-chat | This document |
When no match is found, the assistant suggests autoblocks.pro/docs and signup.
Cross-site CTAs
| Marketing CTA | Destination |
|---|---|
| Start trial | autoblocks.run/signup |
| Log in | autoblocks.run/login |
| App | autoblocks.run |
| Pricing → sign up | autoblocks.run/signup |
URL helpers: apps/marketing-web/src/lib/urls.ts.
Environment (marketing)
| Variable | Purpose |
|---|---|
NEXT_PUBLIC_API_URL | Help chat fetch target (default https://api.autoblocks.run) |
MARKETING_WEB_URL | Canonical marketing URL |
Local dev: widget calls http://localhost:4000/help/chat when API URL points to local.