Skip to main content

Import participants from a spreadsheet

Upload an .xlsx file from the Participants page, validate it, choose whether to send app invites and update existing records, and import in the background; the accepted columns, exact values, matching rules, seat limits, and every validation error.

Written by MaryGrace Flores

Import participants by uploading an .xlsx spreadsheet from the Participants page: click Import Participants, drop in the file, click Validate Import, review the preview, then click Import Participants. Equip imports in the background and emails you when it is done. Every file needs a name column and either an email column or a case_id or case_ids column; on non-CRP accounts every row also needs an email because it is the participant's app login. Participants are labelled Clients, Students, Residents, or Explorers depending on your account type, so the buttons use that word.

If you are onboarding and your Equip contact asked you to complete a spreadsheet for them, use the onboarding spreadsheet article instead; this article is for importing yourself.

Who can do this, and where

  • Web app only, from the Import Participants button at the top of the Participants page.

  • Needs the create permission of the Participants module (Administrator level). Super Admins and General Admins always have it.

  • Not offered on family accounts.

Steps

  1. Open Participants and click Import Participants.

  2. Drop your .xlsx file onto the panel or click to choose it. One file, 5 MB or smaller.

  3. Click Validate Import.

  4. Review the preview. It shows Unique Participants (rows that will be created) and Existing Participants (rows that match a participant already in your account, highlighted in red), and lists each participant with their identifiers, Birthday, Pathways, and Groups columns from the file.

  5. Switch on Send App Invite ("Invite participants to download the mobile application?") to email the mobile app invitation to every imported participant who has an email. Not shown on CRP accounts.

  6. Leave Update Existing Records on to update the matching participants with the values in the file, or switch it off to skip those rows and only add new people.

  7. Click Import Participants. Use Reupload File instead to start over with a corrected file.

The page confirms "Participants are being imported. You will be notified once the import is complete." You then receive an email titled "Equip participant import has completed" and an in-app notification; the message adds "We skipped N duplicate records." when existing rows were skipped. The whole file is imported in one step: if any row fails, nothing from the file is saved and you receive an email naming the row and the reason.

The columns Equip accepts

Use these headers exactly, in lowercase with underscores. Any other header fails validation unless it matches one of your account's custom fields (see the custom field import article).

  • Identity: name (required), email, case_id, case_ids, unique_id, id. The id column is an older name for unique_id and is used only when unique_id is blank.

  • Profile: preferred_name, preferred_pronouns, dob, sex, race, ethnicity, phone, office_phone, veteran, enrolled_on, medicaid_id, ssn, card_message, counselor_name, disability_type, disability_type_other, high_school_name, high_school_graduation_year, self_guardianship.

  • Groups and tags: groups, skills, interests. Separate several values with commas. A group that does not exist yet is created.

  • Status: status.

  • Residential address: address_one, address_two, city, state, zip, county, or the same names prefixed residential_address_.

  • Mailing address: mailing_address_one, mailing_address_two, mailing_address_city, mailing_address_state, mailing_address_zip, mailing_address_county.

  • Pathways: pathway_code, pathway_start_date, pathway_supporter_email, pathway_counselor_name, pathway_authorization_number, pathway_authorization_units, pathway_authorization_rate, pathway_authorization_issue_date, pathway_authorization_begin_date, pathway_authorization_end_date.

To enrol one participant in several pathways, repeat the row with the same name, email, and case IDs and change only the pathway columns. Every other column must be identical across those rows.

Values that must match exactly

  • sex: male, female, undisclosed

  • race: american_indian_or_alaska_native, asian, black_or_african_american, native_hawaiian_or_other_pacific_islander, white, two_or_more_races, other_race

  • ethnicity: hispanic_or_latino, non_hispanic_or_latino

  • status: active, inactive

  • disability_type: one or more names separated by commas. Each name is matched to your account's Disability Types under Account Settings, and a name that does not exist yet is added there. Types are added to the participant, never removed.

  • case_ids: several case numbers separated by commas or semicolons. Prefix a number with :O for an open case or :C for a closed one; when every case on a row is closed the participant is set inactive.

