Use this guide when something does not work as expected. Always check Activity (/activity) first — failed runs include plain-language explanations.
Corpus entry: packages/user-docs/src/corpus.ts → id troubleshooting.
Symptom · cause · fix
| Symptom | Likely cause | Fix |
|---|---|---|
| Scheduled AutoBlock never runs | Worker not running or invalid cron | Confirm Render worker healthy; fix cron on desktop wizard |
| Webhook returns 404 | Wrong path token or endpoint disabled | Copy URL from routine detail; ensure AutoBlock enabled |
| Webhook returns 402 | Monthly execution limit hit | Upgrade on /billing or wait for period reset |
| Manual run does nothing | AutoBlock disabled or API error | Enable AutoBlock; check browser network tab |
| Activity stuck on pending | Worker backlog or down | Verify autoblocks-worker on Render; wait for poll cycle |
| Help chat says unavailable | API down or network error | Read autoblocks.pro/docs; retry later |
| Help chat wrong answer | Question outside corpus | Rephrase; read full manual in docs/user |
| Cannot create AutoBlock | Routine limit exceeded (402) | Delete unused AutoBlocks or upgrade plan |
| Demo data in production app | NEXT_PUBLIC_DEMO_MODE=true | Set to false on autoblocks.run (Render env) |
| API calls fail from browser | Wrong NEXT_PUBLIC_API_URL | Must be https://api.autoblocks.run in production |
| Login works but empty dashboard | Session or tenant missing | Sign out and back in; check /auth/session |
| Stripe checkout fails | Stripe keys or price IDs unset | Operator: verify Render env STRIPE_* keys |
| No failure email | Preference off or Resend misconfigured | Enable in Settings; operator checks RESEND_* |
| AI draft times out | Request too complex | Shorten intent; retry; build manually |
| AI rejects my request | Unsupported Phase 1 construct | Use templates or supported steps only |
| autoblocks.pro/book broken | Route retired | Use /docs or help chat — book a call removed |
| Marketing login confused | /login redirects to product | Use autoblocks.run/login directly |
Scheduled runs not firing
flowchart TB
Q["Schedule did not run?"]
A{"AutoBlock enabled?"}
B{"Worker running?"}
C{"Cron valid?"}
D{"Under execution limit?"}
E["Check Activity after tick"]
Q --> A
A -->|No| Fix1["Enable AutoBlock"]
A -->|Yes| B
B -->|No| Fix2["Start autoblocks-worker"]
B -->|Yes| C
C -->|No| Fix3["Fix cron in wizard"]
C -->|Yes| D
D -->|No| Fix4["Upgrade or wait"]
D -->|Yes| E
Worker polls every ~3 seconds (WORKER_POLL_MS). Allow at least one poll interval after the scheduled time.
Webhook debugging checklist
| # | Check |
|---|---|
| 1 | POST to https://api.autoblocks.run/hooks/{pathToken} — not product URL |
| 2 | Content-Type: application/json |
| 3 | AutoBlock enabled |
| 4 | Execution limit not exceeded |
| 5 | Activity shows new run within seconds |
| 6 | Use Idempotency-Key header if your sender retries |
Test command:
curl -i -X POST "https://api.autoblocks.run/hooks/YOUR_PATH_TOKEN" \
-H "Content-Type: application/json" \
-d '{"source":"manual-test"}'
Billing and limits (402 errors)
HTTP 402 with entitlement_limit_exceeded means a plan cap was hit.
reason field (typical) | Action |
|---|---|
| routine limit | Remove AutoBlocks or upgrade |
| execution limit | Upgrade or wait for monthly reset |
| webhook limit | Remove webhook endpoint or upgrade |
| schedule limit | Remove schedule or upgrade |
View current usage on autoblocks.run/billing.
Help chat issues
| Issue | Resolution |
|---|---|
| Widget cannot reach API | Check ad blockers; verify API health at /health |
| Generic fallback answer | Ask about triggers, templates, or billing — corpus-covered topics |
| Need account-specific help | Log in to product; check Activity and Settings |
Help chat does not access tenant data by design.
Environment issues (operators)
If you self-host or debug staging:
| Variable | Expected (production) |
|---|---|
NEXT_PUBLIC_API_URL | https://api.autoblocks.run |
NEXT_PUBLIC_DEMO_MODE | false |
PRODUCT_WEB_URL | https://autoblocks.run |
MARKETING_WEB_URL | https://autoblocks.pro |
See render.yaml env group autoblocks-platform.
Still stuck?
| Step | Action |
|---|---|
| 1 | Screenshot Activity failure message |
| 2 | Note AutoBlock name and trigger type |
| 3 | Check /billing for limit banners |
| 4 | Ask help chat on autoblocks.pro for product how-tos |
| 5 | For billing disputes, use Stripe receipt email |