Importing from Chatwoot

Updated Oct 20, 202610 min read
English
On this page

Move from Chatwoot Cloud or your own Chatwoot server to Deskwoot with your Chatwoot address, an administrator's access token and your account ID. The import brings open, resolved and all other conversations with their original dates. Everything comes over by default, and you can choose to import less. It runs in the background, keeps going through Deskwoot updates and can be started again safely. Nothing in your Chatwoot changes.

What comes over

  • Conversations of every status (open, pending, resolved and snoozed) with their original dates, every message, private notes, attachments, labels, assignee, team and priority.
  • Contacts with their details, custom attributes and notes.
  • Teams with their members, labels, canned responses and custom attribute definitions. If a canned response with the same short code already exists in Deskwoot, the imported one is left out, and Import History shows how many were left out.
  • Agents are matched to your teammates by email (see below).
  • Automation rules with their conditions and actions. They arrive switched off, whatever they were in Chatwoot, so no rule writes to your customers before you have checked it. Saved filters come too.
  • Help center: each portal with its categories, subcategories and articles. Published, draft and archived articles keep their status.

Files and images

The import copies every file Chatwoot hosts into Deskwoot: message attachments, images and file links inside messages, help center articles, canned responses and automation rules, and the profile pictures of your contacts. Nothing stays a link to Chatwoot, so your files keep working after you leave Chatwoot. If your workspace has booked the Virus scan, every file is scanned before it is stored.

  • If a file cannot be copied right now (Chatwoot does not answer even after several tries, or the virus scanner or Deskwoot's storage cannot be reached), the import ends with Imported partly. Start the import again to copy it. When 3 files in a row from the same server do not arrive, the run skips that server's files for 2 minutes and then tries one of them again. If that file arrives, the run carries on with the server's files. If not, it waits another 2 minutes. That way a server that does not answer cannot hold up the whole import, and the next run tries the skipped files again.
  • A file that no run can copy is left out, and the import still finishes. This includes a file that could not be reached in 3 runs, so a server that never answers cannot keep your import at Imported partly. Only runs in which the file could not be reached count, not runs in which the virus scanner or the storage was down. The count starts over when the last of those runs was more than 7 days ago, and deleting any import of your workspace clears it. Import History lists these files under Files that could not be imported with the reason, for example too large (over 25 MB, profile pictures over 2 MB), a file type that is not allowed, refused by the virus scan or no longer available at Chatwoot.
  • Images that a message or an article loads from another website, such as your own, stay as they are.

What stays internal

An archived portal is offline in Chatwoot, so it stays offline in Deskwoot: it arrives unpublished and all its categories are internal. Its articles without a category go to an internal category named after the portal with "articles (internal)" at the end. Internal categories and their articles are visible only to your team in the dashboard. They never show on the public help center, in the sitemap, in the chat widget or to Fynn, the AI bot.

Before you start

  1. Copy the access token of a Chatwoot administrator from the profile settings. An agent's token reads only the conversations of their own inboxes, so the import stops if you use one.
  2. Note your account ID: the number after /accounts/ in your Chatwoot address.
  3. Create the inboxes you need in Deskwoot first. An imported conversation goes straight into a Deskwoot inbox of the same channel when one exists. Conversations from a Twilio inbox in Chatwoot are the exception: they arrive without an inbox, and you pick one.
  4. Invite your teammates to Deskwoot with the same email they use in Chatwoot. You can also do this later.

How to import

  1. In Deskwoot, go to Settings > Import & Migration. Only admins can import.
  2. Pick Chatwoot.
  3. Enter the Chatwoot URL. Keep https://app.chatwoot.com unless you run Chatwoot on your own server; then enter its public address. It must start with https://, so your access token is never sent unencrypted.
  4. Enter the Access Token and the Account ID.
  5. Under What to import, choose what comes over. Everything is on by default. To import only newer conversations, pick a day under Only conversations created on or after.
  6. Click Start Import.

While the import runs

  • The import runs in the background, so you can close the page. The import page shows the step it is on and how many records are done. After a few minutes of measuring, it also shows the speed.
  • Deskwoot updates and server restarts don't stop it. It continues where it stopped. If a run crashes or gets stuck 3 times in a row without getting any further, the import stops and says so. Start it again to continue.
  • One import runs per workspace at a time. Start the next one when the current one has finished.
  • To stop an import, click Cancel import on the import page and confirm with Cancel and delete. The import stops and what it imported so far is deleted. A conversation someone wrote in since then keeps those new messages.
  • If Chatwoot stops answering or refuses a list, the import keeps what it already read, finishes the other steps and ends with Imported partly and the steps that stopped early. Start the import again to continue.

Your agents' conversations and replies

A conversation assigned to a Chatwoot agent goes to the teammate with the same email, and their replies show them as the sender. If that person has no Deskwoot account yet, the conversation arrives unassigned and their replies show their name with (imported).

When they join your workspace later with the same email, Deskwoot hands them their work automatically: their unassigned imported conversations are assigned to them and they become the sender of their replies. Open, pending and snoozed conversations come with one notification for all of them. Resolved ones are assigned quietly. No status changes, and your customers see nothing. A conversation that someone in Deskwoot has already held stays as it is.

Imported conversations stay quiet

Imported conversations are history, so they stay quiet until the customer writes again or someone on your team replies in Deskwoot. Until then Deskwoot sends the customer nothing from them (no farewell message, no satisfaction survey), starts no SLA clock and does not resolve them automatically. Imported conversations never count toward your plan's monthly conversation limit and are never locked by it, also after the customer writes again. Resolving or reopening one by hand fires no webhook and no automation rule. From the first new message on, the conversation works like any other, except that Fynn, the AI bot, never answers in an imported conversation.

After the import

  • A conversation without a matching inbox shows This conversation has no inbox. Pick an inbox there before you reply.
  • Imported automation rules arrive switched off. Check them, then switch on the ones you want. Import History links to them with Review and switch them on. Agents and teams are mapped to your Deskwoot ones, and a condition or action that cannot be mapped is left out.

Frequently asked questions

The import stopped with a message about Chatwoot. What now?

Deskwoot connects only to a public address that starts with https://, so your access token is never sent unencrypted. If Chatwoot answered with a redirect, enter the address it redirects to (for example with https). If Chatwoot refused the access token, check the token. If the token is not an administrator's, use the access token of an administrator of the Chatwoot account, because Chatwoot shows an agent only the conversations of their own inboxes. Then start the import again. If Chatwoot could not be reached, simply start the import again: it continues where it stopped.

Are resolved conversations imported too?

Yes. The import reads conversations of every status, not only the open ones, and keeps the date each one started.

Does the import change anything in Chatwoot?

No. It only reads from Chatwoot.

Can I start the import again?

Yes, that is safe. A new run finds what is already in Deskwoot and skips it, so conversations, contacts, rules and filters are not duplicated. It finishes conversations that were only partly imported and brings in what is new. Help center articles your team edited in Deskwoot keep their new text, and a new run never publishes an article you unpublished or made internal. If Chatwoot has since hidden an article, a new run makes it internal in Deskwoot too, even if your team moved it to another category. If Chatwoot has since unpublished an article, a new run unpublishes it in Deskwoot too, but only if your team has not edited it. Keep in mind that conversations, contacts and notes you deleted or erased in Deskwoot since the last import come back if Chatwoot still has them, and so do contacts you merged.

Can I import only part of my data?

Yes. Under What to import, everything is on by default, and you can switch off Conversations, Contacts, Knowledge base (the help center) and Canned responses. With a day under Only conversations created on or after, only conversations created on or after that day come. Teams, agents, labels, custom attributes, automation rules and saved filters always come. If you leave out the contacts, each imported conversation still brings its own contact. Import History shows under each import what was not selected and the start date. To get the rest later, start an import with everything selected: it skips what is already in Deskwoot and brings in what was left out.

Can I import two Chatwoot accounts into one workspace?

Yes, one after the other. Deskwoot remembers which Chatwoot server and account each conversation came from, so conversation 57 of one account never mixes with conversation 57 of the other.

Does Deskwoot keep my access token?

Only while the import runs, stored encrypted, so it can continue after a restart. It is removed when the import ends.

Some files are missing. Why?

Open Import History. If the import ended with Imported partly, some files could not be fetched yet: start the import again to copy them. Files listed under Files that could not be imported are left out for good, each with its reason, for example too large or no longer available at Chatwoot. A file that Chatwoot did not deliver in 3 runs is listed there too.

How do I undo an import?

In Import History, click the trash icon next to the import. This deletes the conversations and contacts it created, together with the files it copied for them. A conversation someone wrote in since then stays with those new messages, without the imported ones, and a contact who still has a conversation stays too. Teams, agents, canned responses, labels, help center articles and other settings stay. Deleting continues after a restart, and you can start a new import once it is done. While another import runs, an import cannot be deleted. If you imported from Chatwoot more than once, delete the imports from the newest to the oldest: while a newer Chatwoot import exists, Deskwoot asks you to delete that one first.

Was this guide helpful?

Keep reading

Ask Fynn about this guide

Get a short answer from this guide and the rest of the help center.

Still need help?

Fynn answers from these guides in the chat, and you can reach the team there too.

Email us