# Upload and manage contacts

> Prepare a contact file, map its columns, organise databases, edit individual contacts, and understand opt-out exclusions.
> Source: https://docs.23telecom.co.uk/guide/people/

Instructions for LLMs: This is one page of the 23 Telecom messaging API docs
(SMS today; more channels planned). Base URL: https://restlink23telecom.com/api/v1,
auth via the X-API-Key header. Match errors on the error_code field, never on
description text. Full docs: https://docs.23telecom.co.uk/llms-full.txt · Schemas: https://docs.23telecom.co.uk/openapi.yaml

People is where you upload, organise, search, and update recipients.

## Prepare a file

1. Use a `.csv`, `.txt`, or `.xlsx` file. The older `.xls` format is not accepted.
2. Put one contact on each row.
3. Include a phone column.
4. Keep each phone to 7 to 15 digits after `+`, spaces, brackets, and other separators are removed.
5. Use a fictional test number such as `+44 7700 900123` before importing client data.

The importer expands phone numbers saved in scientific notation. It accepts up to 1,000,000 rows and 500 characters in one cell. No more than 3 background imports can be active at once.

## Upload contacts

1. Open **People**.
2. Select **Upload Contacts**.
3. Find **Upload CSV, TXT, or Excel File**.
4. Drop the file into the upload area, or select it from your device.
5. Choose **Add to existing database**, or enter a name under **Or create new database**.
6. Select **Upload File**.

You can also paste phone numbers into the upload area. Put one number on each line, or separate numbers with commas or semicolons.

## Map file columns

1. In **Map Columns**, select **First row is header** when row one contains column names.
2. Review every choice under **Column Mappings**.
3. Map one column to **Phone Number**.
4. Use **Skip this column** for data you do not need.
5. Use **Set a fixed value (all rows)** when every imported contact needs the same custom value. A fixed value can contain up to 170 characters.
6. Check **Preview (first 5 rows)**.
7. Select the import button at the bottom. Its text shows how many contacts will be imported.

You can map data to **Custom 1** through **Custom 10**. Naming a custom field while mapping requires permission to update settings.

## Add one contact

1. Open **People**.
2. Select **Add Contact**.
3. Enter **Phone Number**.
4. Add **First Name**, **Last Name**, **Email**, and **Custom Fields** when needed.
5. Select **Add Contact**.

The add form has no address field.

## Edit one contact

1. Open **Contacts**.
2. Find the contact.
3. Select the **Edit** icon.
4. Update the details in **Edit Contact**.
5. Select **Save Changes**.

The phone number is read-only. The edit form also lets you update the address.

## Use databases and smart segments

1. Open **Databases**.
2. Expand a database row to see **Clicked** and **Converted** contacts.
3. Select **Target** to start a broadcast for one of those segments.
4. Use the row actions **Merge**, **Estimate cost**, or **Edit** when needed.

The targeting action requires permission to create broadcasts. Databases are called tags in messages and automation.

## Opt-outs and the blacklist

Opted-out and blacklisted numbers are excluded automatically when recipients are calculated. The campaign summary shows how many numbers were excluded.

The `{opt_out_link}` macro becomes a unique unsubscribe link for each recipient. There is no client list for browsing opt-outs or blacklist entries. Contact support to review or remove an entry.

The domain used by the opt-out link is configured under **Opt-Out Settings** in Integrations. [Read the domain guide](https://docs.23telecom.co.uk/guide/domains/).

## Permissions

Contact permissions control who can add, import, edit, delete, and export contacts. Tag permissions control database changes. Ask the account owner to update your role when an action is missing.

## Troubleshooting

1. Confirm that one column is mapped to **Phone Number** when the import button is unavailable.
2. Check **First row is header** when column names appear as contact data.
3. Review **Duplicates Skipped** after an upload completes.
4. Save an `.xls` file as `.xlsx` before trying again.