People

Importing People from a Spreadsheet

Upload a CSV of your directory, review what will change, and add everyone at once.

If your directory already lives in a spreadsheet or another church system, you don't have to retype it. Export it as a CSV and import the whole thing at once. Nothing is saved until you've seen exactly what the import will do.

Preparing your file

Every row is one person, and the file needs a first name and last name column. Everything else is optional — import the columns you have and fill in the rest later.

Tip

Column names don't have to match exactly. First Name, first_name and Given Name are all read as the same column, and the same goes for email, phone, address, date of birth and the rest. Columns we don't recognize are listed on the review screen so you can spot a misnamed one.

Dates can be written as 2024-03-12 or 3/12/2024. Membership status accepts the words most systems export — member, active, visitor, guest, attender, inactive. Import up to 5,000 people at a time.

Importing families

Add a Household column and everyone who shares a value in it is grouped into one family. Planning Center and Breeze exports already include one — Household ID, Household Name and Family ID all work. A Family Name column is read as the household when your file also has a separate last name column, and as the last name otherwise.

A Family Role column (Head, Spouse, Adult, Child) decides who is a guardian and who is a child. Without one, anyone under 18 by date of birth joins as a child and everyone else as a guardian. Fix anyone who landed in the wrong spot from People → Families.

Note

Someone who is already in a family stays where they are. If the rest of their household isn't in one yet, they join that same family. Families are never matched by name, so two unrelated Smith households stay separate.

Running the import

1

Open the importer

From your , go to and choose Import. It's on both the Everyone and Members pages, and it opens the import page.
2

Upload your CSV

Drop the file in, or download the template first and paste your data into it. Files up to 10MB and 5,000 people are accepted.
3

Say who each “needs a decision” row is

These are rows whose name matches someone you already have, but no email confirms it. Each one shows the row from your file next to every person it could be, with their phone, email, birthday, address and family. Details that match your file are marked, so you can tell two people with the same name apart. Choose the right person, Someone new, or Leave this row out, and the next row opens.
4

Look over the rest

New lists everyone who will be added, and Already on file lists people matched by email. Use Leave out on any row you don't want. Problems lists rows that can't be imported and rows that came in without a field, with the reason for each.
5

Choose what happens to people you already have

Fill in blanks only is the safe default and never replaces something you maintain by hand. Replace with the spreadsheet overwrites their details, and Leave them as they are changes nothing.
6

Import

The button at the bottom says how many people you're about to import. Afterward you'll see everyone who came in, with a link to each record, and a spreadsheet of any rows that need fixing.

Tip

Your review is saved in this browser as you go. Close the tab or lose your connection partway through, and you'll be offered Pick up where you left off when you come back.

Note

A cell we can't read costs only that field, not the person. A birthday with no year is saved with the year 1902 and listed under Problems. Until you fix the year on their profile, Hubl treats their age as unknown: they aren't marked as an adult or a child, and their birthday stays out of the bulletin. A child's age also decides how they're handled at check-in. People imported without a membership status come in as visitors.

How duplicates are handled

A row that matches someone by email is treated as that person — no second record is created. If the email belongs to someone who already has an account at another church on the platform, they're added to your directory using that same account rather than a new one.

Rows with no email are matched by name, and because names repeat, those are always shown to you for a decision rather than merged automatically. An email that appears twice in one file is imported once, and the review screen tells you which row it came from.

Warning

Choosing replace with the spreadsheet overwrites existing phone numbers, addresses and other details with whatever your file says. If your export is older than your directory, use fill in blanks only instead.

Permissions

Importing requires the members.create permission — the same one needed to add a person by hand. See for who has it.

Ready to get your church online?

Start free and add more when you need it.