2 minutes · one-time setup per campaign
Threadfall can publish your session recaps straight to a Discord channel — the bardic blurb in the channel itself, the full beat-by-beat recap in a thread off the post — and record your sessions: the bot joins your voice channel and transcribes live, with every speaker identified by their Discord account. See Record your sessions below.
In Threadfall, open your campaign → Manage tab → Discord section → click + Invite Threadfall bot. Discord asks which server to add the bot to; pick your table's server and leave the pre-selected permissions as they are. When you started from the Manage tab, the server you pick is linked to your campaign automatically — nothing to copy.
→ Or open the plain install link (works too — the first /tf-setup you run links the server instead).
The permissions Threadfall asks for:
@here ping when a recap or live-session announce posts (you control it per publish)Installed the bot before July 2026? Older installs predate recording and lack the voice permissions. Just open the invite link again for the same server — Discord updates the permissions in place, nothing else changes.
If you only want the bot in one specific channel rather than the whole server, you can scope its permissions to a single channel via that channel's Edit Channel → Permissions after the install — Threadfall only ever posts where you tell it to.
/tf-setupStand in the channel you want to bind and run the command — that's the whole step. The bot already knows which server and channel you're in.
/tf-setup recap — run it in your recap channel (e.g. #recaps). Session recaps and the “Last time on…” reminder post here./tf-setup voice — open your table's voice channel, click its text chat, and run it there. This is where the bot joins to record./tf-setup announce / /tf-setup reveal — optional; live-session announces and /tf-reveal player posts. Skip them and both fall back to your recap channel.The bot replies (only you see it) confirming what got bound to which campaign. GM or co-GM only — you'll need your Discord linked to Threadfall once (Profile → Link Discord). If the server hosts more than one of your campaigns, add campaign:<name> and the bot will tell you the exact names if you get it wrong.
The Manage → Discord section still accepts raw IDs: enable Developer Mode in Discord's User Settings → Advanced, right-click your server icon → Copy Server ID and the target channel → Copy Channel ID, paste them into the fields, Save. Threadfall verifies each ID by reading it as the bot and shows the resolved name beside the field — if you see “the bot can't see that channel”, grant the Threadfall role View Channel, Send Messages, and Create Public Threads on that channel. /tf-setup does all of this for you; the fields remain for fixing a binding by hand.
If you set Next session in Manage → Next Session, Threadfall will post a "Last time on…" reminder to your recap channel 24 hours before the session starts. The bot pulls the most recent session's blurb so your players walk in with the story already in their heads.
The bot can record your table right in Discord — it joins your voice channel, transcribes live, and hears every player on their own track, so each line of the transcript is attributed to the person who actually said it. No more per-session “Speaker A = who?” labeling.
/tf-setup voice. (Or paste its ID into the Voice channel ID field in Manage → Discord.)Trav | Thalen) auto-labels your transcript lines as Thalen — set once, remembered for the whole campaign. Corrections live in the Live screen’s Speakers tab.A Discord-recorded session uses a session from your plan like any other recording. Recording is included on every tier.
Threadfall installs slash commands in any server the bot joins. Type /tf in any channel mapped to a Threadfall campaign (recap, announce, or reveal) and Discord shows the available commands.
/tf-reveal — save an image to your codex from DiscordThe mobile-GM workflow: you see a portrait or location image on your phone mid-prep, drop it straight into the campaign's codex without opening Threadfall on a laptop.
/tf-reveal in any mapped channelGorym Stonefist)Permissions: only the campaign's GM or co-GM can use /tf-reveal. Players running it get an error message.
Reveal vs. recap channel: if you've configured a reveal_channel_id the player-facing post goes there; otherwise it falls back to your recap channel. To set up a dedicated reveal channel, contact us — for now we use the recap channel as fallback.
Codex Lookup & /tf-codex — link your codex into the chatSomeone mentions an NPC and half the table has forgotten who that is? Right-click the message (long-press on mobile) → Apps → Codex Lookup and the bot posts the matching codex entries to the channel — type, name, one-line snippet, portrait, and a link straight to their page on Threadfall. Or ask directly with /tf-codex name:Althea; suggestions appear as you type.
/tf-bard — ask the Bard what your party knowsMid-argument about whether the innkeeper was in on it? /tf-bard question: what do we know about the innkeeper? and the Bard answers from your campaign's own chronicle — recaps, codex, quest log — in his own voice. The same Bardic memory that powers the in-app chat, from any channel of your linked server.
Check the toast at the top of the screen — Threadfall surfaces the actual Discord error. The most common cause is the bot lacking Send Messages permission in the target channel after a channel-permission override.
The bot was able to post the parent message but couldn't open a thread. Grant it Create Public Threads on that channel and re-publish.
You need to link your Discord identity to your Threadfall account once. In Threadfall: Profile → Link Discord → authorize. Then try the command again.
The channel you're in isn't configured as a recap, announce, or reveal channel. Run /tf-setup recap (or announce / reveal) in it, then try again.
Discord caches commands client-side. Press Ctrl+R (Cmd+R on Mac) inside Discord — or quit and relaunch the app — and the command list will refresh.
Run /tf-setup recap in the new channel — the binding moves. Past posts aren't moved — only future publishes use the new channel.
Manage → Discord → Clear. Nothing already posted to Discord is touched; future publishes are disabled until you reconnect.
Discord integration — publishing, reminders, reveals, and voice recording — is included on every Threadfall plan. Recorded sessions use a session from your plan like any other recording.