Migration Guide

A concrete, honest checklist for moving from another ticket bot to TicketCord, including what cannot be imported

This guide is for servers that already run a ticket bot and want to move to TicketCord without losing their workflow. It tells you up front what transfers (nothing automatically), how to rebuild each part of your old setup using the real dashboard tabs, and how to run both bots side by side while you switch.

TicketCord has no importer for other bots. It cannot read another bot's tickets, transcripts, statistics, panels, or settings, and there is no file format you can upload. Everything below is a manual rebuild. Plan for an hour for a typical server, longer if you have many panels or canned responses.

What transfers and what does not

You can keepYou have to rebuildYou cannot bring over
Your Discord roles (staff, admin), categories, and channels: TicketCord can use the ones you already haveTicket panels (embeds and buttons), welcome and close messages, canned responses, tags, auto-close timers, business hours, SLA rules, webhooksHistorical tickets and transcripts from the old bot, its statistics, its user or staff metrics, and any integrations built against its API

Old tickets stay wherever the old bot stored them. Export them from the old bot before you remove it, or keep the old bot's transcript channel in Discord.

Before you start

  • You need Administrator on the server (or Manage Channels plus Manage Roles) to run /setup, and you need to be the TicketCord account owner to configure staff roles and dashboard access.
  • Open the old bot's settings and write down: which roles are staff, which categories tickets go to, every panel and its buttons, every welcome or close message, every snippet or canned reply, auto-close timing, and any Slack, webhook, or logging integrations.
  • Decide whether you will reuse the old categories and roles or let /setup create fresh ones. Reusing keeps channel permissions and role mentions intact; fresh ones avoid mixing old and new tickets.
  • Every new TicketCord account has a 14-day Enterprise trial, so you can rebuild with every feature available and choose a plan once you know what you use. See Free Trial.

The migration checklist

Create and invite your TicketCord bot

Follow Installation: create a Discord application, enable Server Members Intent and Message Content Intent, paste the bot token into Dashboard → Add Bot, and invite the bot with the dashboard's Invite button so it gets every permission it needs. The old bot can stay in the server for now.

Run /setup, or point TicketCord at existing resources

In Discord run /setup. If it finds existing ticket categories or roles it offers Create Anyway (New Names), Use Existing (Recommended), or Cancel. Choose Use Existing to reuse your old categories and staff roles, then select them in the dashboard in the next step. Choose Create Anyway to get a separate 🎫 TicketCord Tickets, 📁 TicketCord Closed, and 📝 TicketCord Logs set plus Ticket Admin and Ticket Support roles.

Rebuild the structure and staff (Access & Safety)

Open Dashboard → Bots → your bot → Servers → the server.

  • Structure: select the ticket category, the closed category, the log channel, and the transcript channel. Use the old bot's categories if you kept them.
  • Staff: add the Discord roles your support team already has. TicketCord checks roles live, so nobody needs a new role. Under Dashboard Access Control grant dashboard access to the staff who managed the old bot's web panel.
  • Firewall: recreate any block or allow lists (users and roles) the old bot enforced for who may open tickets.

Recreate panels (Messaging)

  • Panels & Embeds: build one embed per old panel. Add a button per old ticket type, or a dropdown if the old panel used a select menu. If the old bot collected answers in a form before opening the ticket, attach a form to the button; multi-step application forms need Basic or higher. Post each embed to its channel with the dashboard Post button or /embed <name> [channel].
  • Messages: recreate the message users see when a ticket opens. Welcome messages are reusable designs: set one as the default for each ticket type, and pick a different design on any button, dropdown option, form, or application that needs its own text. See Welcome Messages.
  • Quick Replies: add each of the old bot's snippets or canned replies with the same shortcut so staff keep their muscle memory. Staff send them with /reply <shortcut>. Basic and Pro allow 25, Enterprise unlimited.

Plan limits for saved embeds: Free 1, Basic and Pro 5, Enterprise 15. If you are consolidating several old panels, count them first.

Recreate the ticket lifecycle (Ticket Lifecycle)

  • Opening: how new tickets open, archiving behaviour, and the per-user open-ticket limit under Ticket Limits Per User (fixed at 5 on Free, configurable on Basic and higher).
  • Claiming: whether staff claim tickets and what claiming changes.
  • Closing: the close confirmation and whether the user gets a DM when their ticket closes. The text of the close notice and the close DM is a design you pick on Messages: switch Automatic messages to When a ticket closes (Basic and higher).
  • Auto-Close & Reminders: the inactivity timer (/auto-close 2H, 1D, and so on; minimum 15 minutes, maximum 30 days) and the reminders sent before closing. Basic and higher.
  • Feedback: rating prompt after close, if the old bot had one.
  • Tags: recreate any categories or labels staff used to sort tickets; staff apply them with /tag.
  • Transcripts: transcript channel and the Ticket data retention policy. If the old bot kept transcripts forever, note that TicketCord's default is 90 days on Free and 365 days on paid plans; choose Keep until manually deleted on a paid plan if you need indefinite retention.

Set up ModMail if you are replacing a DM-based bot (Channels)

Under ModMail: enable it, pick the category for ModMail ticket channels, set staff and ping roles, the greeting and closing DMs, anonymous replies ("Support Team" instead of staff names), the user close button, reopen cooldown, and minimum account age or server membership if the old bot had anti-spam rules. Reminders for whoever needs to reply next need Basic or higher. DM on join (Basic and higher) replaces bots that greeted new members by DM.