Do not use display labels such as "Black" or "Hispanic or Latino" in the sex, race, ethnicity, or status columns.

How existing participants are matched

A row matches a participant already in your account when its email equals their login or profile email, or one of its case numbers equals one of their case IDs. Matches are shown in red on the preview. With Update Existing Records on, the values in the row overwrite that participant's profile fields, addresses, and status, and add any groups, skills, interests, disability types, and pathways listed; with it off, those rows are skipped and counted as duplicates in the completion email.

If an email belongs to a participant in a different Equip account, the row is imported as a new profile in your account without app access, unless Send App Invite is on, in which case the import fails with "Email already in use by another Equip user".

Seat limits

  • When your account is out of participant seats, Import Participants stays visible but dimmed. Clicking it opens "No participant seats available" with a Request More Seats button that messages the Equip team.

  • If a file would add more new participants than you have seats, validation fails with "This import would exceed allocated seats. You have N seats left but the import contains M unique participants."

  • Only Active participants count toward seats. Discharging participants who have left frees seats.

Limits and what the errors mean

Validation errors appear under "Validation Failed" with a Reupload File button. Fix the file and validate again.

  • "Missing required headers: name": the file has no name column.

  • "File must contain either 'email' or 'case_id'/'case_ids' column": add one of those columns.

  • "Invalid headers found: ...": a header is not in the list above and does not match a custom field. Check spelling, lowercase, and underscores.

  • "Row N: Missing required field 'name'": the row has no name.

  • "Row N: Must have an email address.": on non-CRP accounts every row needs an email.

  • "Row N: Invalid value for 'sex'. Valid options are: ...": use the exact values listed above. The same message appears for race, ethnicity, and status.

  • "Row N: Duplicate email '...' also found in row M for a different participant.": two different people share an email. The same check applies to unique_id, and a case number used with two different emails is reported as "Case identifier '...' also appears in row M for a different email".

  • "Row N: Field 'x' differs from row M. When adding multiple pathways for the same participant, only pathway fields should differ.": repeated rows for one participant must match on everything except the pathway columns.

  • "Error processing file: ...": the file could not be read. Save it again as .xlsx and check that the first row holds the headers.

  • "Your program has reached its participant seat limit. Please contact the Equip team to import more participants.": shown if the account fills up between validation and import.

  • A failed import saves nothing. The failure email includes the row number and reason; correct the file and import again.

FAQ

What is the minimum a spreadsheet needs?
A name column and either an email or a case_id or case_ids column, with headers in lowercase. On non-CRP accounts every row also needs an email. Everything else is optional.

Will the import overwrite participants I already have?
Only if Update Existing Records is on, which it is by default. Rows are matched by email or case ID, and matched participants are updated with the values in the file. Switch it off to add only new people and skip the matches.

Can I set a participant to inactive through the import?
Yes. Put inactive in a status column, or on CRP accounts mark every case number in case_ids with :C. The participant keeps all records and stops counting as an active seat.

How do I import disability types?
Put one or more names in the disability_type column separated by commas. Names are matched to your account's Disability Types and any new name is added to that list. Re-importing adds types to a participant but never removes ones they already have.

Does the import send app invites?
Only when you switch on Send App Invite before clicking Import Participants. Every imported participant with a real email who has not already joined receives the invitation, and their mobile access is turned on. The switch is not shown on CRP accounts.

Why did the import fail because of seats?
Your plan has a participant seat limit and the file adds more new people than the seats left. The validation message tells you how many seats remain. Discharge participants who have left, or click Import Participants and choose Request More Seats to ask the Equip team.

Can I import addresses and custom fields?
Yes. Use the residential and mailing address columns listed above. Custom field values are imported through columns that match your custom field labels; see the article on importing custom field values.

How will I know the import finished?
You get an email titled "Equip participant import has completed" and an in-app notification. If something went wrong you get an email with the row number and the error instead, and nothing from that file was saved.

  • Completing the Participant Import Spreadsheet (For Onboarding)

  • Can I import custom field values with the participant import?

  • Add a participant and invite them to the mobile app

  • Introduction to the Participants Page

Did this answer your question?