Bulk Import Contacts using an XLS File (Excel)

Bulk importing contacts lets you add or update many contacts at once in RapidPro.app using an XLS/XLSX spreadsheet, including names, addresses (URNs) like phone numbers in E.164 format, optional language and custom fields, and—when updating existing contacts—UUIDs to ensure records are updated correctly instead of creating duplicates.

Import contacts with Excel in a few steps

If you just need the essentials, follow this:

  1. Confirm at least one channel is connected in your workspace
  2. Prepare an XLS/XLSX file with Name + at least one address (URN) column
  3. Use UUID when you want to update existing contacts or add new addresses
  4. Upload the file in Contacts → Import, preview headers, choose groups, and start the import
  5. Review results (created vs updated) and fix duplicates or header issues if needed

You’re done. Your contacts are now created or updated in bulk, with fields and addresses mapped from your spreadsheet.

Step-by-Step Process

1
Confirm prerequisites (channel connected)

Importing contacts lets you add large numbers of contacts to RapidPro.app using an XLS/XLSX spreadsheet.
You must have at least one channel connected in your workspace before you can import contacts.

[CAPTURE: Workspace settings showing at least one connected channel.]

⚙️
Note: A connected channel is required. If no channels are connected, imports will fail or won’t start.

2
Prepare your import file (columns and formats)

Your spreadsheet should include columns for the information you want to import.

Typical required columns

Most imports include an address column (URN) and a Name column. Address columns can include Phone (E.164),
Telegram, Email, and other supported address types.

[CAPTURE: Example spreadsheet headers showing Phone + Name.]

⚙️
Note: Phone numbers must include the country code (E.164), for example: +221XXXXXXXXX.

When to use UUID (updating existing contacts)

Use a UUID column when your import is meant to update existing contacts, especially when adding a new address type
(for example, adding Email) or adding an additional address value to existing contacts. In these cases, UUID can replace Name.

[CAPTURE: Spreadsheet headers showing UUID + Phone/Email columns.]

Optional columns

  • Language (preferred language) using ISO language codes
  • Custom fields (extra columns mapped to contact fields)

Rules for custom-field column headers:

  • Max 36 characters
  • No special characters
  • Cannot start with a number

[CAPTURE: Spreadsheet with custom fields columns like village, age, team.]

💡
Tip: Use underscores for spaces. If your field label is “Registration Date”, format it as Registration_Date in the column header.

3
Understand date/time and group behavior

Date and time behavior

  • If you import a date without a time, RapidPro.app sets the time to 00:00.
  • If you later manually update a date-only field, RapidPro.app may update the time portion based on when you saved the change.

[CAPTURE: Spreadsheet date column + how it appears after import.]

Group membership during import

Group membership is selected during the import process, not inside the Excel file. You can add contacts to an existing group,
create a new group, or import them with no group selected.

[CAPTURE: Import screen showing group selection options.]

4
Run the import in RapidPro.app

  1. Go to the Contacts tab.
  2. Click Import (top left).

[CAPTURE: Contacts page with the “Import” button.]

  1. Download the provided template (or use your own file), then click Choose File and upload your spreadsheet.

[CAPTURE: Import page with template download + Choose File.]

  1. Click Preview.
  2. Confirm headers are detected correctly, select group membership (optional), then start the import.

[CAPTURE: Preview step showing detected headers + group selection + import button.]

After import, review results such as how many contacts were created or updated, and any group membership changes.

[CAPTURE: Import results summary.]

5
Handle multiple addresses, UUIDs, and duplicates

Importing multiple address types

You can import multiple address types (for example, Phone + Email), but typically one address per type per row.

[CAPTURE: Spreadsheet row showing Phone + Email columns filled.]

To add addresses to existing contacts, include the contact UUID so RapidPro.app updates the correct contact rather than creating a duplicate.

Exporting contacts to get UUIDs

Exports include contact UUIDs, names, addresses, and custom fields. To export:

  1. Go to Contacts.
  2. Open the menu (☰ / ⋮) and choose Export.

[CAPTURE: Contacts menu showing “Export”.]

Removing duplicates

If your spreadsheet contains duplicates (for example, the same phone number repeated), clean them before importing to avoid conflicts and unexpected results.

💡
Tip: Normalize phone numbers first. Convert all numbers to E.164 before import to reduce duplicates.

Common Issues & Quick Fixes

Problem: The import fails or won’t start.

Fix: Confirm at least one channel is connected, use an XLS/XLSX file, and include at least one address column plus Name (or UUID for updates).

Problem: Contacts are created instead of updated.

Fix: If you intended to update existing contacts, export contacts first to obtain UUIDs, then re-import with UUID and normalize phone numbers to E.164.

Problem: Custom fields don’t import correctly.

Fix: Keep headers under 36 characters, avoid special characters, and use underscores instead of spaces (for example, Registration_Date).