Recreate AI, service levels, and integrations

  • AI Features and Knowledge Base (Pro and higher): add the documentation URLs or FAQ text the old bot answered from, then turn on the features you want. Nothing here has an equivalent in most ticket bots, so this is optional.
  • Business Hours, SLA Management, Approvals, Scheduled Reports (Enterprise): recreate response-time rules and reporting if the old bot had them.
  • Integrations: outgoing webhooks (Enterprise, 20 per server) replace Slack or custom webhook integrations; status page integrations are Pro and higher. Webhook payloads differ from the old bot's, so anything that consumed them needs updating. See Webhooks.
  • Language: set the bot language for this server (19 available).

Test with the old bot still present

Post the new panel in a private channel first. Open a ticket with each button, claim it, add a user, send a quick reply, close it, and confirm the transcript lands in the transcript channel and the ticket appears in Dashboard → Tickets. Run /diagnose to catch permission gaps. If the old bot also responds to ticket buttons in the same channel, keep the new panel in a separate channel until the switch.

Switch over

  1. Announce the change and the date.
  2. Post the TicketCord panels in the real support channels and delete or disable the old bot's panels.
  3. Let open tickets on the old bot finish naturally, or ask staff to close them and reopen anything unresolved in TicketCord.
  4. Remove the old bot from the server, or at least strip its ability to create channels, so members cannot open tickets in two systems. If both bots register similar slash commands, removing the old bot is the only reliable way to avoid confusion.
  5. Keep the old bot's transcript channel or exported files for as long as you need the history.

Where each old setting goes

Old bot settingTicketCord tabNotes
Support team / staff rolesStaffReuse existing Discord roles
Ticket category, closed category, log channelStructureReuse existing categories or use the ones from /setup
Blacklist / allowlistFirewallUsers and roles
Panels, reaction or button menusPanels & EmbedsOne embed per panel; buttons, dropdowns, modals, application forms
Ticket welcome messageMessagesDesigns reusable across buttons
Snippets / canned replies / macrosQuick RepliesSame shortcuts, /reply
Per-user open-ticket limit, archivingOpeningFree is fixed at 5 open tickets per user
Claim settingsClaiming
Close confirmation, close DMClosingThe close notice and close DM text are designs picked on Messages (Basic and higher)
Inactivity auto-closeAuto-Close & RemindersBasic and higher
Rating / feedback promptFeedback
Ticket categories or labelsTags
Transcript channel, retentionTranscriptsIncludes Ticket data retention
DM-based tickets, anti-spam rulesModMail
Slack / webhook integrationsIntegrationsEnterprise
Bot languageLanguage19 languages

Migrating from a specific bot

The mapping is the same for every source bot; the differences are in what you have to look up in the old bot.

From a panel-based ticket bot (Ticket Tool, Tickets, Discord Tickets, and similar)

Take a screenshot of every panel and note each button's ticket type, the category it opens in, the support roles it pings, and any form questions. Rebuild them in Panels & Embeds and Messages. Reuse the old support roles under Staff. Recreate auto-close under Auto-Close & Reminders and transcripts under Transcripts. Old transcripts stay with the old bot; download them before removing it if it offers an export.

From a ModMail bot

TicketCord's ModMail tab covers DM-based tickets: a category for ModMail channels, greeting and closing messages, anonymous replies, a reopen cooldown, and account-age or membership requirements. Recreate snippets under Quick Replies. Old ModMail threads and logs are not imported; keep the old log channel or export it. Once enabled, tell members to DM the new bot instead of the old one and remove the old bot so DMs are not handled twice.

From a bot with a web dashboard or API

Any web configuration must be rebuilt by hand in the tabs above. Anything that consumed the old bot's API or webhooks needs to be rewritten against TicketCord's outgoing webhooks (Enterprise). There is no compatibility layer.

Running two bots at once

  • Use separate channels for the old and new panels and label them clearly.
  • Keep the old bot's ability to create tickets only as long as you need it to finish open tickets.
  • Staff can use both systems in parallel because TicketCord only manages the channels it created.
  • Remove the old bot once its last ticket is closed; two bots registering similar slash commands is the most common source of confusion during a switch.

Troubleshooting a migration

SymptomCauseFix
Members see two ticket buttonsBoth panels are liveRemove the old panel or its bot
Old bot's commands still appearIts application commands stay registered while it is in the serverRemove the old bot from the server
TicketCord cannot create tickets in the old categoryBot lacks Manage Channels or Manage Roles there, or the category has 50 channels (TC002 or TC019)Grant the permissions in the category, or move old channels out. Run /diagnose
Staff cannot see new ticketsTheir role is not listed under StaffAdd the role, or give staff the roles from /setup
Transcripts missingNo transcript channel selectedChoose one under Transcripts
A feature from the old bot seems missingIt may have a different nameCheck the FAQ and the feature pages; if it is genuinely missing, suggest it in the support Discord

Common questions

Can TicketCord import my old tickets or transcripts?

No. There is no importer and no upload format. Export from the old bot before removing it and keep the files or its transcript channel.

Do I have to make new staff roles?

No. Add the roles you already use under Staff. /setup can create Ticket Admin and Ticket Support roles if you prefer fresh ones, and it offers Use Existing if you do not.

Can I keep my old categories and channels?

Yes. Choose Use Existing (Recommended) when /setup detects them, then select them under Structure. Make sure the bot has Manage Channels and Manage Roles in those categories.

Can I test TicketCord without removing the old bot?

Yes. Post the new panel in a private channel, run through a full ticket, and only switch the public channels when you are happy. Remove the old bot at the end to avoid duplicate buttons and commands.

Which plan do I need for the migration?

Every new account has a 14-day Enterprise trial, so rebuild with everything available and then compare what you used against Plans & Pricing. Auto-close, quick replies, application forms, and DM on join need Basic; AI needs Pro; webhooks, SLA, business hours, and approvals need Enterprise.

Last updated on

On this page