# Undo or re-run a file import

Check how a file import ended in History, run it again, or delete the testimonials it created, and see what Skip duplicates compares.

Your recent file imports are listed under **History** on the **Import** page. From there, **Rollback import** deletes the testimonials an import created, and **Re-import** runs a completed or failed import again. Rollback is on Pro, Premium and Business; on other plans, you [delete the testimonials yourself](#delete-an-imports-testimonials-yourself). The workspace owner and Admins can do this.

1. **Open the import history**

   In your project, click **Import** under **Collect** in the sidebar. Click **History** at the top of the page. The **Import History** panel lists your imports, newest first.

2. **Find the import**

   Each entry shows the kind of import (such as **CSV import**, or **PASTE import** for pasted rows), when it started, its status, and how many testimonials it imported, with its warnings and errors. A **Test Import (1 row)** has an entry of its own. Click **Refresh** to update the list while an import is still running.

3. **Choose what to do with it**

   - **View results** opens the import's results screen (**View progress** while it's still running): see [Check how an import ended](#check-how-an-import-ended).
   - **Re-import** is on a completed or failed import: see [Run an import again](#run-an-import-again).
   - **Rollback import** is on a finished import that created testimonials: see [Roll back an import](#roll-back-an-import).
   - **Cancel** is on an import that's still running.

## Check how an import ended

| Status         | What it means                                                                                                                                                           |
| -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **PENDING**    | The import is waiting to start.                                                                                                                                         |
| **PROCESSING** | It's running.                                                                                                                                                           |
| **COMPLETED**  | It reached the end of the file. Rows with errors were skipped, so compare the counts with what you expected.                                                            |
| **FAILED**     | It stopped before the end. The rows it had imported by then stay in your project.                                                                                       |
| **CANCELLED**  | It was stopped before the end: with **Cancel Import**, or by ReTestimonial because the project became read-only. The rows it had imported by then stay in your project. |

**History** shows the counts. For the rows behind them, click **View results** on the entry. The **History** panel closes and the page shows that import's results screen: **Top issues**, the warnings and **Download report**. For an import that failed, or that ReTestimonial stopped, a box under the tiles gives the reason.

The report holds about the first 200 errors and the first 200 warnings of an import. When an import had more, a line under **Download report** says so; the tiles always count all of them.

When an import finishes, fails or is stopped, you also get an **Import completed**, **Import failed** or **Import stopped** notification under the bell. A failed or stopped one gives the reason and opens that import's results screen. See [Manage your notifications](/help/account/notifications). For what a failure means and how to fix it, see [File import failed or skipped rows](/help/troubleshooting/file-import-failed).

## Run an import again

**Re-import** runs a completed or failed import again with the same file, mapping and options. It starts a new import: a message says "Re-import started", the **History** panel closes, and the page shows the new import's progress and then its results. Its entry is at the top of **History**.

- **The file is the copy you uploaded then,** not the file on your computer. To import a corrected file, or to change the mapping or the options, start a new import on the **Import** page.
- **With Skip duplicates on,** which it is unless you turned it off for that import, rows whose testimonials are still in your project are skipped. After a failed import, that leaves the rows it hadn't reached.
- **With Skip duplicates off,** every row is added again, so you get a second copy of each testimonial the first run created. Roll the first import back before you re-import.
- **A cancelled import has no Re-import button.** To finish it, upload the file again: with **Skip duplicates** on, the rows it already imported are skipped.
- **Re-import on a Test Import (1 row) entry** imports that one row again, not the whole file.

## Roll back an import

**Rollback import** deletes the testimonials an import created (ones it only updated are kept). Rollback isn't available on the Free plan: there the button reads **Rollback (Pro)** and can't be clicked.

Click **Rollback import** on the import's entry. A dialog titled **Roll back this import?** says how many testimonials the import created; ones you've already deleted yourself aren't there to delete. Click the **Delete … testimonials** button to confirm, or **Keep them** to close the dialog. A message then says how many were deleted, or "Nothing to roll back: the testimonials this import created were already deleted."

> **Warning:** A rollback can't be undone. It deletes every testimonial the import created, including ones you've approved or edited since, along with the pictures stored for them.

Afterwards, the entry stays in **History** with its counts, without the rollback button. A completed or failed import can still be run again with **Re-import**: once its testimonials are deleted, its rows are no longer duplicates.

## Delete an import's testimonials yourself

When you can't roll an import back, because of your plan or because the import is no longer in **History**, delete its testimonials by hand.

Click **All Imports** under **Imports** in your project's sidebar and open the tab for the kind of file: **CSV Import**, **Spreadsheet Import**, **JSON Import** or **Paste Import**. The tab lists the testimonials from every import of that kind, newest first, so check each one before you tick it. Then click **Delete**. See [Review and export imported content](/help/import/imported-content).

Testimonials you imported with **Default status** set to **Archived** aren't on **All Imports**. They're under **Archived** in your inbox.

## Import the same file again

With **Skip duplicates** on, importing a file a second time adds nothing that's already there. The option skips a row with the same text and name as an earlier row, or as a testimonial that came from a form or an earlier file import. Testimonials you added by hand or imported from a platform aren't compared.

- **Capital letters and extra spaces make no difference.** Any other change to the text or the name makes the row a new testimonial.
- **Nothing else is compared.** A row with the same text and name but another rating, date or picture is still a duplicate: it's skipped, and those details stay as they are.
- **A testimonial counts wherever it is now:** pending, approved, archived or in **Spam**. One you've deleted doesn't count, so its row is imported again.
- **Skipped rows are counted under Duplicates** in the results, and the report lists them as "Duplicate testimonial skipped".

To change testimonials you've already imported, turn on **Update existing by source URL** as well: a row whose source URL matches one testimonial in the project updates that testimonial instead of being skipped. See [Import options](/help/import/import-from-csv-excel-or-json#import-options).

## How many imports History keeps

How many imports **History** keeps depends on your plan: see [Import history](/help/account/plan-limits#import-history) in "Plan limits". On a plan with a limit, the panel says "Showing the last … imports."

When a new import takes the list past that number, the oldest finished imports drop off it, along with the copies of their files. An import that has dropped off can't be re-imported or rolled back. Its testimonials stay in your project. A **Test Import (1 row)** counts as one import.

## What happens next

After a rollback, the deleted testimonials are gone from your inbox, and from the widgets and Wall of Love pages that showed them. Re-imported rows arrive with the status the import's options set, **Pending** unless you changed it.

- [Import testimonials from CSV, Excel or JSON](/help/import/import-from-csv-excel-or-json)
- [Import file columns and formats](/help/import/import-file-columns-and-formats)
- [Review and export imported content](/help/import/imported-content)
- [File import failed or skipped rows](/help/troubleshooting/file-import-failed)
- [Approve, reject and archive testimonials](/help/manage/approve-reject-and-archive)
