> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gettap.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Bulk import

> Add many members at once from a spreadsheet, and read the import status screen.

Importing is the practical way to onboard more than a handful of people. It creates members, assigns them to departments and templates, and sends every invitation in one pass.

## Before you import

<Steps>
  <Step title="Create your departments first">
    The import assigns people to departments by name. A department that doesn't exist yet can't be assigned, and fixing it afterwards means editing every affected member by hand.
  </Step>

  <Step title="Publish your template first">
    Same reasoning. Members imported without a template build their own profiles, and pulling them back onto a template later is more work than getting it right first.
  </Step>

  <Step title="Check the email addresses">
    They're the login, the invitation destination, and the key for CRM owner assignment. Verify them against your CRM's user list before importing, not after.
  </Step>
</Steps>

## Running the import

**Members → Import.** Upload your file, map your columns to Tap's fields, and start the import.

<Tip>
  Import five people first as a test. Confirm they land in the right department with the right template and that the invitation email looks right, then import the rest. A bad 200-person import is a slow thing to undo.
</Tip>

## Reading the import status screen

Imports run in the background — a large file keeps processing after you navigate away. The status screen shows each row's outcome.

| Status | Meaning | What to do |
| - | - | - |
| Processing | Still running | Wait. You can leave the page. |
| Imported | Member created, invitation sent | Nothing |
| Skipped | A member with that email already exists | Nothing, unless it's a duplicate you didn't expect |
| Failed | The row couldn't be processed | Read the reason, fix the row, re-import just that row |

<Note>
  Re-importing a file is safe. Rows whose email already exists are skipped rather than duplicated, so fixing a few failed rows and re-uploading the whole file won't create second copies of everyone else.
</Note>

## Common failures

<AccordionGroup>
  <Accordion title="Invalid email address" icon="at">
    A typo, a missing domain, or a stray space. Spreadsheets are good at hiding trailing spaces — trim the column before exporting.
  </Accordion>

  <Accordion title="Department not found" icon="sitemap">
    The department name in the file must match an existing department exactly, including spelling and case. Create the department, then re-import the failed rows.
  </Accordion>

  <Accordion title="Duplicate email in the file" icon="copy">
    Two rows with the same address. The first is imported and the second skipped — which is usually correct, but check you didn't mean to add two different people.
  </Accordion>

  <Accordion title="The file is the wrong format" icon="file-csv">
    Export as CSV or XLSX. A CSV saved with an unusual delimiter or encoding can import as a single mangled column — if the mapping step shows one column where there should be six, that's the cause.
  </Accordion>
</AccordionGroup>

## After the import

Members are invited automatically. Track who has accepted from the member list — anyone still showing as invited after a few days needs a nudge or a re-sent invitation.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.