Administration

Apps

An app is one of your products. It's the unit everything else hangs off — tickets, the public board, API keys, and the widget are all scoped to a single app. Only admins can create them.

What an app gives you

Creating one app immediately produces all of this — there is nothing else to switch on:

You getWhere
A public feedback board/b/{slug}
A roadmap page/b/{slug}/roadmap
A changelog page/b/{slug}/changelog
Its own ticket numbering, starting at #1The agent inbox
A browser-safe widget keyAdmin → Apps → Keys & widget
Somewhere to mint secret API keysAdmin → Apps → Keys & widget
Ticket numbers are per app
Each app counts from #1 independently, so two products can both have a ticket #42. Always pair a number with its app when referring to one.

Create an app

  1. Go to Admin → Apps.
  2. Enter a name — this is what users see on the board and in the widget header.
  3. Optionally set a slug. Leave it blank and one is generated from the name.
  4. Optionally add a description, shown on the board.
  5. Optionally pick a logo — it uploads right after the app is created.
  6. Create. The board is live immediately.
If the logo upload fails, the app is still created
Logo upload is a second step. You'll see “App created, but logo upload failed” — the app exists and works fine. Just upload the logo again from its card.

Choosing a slug

The slug is the app's public identity: its board URL, the value you put in data-app in the widget snippet, and how the API resolves the app.

  • Lowercased, with spaces and punctuation turned into hyphens, capped at 64 characters.
  • Must be unique across the workspace.
  • “Acme Analytics” becomes acme-analytics unless you set your own.
Slugs cannot be changed after creation
There is no rename in the UI or the API. Changing one means editing the database directly, which breaks every existing board link and every deployed widget snippet using it. Pick short, stable, and lowercase — and get it right the first time.

Public and private apps

Apps are public by default. A private app disappears from the app hub and returns a 404 for anonymous visitors on its board, roadmap, changelog, and posts — while agents and admins keep full access. Use it for closed betas and internal tools.

Private is not a security boundary
The privacy check covers the app and its posts, but comment rows aren't scoped the same way. Treat private as “unlisted”, not confidential.

Editing and deleting

Name, description, logo, privacy, and whether the widget is enabled can all be updated after creation. The slug cannot.

There is no delete button
Apps can only be removed directly from the database. Doing so permanently deletes every ticket, feedback post, comment, vote, and API key belonging to that app — it cascades, and there is no undo or export. Prefer marking an app private and leaving it in place.

Field reference

FieldDefaultEditable later
Name— requiredYes
SlugGenerated from the nameNo
DescriptionEmptyYes
LogoLetter tileYes
PublicYesYes
Widget enabledYesYes
Widget keyGenerated automaticallyDatabase only