Skip to main content
Modmail creates one private support conversation per member and server. It relays an eligible member’s direct messages into that server’s configured staff inbox and relays a staff reply only when it replies to the corresponding Pup relay message. This keeps the conversation, staff actor, attachments, and ticket audit history together without treating every bot DM as belonging to every server.

Inbox policy

Each server enables its own inbox and chooses its staff role, destination channel, optional eligible-member role, and attachment count, size, and content-type policy. Closing an inbox stops new routing. These are server policy choices, not global product defaults. Discord DMs do not include a server identity. If a member is eligible for exactly one open inbox, Pup routes the message there. If more than one is available, the member must select one by starting the message with #<server id>, for example #123456789012345678 hello. Nothing is forwarded until that selection is unambiguous. Members can send modmail stop <server id> to opt out of a server inbox, and modmail start <server id> to opt back in. A closed ticket, departed member, unavailable DM, or unavailable inbox is retained as a delivery state rather than silently opening a different conversation.

Staff replies, recovery, and closure

Staff need the Manage support conversations task and membership in the conversation’s configured team. The verified server owner can read and manage conversations without the configured staff role. Server configuration access or installation-operator status alone does not open private conversations in the dashboard. Use Support → Inbox to search, read and reply, or reply directly to the relevant Pup relay in Discord. Dashboard replies are text-only and show staff attribution; attachments can still be sent through Discord. Replies show queued, delivered, failed or uncertain outcomes. An uncertain reply is never automatically sent again. Staff can verify a matching message link from the original destination, or explicitly confirm that they checked Discord and the reply was not sent before requesting another attempt. The dashboard shows only this conversation’s relay records. It never reads the member’s whole DM history. Internal notes are visible to the configured support team and the server owner, and are never sent to Discord. Viewing messages does not create a retained transcript, and the channel-history transcript generator is unavailable for modmail. Closing stops relay for this conversation; it does not lock the shared DM channel. Reopening requires current server membership and never overrides opt-out. Existing conversations keep their original staff team and destination.