Custom ticket types
Up to 25 buttons per panel, each with its own color, emoji, intake questions, ping role, archive channel and welcome message.
Discord ticket & modmail bot
Support requests getting lost in DMs? ModMailBot is a free Discord ticket bot. Members press a Contact Us button and answer a short form. A private channel opens for them and your staff, with their answers already posted.
Free · Never asks for Administrator · Never stores your messages · Setup in about five minutes
Everything your members see: one message with your buttons, then a short form. No commands to learn. Need different buttons in another channel? Add a second panel.
How it works
/setup/close/archiveOne command to set up, two to run a ticket. The rest happens on its own. The boards below show each step as your members and staff see it.
Steps 1–2 · /setup
Reports, appeals, questions, whatever your server needs: each gets its own button. A button can ask up to five questions before the ticket opens.
Step 3 · automatic
The bot pings the right role, so nobody starts with “hi, what’s wrong?”. Staff answer right in the channel, under their own names.
Steps 4–5 · /close, /archive
A member who still needs help presses I need more assistance, which pings your staff. The transcript is a file that opens in any web browser.
Your server
Three channels in one category, plus a temporary channel for each open ticket. Setup can reuse channels you already have.
| Channel | Members | Staff |
|---|---|---|
| ▾ 🛠️ Support | ||
| contact-usThe panel lives here, read-only, so the button is the only thing to press. | Yes, read-only | Yes |
| sam-report-a-memberOne per open ticket, created on the fly and deleted once it is archived. A member can see the ticket they opened and no one else’s. Staff see the ticket types their rank covers, so a junior role never sees a senior ticket. | only their own ticket | rank-approved types only |
| ticket-archiveTranscripts land here and stay. | No | Yes |
| ticket-logBot notices for your bot admins: archives, failures, data deletion. Never message content. | No | Yes |
Outside the channels it uses, the bot only registers its slash commands, sends whoever installed it one DM, and posts the setup announcement if you ask it to. Remove the bot and the channels, tickets and transcripts stay.
Features
Up to 25 buttons per panel, each with its own color, emoji, intake questions, ping role, archive channel and welcome message.
Ranks 1–10 mapped to your roles; higher ranks inherit lower ones. Attach a senior role to a type and it stays senior-only.
A cooldown between tickets and a per-server rate limit, both adjustable, plus one open ticket per type and a blocklist. If a panel message is ever deleted, a daily check re-posts it.
Privacy
Privacy is how the bot is built, and this page is built the same way: no cookies, and no tracking or analytics scripts. We count clicks on our install links, in daily totals that identify no one.
No message content or intake answers are ever stored or logged in our database. What we keep includes your configuration, a small record per ticket (numeric IDs, status, and when it was opened, closed and archived, and by whom), who added the bot, and daily counts of tickets that couldn't be opened. That lives in Cloudflare D1, encrypted at rest. The privacy policy lists it.
The bot keeps one connection to Discord open, only so it shows as online, and we chose not to receive your server’s messages or activity through it. Tickets start from a panel button, never a DM. Why we don’t use DMs.
It asks only for the permissions it uses. The full list is in the reference.
Remove the bot and your server’s data is deleted from our database after 30 days, or right away if someone with Manage Server runs /data delete first. That also deletes the bot’s panel messages. Backup copies are gone within 90 days.
FAQ
No. Several Discord bots are called Modmail, and ModMailBot is a different one. We run it for you, so there’s nothing to download or host. How it’s different.
Manage Channels and Manage Roles, used on the channels the bot creates and the ones you pick for it, plus four posting permissions: Send Messages, Embed Links, Attach Files and Read Message History. Discord grants all six server-wide at install. It does not ask to see your channels server-wide: it grants itself access to the specific channels it sets up, and nothing else. Never Administrator. Discord lists every one before you press Authorize, and the reference shows what breaks if any of them is missing.
Not currently. Everything here is free.
More questions and fixes live in help & troubleshooting.
Get started
Free. If it’s not for you, remove it anytime.