Documentation
Lunax Helpdesk docs
Lunax runs support tickets and public feedback boards for every product you ship. One workspace, many apps — each with its own inbox, board, roadmap, changelog, and embeddable widget.
Customer
I need help with a product
Open a support ticket, track its status, and reply to your support team.
Agent
I answer support tickets
Work the shared inbox, assign, set priority, and use internal notes.
Admin
I run the workspace
Create apps, mint API keys, promote agents, and configure the widget.
Developer
I'm integrating Lunax
Embed the widget in your SaaS or create tickets from your backend.
The five concepts
Almost everything in Lunax hangs off these. Learn them once and the rest of the product explains itself.
| Concept | What it is |
|---|---|
| App | One of your products. Everything else is scoped to an app — tickets, boards, keys, widget. An app's slug is its public URL, e.g. /b/acme. |
| Ticket | A private support conversation between one customer and your staff. Numbered per app (#1, #2…), so two apps can both have a #1. |
| Feedback post | A public idea or bug report on an app's board. Anyone can read it; signed-in users vote and comment. |
| Role | customer, agent, or admin. One role per person, workspace-wide — not per app. |
| Key | A widget key (lx_w_…, browser-safe) or a secret API key (lx_live_…, server-only). Both are per app. |
Tickets or feedback — which one?
These are separate systems that never mix. Choosing wrong is the most common mistake new workspaces make.
| Support ticket | Feedback post | |
|---|---|---|
| Visibility | Private — requester + staff only | Public — anyone with the link |
| Best for | "I'm blocked", billing, account issues | "You should build…", feature ideas |
| Who can see it | The requester and all staff | The whole internet |
| Voting | No | Yes, one vote per signed-in user |
| Where it lands | Agent inbox at /inbox | Public board at /b/{slug} |
| Email updates | Yes — on reply and status change | No |
Rule of thumb
If the person is stuck right now, it's a ticket. If they're describing a better future, it's feedback.
Where everything lives
| URL | Who can open it | What it does |
|---|---|---|
/ | Everyone | App hub — every public app |
/b/{slug} | Everyone | Public feedback board |
/b/{slug}/roadmap | Everyone | Planned / In progress / Done |
/b/{slug}/changelog | Everyone | Recently shipped items |
/my | Signed in | Your own tickets |
/my/tickets/new | Signed in | Open a ticket |
/inbox | Agent, admin | Shared ticket queue |
/feedback | Agent, admin | Feedback moderation |
/admin | Admin | Control center |
/docs | Everyone | These docs |
Signing in is passwordless — magic link, Google, or GitHub. Everyone starts as a customer; an admin promotes you from there.
Limits worth knowing up front
- Attachments — 5 files per ticket, 50 MB each. Images, MP4/WebM/MOV, PDF, and plain text. Only at ticket creation, not on replies.
- Agent inbox — shows the 200 most-recently-updated tickets. There is no pagination yet.
- Public board — 100 posts per view; changelog shows the latest 50.
- Widget — 8 tickets and 10 feedback posts per minute, per app, per IP address.
- Logos — 2 MB, PNG/JPEG/WebP/GIF/SVG.
What Lunax does not do (yet)
Listed so you don't go hunting for a setting that isn't there. None of these exist in the product today:
- SLA timers, due dates, or business-hours tracking
- Ticket tags or labels —
categoryis the only classifier, and it's a fixed list - Merging, splitting, or linking tickets
- Canned replies, macros, or automation rules
- CSAT surveys or time tracking
- Deleting a ticket, or attaching files to a reply
- Inviting or deactivating users — people appear after they first sign in
- Per-app roles — a role applies across the whole workspace