Scopes
Stavent uses Discord’s OAuth2 install flow. At minimum, invite with the following scopes:
bot- allows Stavent to post messages and create channels/threads.applications.commands— enables slash commands (for example/ticket).
Start small
Avoid granting more than you need. It’s easier to add permissions later than to audit them after the fact.
Recommended permissions
Permissions vary depending on whether you use ticket channels or ticket threads. This table covers the common “private channel per ticket” model.
| Permission | Why it’s needed |
|---|---|
| View Channels | Read ticket channels and required metadata. |
| Send Messages | Reply to requesters and post system updates. |
| Read Message History | Generate transcripts and power AI triage context. |
| Manage Channels | Create private ticket channels and update overrides. |
| Manage Threads | Only needed if you run in thread mode. |
| Attach Files | Upload transcripts/exports (where enabled). |
Note
If you use thread mode, ensure the bot can send messages in the parent channel and has
Manage Threads.Channel architecture
Stavent supports two models:
Private channels
Each ticket gets its own private text channel under a category like Tickets. Best for high volume teams and strict access control.
Private threads
Each ticket is a private thread in a parent channel (for example #support). Best for smaller communities.
Tip
If you need transcripts, exports, and strict retention, private channels are usually the smoother path.
Verification checklist
- Run
/stavent ping(or open the bot’s info card) to confirm the bot responds. - Create a test ticket and confirm Stavent can create the channel/thread.
- Close the ticket and confirm Stavent can lock/archive it (and generate a transcript if enabled).
- If the bot manages roles, ensure its role is above the target roles in Discord’s hierarchy.
Sanity check commands (example)
/stavent ping
/stavent status
/ticket new