Guide

Discord + dnd.chat

Voice in Discord. Gameplay in the tavern. Optional webhook mirror keeps your community channel in sync.

Recommended setup

Join a Discord voice channel for audio. Run session chat in dnd.chat for auditable dice, card conjures, and initiative. Mirror table posts to a Discord text channel so lurkers and between-session chatter stay on your server — no Discord bot required.

Configure the webhook

  1. In Discord, create an incoming webhook on your campaign channel (Server Settings → Integrations → Webhooks).
  2. In DND Cards, open your campaign board → Discord → paste the URL → Save.
  3. Leave Also post DM whispers off unless you intentionally want private whispers copied into a public Discord channel (off by default; strong privacy risk).

Enable dnd.chat mirror

Outbound mirroring from the tavern is gated by a server flag (DISCORD_MIRROR_ENABLED=true on deploy). When enabled, rolls appear as Discord embeds with breakdowns; conjures link back to your grimoire.

Use the webhook on one app if you want a single feed — both DND Cards board chat and dnd.chat can post to the same URL.

Voice: Discord vs in-browser

We support both, but you pick one voice room per session:

  • Discord VC — zero setup if your party already lives on a server. Keep dice, cards, and combat in dnd.chat.
  • Table FX → Voice rooms — in-browser LiveKit voice beside chat when enabled on deploy (Pro positioning).

We do not run a Discord voice bot or bridge audio between Discord and LiveKit. See voice strategy in our docs for the full rationale.

Chat sync is one-way outbound (tavern → Discord). Companion slash commands (/join, /status) deep-link back to the tavern; bidirectional Gateway chat is deferred.

Campaign chat vs Discord · All integrations

Gather the party

Your table is waiting.

Sign in with the same account as DND Cards. Your campaigns are already here.