How to bulk import articles into Zendesk from a CSV file

By Jake Marsh · Updated

To bulk import articles into Zendesk from a CSV, install Quirewell, open it from the left navigation bar and pick the .csv file. It needs a title and a body column, one row per article; optional columns set the section, category, labels and language. Click Preview import to check every row, then Import N articles. Articles are created as drafts by default, and the whole import can be undone.

Build the file

title and body are required. Everything else is optional.

ColumnWhat it does
titleThe article title
bodyThe article, as HTML or Markdown
formatmarkdown or html. Otherwise Quirewell detects it
sectionA section name in that category, matched ignoring case. Missing sections are created
section_idAn existing section's id, instead of a name
categoryA category name, matched ignoring case. Missing categories are created
labelsComma or semicolon separated labels
localeThe row's language, such as fr
source_idRows with the same source_id in different languages become one article with translations
draftCreate this row as a draft
promotedPromote this article

Header names are matched loosely, so "Article Title" or "label_names" work. Comma, semicolon and tab separated files work, and .tsv files too. From Excel or Google Sheets, save or download the sheet as CSV.

Example

title,body,section,category,labels,locale,source_id
Reset your password,"Go to **Settings > Security** and click Reset.",Sign-in,Account,"password, login",en-us,pw-reset
Réinitialiser votre mot de passe,"Ouvrez **Paramètres > Sécurité** et cliquez sur Réinitialiser.",Sign-in,Account,"password, login",fr,pw-reset

The two rows share source_id pw-reset, so they become one article with an English source and a French translation, as long as French is turned on in your help center.

Steps

  1. Pick the CSV under 1. Pick your documents, or drop it on the page.
  2. Choose a default Category and Section under 2. Where they go. Rows without a section column go there; CSV columns override it row by row.
  3. Pick the Language. It is the articles' source language.
  4. Set 3. Article settings: Visible to, Permission group (who can edit), Labels for every article, drafts, promoted, comments off. Labels from the file are added to the ones you set here.
  5. Click Preview import. Each row is listed with where it goes, its languages and any notes. One bad row never blocks the rest.
  6. Untick anything you don't want, then click Import N articles.

Duplicates

The preview marks a row as a duplicate, and leaves it unticked, when an article with the same title (ignoring case and punctuation) is already in the target section, or when the same file was imported before in an import that wasn't undone. An article with the same title in another section is only a note. Tick a duplicate to import it anyway. Because duplicates start unticked, running the same file again doesn't create copies.

Large imports

There is no fixed number of rows per import; one import can hold up to 500 MB of files. For a migration of thousands of articles, splitting the file by category gives you smaller imports to check and, if needed, undo one at a time. Run them as a Zendesk admin so History keeps each one after the page is closed.

What it costs

Quirewell is $99 a month per Zendesk account, with any number of imports, articles, languages and admins. It has a 14-day free trial; Zendesk asks for a card at install and bills monthly. Every column and option is in the Quirewell documentation.

Quirewell

Help Center article importer for Word, Google Docs, Markdown and HTML. Preview first, undo after. $99 a month per Zendesk account.


Questions

Can I import 2,000 articles from Excel without creating them one by one?

Yes. Save the sheet as CSV with title and body columns and pick it in Quirewell. The preview lists every row before anything is created.

Can the body column contain HTML?

Yes. HTML or Markdown both work. Set format if you want to say which, otherwise it is detected.

Can I put rows into existing sections by id?

Yes. Use the section_id column with the section's id. Use section with a name when you want missing sections created.

Can I import translations in the same file?

Yes. Give each language its own row with the same source_id and a different locale. The languages must be turned on in your help center.

Do subscribers get emails for every imported article?

No. Subscribers aren't notified about imported articles.


More Quirewell guides


More Zendesk guides