This article shows you how to import contacts into Rasil from an Excel or CSV file in three steps: Upload the file, Map columns, then Preview and finish. Use it when you have a large list of contacts and want to add them all at once instead of entering them one by one.
Before you start
Start from the ready-made template (the easy way)
The upload step asks Don't have a template? and gives you a Download template button. Download it and fill in your data: it is a CSV file whose columns are named exactly as Rasil names them, so the mapping is direct.
File requirements
- Supported formats:
.csv,.xlsx,.xls,.tsv, and tab-delimited.txt - Number of rows: the upload screen states a limit of 5,000 rows per file.
- The first row must contain your column headers (for example: Name, Number), not contact data.
Required data
- Email or phone — at least one of them is mandatory. You cannot continue the import until you map a column to one of these two fields.
- Name is not required for an import. If the name cell is empty, Rasil fills in No name and the row stays valid. (This differs from adding a contact by hand through the New contact form, where the name is required.)
- Phone numbers must be in international (E.164) format. Write the number as
+, then the country code, then the rest — unbroken digits, no spaces, dashes or brackets, and no leading zero.- ✅ Correct:
+966500000001 - ❌ Incorrect:
+966 50 000 0001(spaces) ·966-50-000-0001(dashes) ·0500000001(leading zero) ·00966500000001(starts with00instead of+)
Rows whose numbers don't follow this format are marked Invalid with an Invalid phone message and are skipped on import.
- ✅ Correct:
- A labels column (if you have one) separates labels with a comma
,or a semicolon;, for example:customers, Riyadh, 2026.
Getting to the import page
Open the Contacts page
In the sidebar of your dashboard, click Contacts to open the contacts management page.

Click Import
On the Contacts page, click the Import button in the toolbar at the top of the page. This takes you to the Import contacts page.

The three import steps
The import page is a three-step flow, shown in the Import steps indicator at the top: 1 Upload → 2 Map columns → 3 Preview.
In steps 2 and 3 you can go back one step with the Back button, or leave the flow with Back to contacts.
Upload
In the Upload step — headed Upload your file — upload the Excel or CSV file that contains your contact data. Drag and drop the file onto the area marked "Drop a CSV or Excel file or click to browse", or click it to browse for the file on your device.
The upload area also states what it takes: "Accepts .csv, .xlsx, .xls, .tsv, and tab-delimited .txt up to 5,000 rows."
If you don't have a file ready, click Download template under Don't have a template?, fill it in, and upload it.

Map columns
In the Map columns step — headed Match your columns — match each column in your file to its corresponding contact field in Rasil. The table shows three columns: Column, Sample values and Maps to, so you can see real values from your file while you choose.
Example: if your file's column is called Number, map it to the Phone field in Rasil. If your columns already use the template's English names, you'll find them matched automatically and won't need to change anything.
Fields available under Maps to:
- Contact fields: Name · Email · Phone · Locale · Labels
- Custom fields: any fields you have defined under Settings → Custom fields. This group only appears if you have already defined custom fields; otherwise the list shows the contact fields and the Ignore option only.
- Ignore: skip the column and don't import its data
Important rules in this step:
- You must map a column to Email or Phone before you can continue, otherwise you'll see: "Map a column to Email or Phone before continuing."
- A contact field can only be mapped to one column.
- Unmatched columns are ignored and their data is not imported.

Apply labels to all imported contacts
At the bottom of the mapping step — directly below the column table and above the Back and Continue buttons — you'll find the Apply labels to all imported contacts block, with a row of label chips you click to select. Choose the labels you want applied to every contact in this file, so you can find them easily later.
If your file has a mapped Labels column, the labels in it are added on top of these general labels rather than replacing them. Within a single cell, separate labels with a comma , or a semicolon ;.
Any new label in that column is created automatically in your workspace — you don't need to create it first, and this happens even if the block above doesn't appear for you.
Then click Continue to move on to the preview step.

Preview
In the Preview step — headed Preview before importing — review your data before importing it. The page shows:
- Row counters: Valid · Invalid · Total rows.
- A review table that by default shows the first 20 rows of your file — or all of them if the file is smaller — "Showing first :count rows." — with each row's status.
- An "Only show rows with errors" filter so you can review just the invalid rows. With it on, the table lists every invalid row in the whole file, not only the first 20.
"Invalid rows are highlighted and will be skipped on import." Valid rows are imported normally.
Once you've confirmed the data looks right, click Import :count contacts (for example: Import 4 contacts) to complete the import. While it runs you'll see the progress as "Importing… :sent of :total".

After the import completes
When the import finishes, an Import complete screen appears, showing:
- A result counter: how many contacts were Imported, and how many rows were Skipped.
- Import another file — start a new import right away.
- View contacts — go to the Contacts page and see what was added.

Tips
- Start from the template. Downloading the template and filling it in saves you most of the mapping work, because its columns carry the names Rasil recognises.
- Clean up your phone numbers before uploading. Strip spaces, dashes and brackets, drop any leading zero, and start the number with
+and the country code (+966500000001). Contact files often arrive with numbers formatted using spaces or dashes, and that is one of the most common reasons rows come back invalid. - Check your file before uploading. Make sure the first row holds clear column headers and that your data starts on the second row.
- Use the error filter in the preview. "Only show rows with errors" is the fastest way to see what will be skipped and why before you import — and it lists every invalid row in the whole file, not just the first 20 the table shows by default.
- Test with a small file first. If your list is large, import a handful of rows to confirm the mapping is right, then import the rest.
- Put labels to work. Add a label for each import batch (the source name or the import date, for example) to make filtering those contacts easier later.
- Don't rush past the preview. It is your last chance to catch a mapping mistake before the data is actually added.
Frequently asked questions
Which file formats can I upload?
You can upload Excel or CSV files in these formats: .csv, .xlsx, .xls, .tsv and tab-delimited .txt.
How many contacts can I import at once?
The upload screen states a limit of 5,000 rows per file.
Why did all my columns come up as Ignore in the mapping step?
Most likely because your file's column headers are in Arabic — automatic matching only recognises the English names used by the template (name · email · phone · locale · labels).
The quickest fix: use Download template and move your data into it, or rename your file's headers to the English names above.

If an import stops halfway and I upload the file again, will contacts be duplicated?
No. The contacts that made it in on the first attempt will not be duplicated when you upload the same file again.
And if your list already contains older duplicates, the Find duplicates tool on the Contacts page helps you review and resolve them.
What happens if I leave a column unmapped?
Unmatched columns are ignored and their data is not imported — and you can explicitly choose Ignore for any column you don't need.
Keep two rules in mind, though: you must map a column to Email or Phone before continuing, and a contact field can only be mapped to one column.
What happens if some rows are invalid?
The preview step shows Valid, Invalid and Total rows counters, and you can turn on the Only show rows with errors filter to review them — it lists every invalid row in the file, not just the first 20. Invalid rows are highlighted and will be skipped on import, while valid rows are imported as usual.
What do the error messages mean?
Messages differ depending on where they appear, at three levels:
File-level messages (shown in the Upload step)
These mean the file itself wasn't accepted, and you won't reach the mapping step until you fix it.
Messages in the Map columns step
Cell-level messages (shown inside a row in the Preview step)
These apply to a single row, and they are why it appears among the Invalid rows that will be skipped on import. Use the Only show rows with errors filter to review them all at once.
The custom-field messages only appear if you have defined custom fields and mapped a column to one of them.