How to save a Discord ticket transcript

Updated · 7 min read

A ticket transcript is the conversation record for one support channel. Build Discord Bots Tickets is free for the support desk. Manual exports require Pro: manual transcript generation and the Transcript Channel setting are Pro capabilities. Free can still create and archive a transcript when an owner enables automatic inactivity cleanup and that cleanup closes a ticket. This guide starts with a ticket panel, sends a transcript file from a controlled test ticket, and explains the private channel used for automatic-close archives. It covers only the product’s transcript workflow; it does not promise hosted links, retention periods, attachment archiving, or exports in another format.

Start free

Start free. Free includes 1 bot and the Free modules; Pro is $9.99/month and adds more bots, every module and custom modules.

Before you start

  1. Turn on Tickets and prepare a small support panel

    In the dashboard, open the bot’s Modules tab, enable Tickets, select the correct server, and open its settings. In Ticket System, choose a Ticket Parent Category if you want new ticket channels grouped there, a Support Staff Role for the people who should help, and a Ticket Panel Channel for the public entry point. Save the settings, then use !ticketpanel in the selected panel channel to post or refresh the panel.

    Keep the panel test-sized: use one ordinary test member, not a busy support channel. Run !ticketcheck after changing channels or roles. The permission health check identifies the channel, role, message, and history access Tickets needs; it is a better starting point than giving the bot broad Administrator access.

  2. Choose the private Transcript Channel

    With Pro access, open Tickets settings, find Transcript Channel, and choose the private staff channel you prepared. Its description says where transcript files are posted when tickets close. This is separate from Ticket Log Channel: the log records ticket activity, while Transcript Channel is the archive destination for transcript files. The setup wizard’s Logs & transcripts step also lets you select both channels, and they can be the same channel if that is your staff workflow. On Free, the Transcript Channel picker is locked; an automatic inactivity close instead falls back to Ticket Log Channel when no Transcript Channel is configured.

    Treat the archive channel as staff records. Anyone who can read that Discord channel can read the transcript file posted there, so use Discord’s channel permissions to limit it to the staff who need the record. Tickets checks that the bot can View Channel, Send Messages, and Attach Files in the saved transcript channel; run !ticketcheck again if you moved or locked the channel after saving.

  3. Open a controlled test ticket

    From the ordinary test account, click the published panel and open one ticket. Confirm that it creates a private ticket channel and that the configured support staff can enter it. If the panel does not create a ticket, check the enabled Tickets setting, selected server, panel channel, parent category, support role, and the permission results from !ticketcheck before publishing another panel.

    Add two harmless messages in the new ticket, such as “Transcript test one” and “Transcript test two.” The record is for the ticket conversation, so use an actual ticket channel rather than the public panel channel or the archive channel. Do not put private customer information in this test.

  4. Generate and inspect the transcript before closing

    In the open test ticket, have a staff member with Manage Channels run !transcript. The command generates a transcript for the current ticket and sends the transcript file there. Example export: if the ticket contains “Transcript test one” and “Transcript test two,” the attached HTML transcript is the example record to open and check before closing. This gives staff a visible check of the record instead of assuming a close action saved one.

    Use !transcript only from a ticket channel. If the command says the channel is not a ticket, return to the private channel created by the panel. If it reports that transcripts are unavailable, check that the bot has Pro access. Free keeps the ticket workflow and its automatic inactivity-close archive, but locks manual transcript capability.

  5. Close with a reason and check the archive

    Close the same ticket with !close followed by a short reason, for example !close Resolved test. Tickets creates the transcript while the ticket channel is intact. With a Transcript Channel saved and transcript access available, it posts the transcript file to that archive channel when the ticket closes. On Free, the automatic inactivity-close path also creates a transcript and sends it to Transcript Channel or, when that setting is unavailable, Ticket Log Channel. Open the private archive channel and confirm that staff can retrieve the file.

    The close reason is a ticket record, not a substitute for the conversation. Keep it brief and operational, then confirm both the reason and the transcript file in the staff workflow you configured. If you use a separate Ticket Log Channel, check it for activity records as well; do not treat an ordinary log entry as proof that a transcript archive was configured.

  6. Fix the usual reasons a transcript is missing

    Start with the workflow and the channel. For a manual save, use Pro: !transcript must run in a ticket channel and the staff member needs Manage Channels. For a Free automatic archive, enable inactivity cleanup and verify that the bot can post in Ticket Log Channel; Pro can additionally use Transcript Channel as the destination. Reopen Tickets settings and verify that the selected private channel still exists.

    Then run !ticketcheck. A missing, deleted, or newly restricted archive channel can prevent the bot from uploading its file. Restore the bot’s View Channel, Send Messages, and Attach Files permissions in that channel, save the intended destination, and repeat the controlled test with new harmless messages. Do not assume an old ticket will replay its close event after a setting change; open a fresh test ticket and verify the result.

Plan and transcript workflow

Plan or controlAvailable workflowWhere people can read it
FreeEnable inactivity cleanup. When that cleanup closes an inactive ticket, it can create and archive a transcript; manual !transcript is not available.The archive destination’s Discord permissions control who can open the posted file.
ProA staff member with Manage Channels can run !transcript in an open ticket. Pro also unlocks the Transcript Channel setting for close archives.Use a private staff destination channel and limit its View Channel permission.
Destination-channel permissionsGive the bot View Channel, Send Messages, and Attach Files so it can post the archive.Anyone who can view the destination channel can read its transcript attachment.

Frequently asked questions

Where does a Discord ticket transcript go?

Running !transcript sends the transcript file in the current ticket and requires Pro. An automatic inactivity close creates a transcript on Free and sends it to the configured Transcript Channel or, when that setting is unavailable, Ticket Log Channel. Keep the destination private because Discord channel permissions control who can read the file.

Who can read a ticket transcript?

People with permission to view the Discord channel where the transcript file is posted can read it. Use a private staff channel as Transcript Channel and review its Discord channel permissions. The staff member running !transcript also needs Manage Channels.

Why is my Discord ticket transcript missing?

For a manual save, check Pro access first, confirm that !transcript was run in a real ticket channel, and check the staff member’s Manage Channels permission. For a Free automatic archive, make sure inactivity cleanup is enabled and the bot can post in Ticket Log Channel; Pro can use Transcript Channel as well. Run !ticketcheck after changing permissions.

Is a ticket log the same as a ticket transcript?

No. Ticket Log Channel is for ticket activity records, while a transcript is the conversation file. An automatic inactivity close sends its transcript to Transcript Channel or, on Free when that setting is unavailable, Ticket Log Channel; the channels can be the same if your staff chooses that workflow.

For the wider ticket workflow and plan scope, see the Discord ticket bot overview.

Ready to configure your bot?

Start free

Start free. Free includes 1 bot and the Free modules; Pro is $9.99/month and adds more bots, every module and custom modules.