> For the complete documentation index, see [llms.txt](https://docs.omnichat.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.omnichat.ai/en/features/social-cdp/data-import/import-channel-contacts.md).

# Import Channel Contacts

This article will guide you on how to use the social User ID as the unique identifier to import channel contacts.

If you've purchased OMO plan, WhatsApp and LINE channels also support importing your team member bound to each customer.

In this article, you'll learn three simple steps to edit the template and import channel contacts:

* Step 1: [Import file](#step-1-import-file-edit-and-upload-the-template) - Edit and upload the template
  * [Download the Template](#download-the-template)
  * [Edit the Template](#edit-the-template)
  * [Other Setting](#other-setting)
    * [Trigger journeys](#trigger-journeys)
    * [Column format of OMO bound team members](#column-format-of-omo-bound-team-members-omo-only)
  * [Upload the Template](#upload-the-template)
* Step 2: [Map data](#step-2-match-data)
* Step 3: [Verify data](#step-3-verify-data)

### Step 1: Import file - Edit and upload the template

Go to "Social CDP" from the left menu, find "Data Import", then click the "Import" button in the top right corner.

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FuOPaM3pe7ac7hKmBWDFS%2Fstep1%20import%20copy.png?alt=media&amp;token=38179665-407f-482d-a29a-acd0498e90ca" alt=""><figcaption></figcaption></figure>

Choose "Import channel contacts"

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FNvf79hA4jrknY1AS70Qw%2F%E7%A4%BE%E7%BE%A4%E8%81%AF%E7%B5%A1%E4%BA%BA%E9%A1%9E%E5%9E%8B%20copy.png?alt=media&amp;token=2383bfe8-3452-4fd7-8583-a5a159e8444c" alt="" width="375"><figcaption></figcaption></figure>

### Download the Template

Select the channel for this batch of contacts.

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2F95SsVyeYXpTfRwYjNtyg%2F%E9%81%B8%E6%93%87%E6%B8%A0%E9%81%93%20copy.png?alt=media&amp;token=405e9015-e81e-4d6c-b2a3-5f20de2e2aba" alt=""><figcaption></figcaption></figure>

Please use the template provided here to edit the channel contacts. Do not use your own file, as it may cause data matching issues.

You can download the template based on one of the two tag import methods below.

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FRWD1TXkLYougXE2YS6jl%2Fdownload%20template.png?alt=media&amp;token=f0803a09-da1d-4235-8103-2b8728cbef02" alt=""><figcaption></figcaption></figure>

1. **All tags in one column:** Add all tags in the same "Tag" column, separated by commas. Don’t add any spaces before or after the commas.

<div align="center"><figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FvNhtZjRoMKAo2yJSOmTb%2Fmethod1.png?alt=media&amp;token=b62ae224-7663-4933-84c5-39ed2b9ef11c" alt="" width="263"><figcaption></figcaption></figure></div>

2. **Each tag in a separate column:** Add each tag in its own column.

{% hint style="warning" %}

1. If your CSV file is not saved in UTF-8 encoding, the content may show up as garbled text. To avoid this, we recommend using [<mark style="color:red;">**Google Sheets**</mark>](https://docs.google.com/spreadsheets/u/0/) to edit your template.
2. When uploading the file, please note: If you check "**Replace Tags",** all existing tags on the customers will be removed and replaced with the ones from your file.

<img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FOcBuP2Wvn1CHYihuGiK6%2Freplace%20tags.png?alt=media&amp;token=d9c3bc88-5c13-466f-9c5e-6699a4b790a0" alt="" data-size="original">
{% endhint %}

### Edit the Template

This is what the template looks like in Google Sheets when using the first tag import method (All tags in one column).

For WhatsApp:

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2Fjv0zG5yNT9bVvOETbI7T%2Fwhatsapp%20template%20edited.png?alt=media&amp;token=994be739-0974-42ed-b186-6649c781376a" alt=""><figcaption></figcaption></figure>

For Facebook:

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FM2IIIOcno0lWjRK5Iq6F%2FFB%20template%20edited.png?alt=media&amp;token=a4d1286c-6784-4514-88f8-9e10b5907fa6" alt=""><figcaption></figcaption></figure>

For LINE:

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2Ft5rla6xRBadXgpRVVi9y%2Fline%20template%20edited.png?alt=media&amp;token=0c60ed1c-3937-4c27-8a7d-070efb9ca7f0" alt=""><figcaption></figcaption></figure>

* For the three social channels above, **the first column is required** as follows. Make sure to input the phone numbers and IDs based on the channel you're importing.
  * WhatsApp: Phone
  * Facebook: FB PSID
  * LINE: LINE User ID
* Phone numbers should follow the international format:
  * Remove the zero at the beginning and any symbols like +, -, or ().
  * Examples:
    * Taiwan number `0911223344` → input **886911223344**
    * Hong Kong number `91122333` → input **85291122333**
    * Singapore number `81234567` → input **6581234567**
    * Malaysia number `123456789` → input **60123456789**
  * If there are duplicates of "Email" and "Phone" columns when importing data, omni-channel customer data may be overlapped.
* Binding OMO Team Members:
  * To bind a customer to an OMO team member:
    * Fill in both Binding Teammate and Store Location Code columns.
      * You can check your teammate's information in the [Teammates](https://console.omnichat.ai/teammate) section. For what to fill in here, please also refer to "[Column format of OMO bound team members](#column-format-of-omo-bound-team-members-omo-only)".
      * You can find the Store Location Code in [Store Management](https://console.omnichat.ai/store-management).
    * Only "Salesperson" or "Sales Manager" can be bound.
    * To remove a binding, input "UNASSIGNED" in the Binding Teammate column.
  * If you're importing channel contact data, such as a customer's phone number or email, that is already bound to an OMO Salesperson or Sales Manager, make sure to enter the store location code of that specific Salesperson or Sales Manager in the Store Location Code column.
* Import custom attributes
  * You can add columns to the template and input your custom attribute's Attribute Key.
  * Make sure each key match exactly with what you've set up in the [Custom Attribute Page](https://console.omnichat.ai/custom-attribute), and each column should use a different key. Do not enter the same key more than once.

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FSpw5IjhbiXpbu5Re0eZw%2F%E8%87%AA%E8%A8%82%E5%B1%AC%E6%80%A7edited.png?alt=media&amp;token=48188374-06c4-41b8-8665-4eb0ad44aa80" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**The format of attribute values must follow the rules:**

1. **Number support：**
   * integer
   * positive and negative numbers
   * decimal point
2. **Date support：**
   * YYYY/MM/DD
   * YYYY-MM-DD
   * DD/MM/YYYY
3. **Date & Time support：**
   * YYYY/MM/DD HH:mm:ss
   * YYYY-MM-DD HH:mm:ss
   * DD/MM/YYYY HH:mm:ss
   * YYYY-MM-DDTHH:mm:ss
4. **Yes / No support：**
   * 是 / 否
   * yes/no (Case insensitive)
   * Y/N (Case insensitive)
   * true/false (Case insensitive)
   * T/F (Case insensitive)
     {% endhint %}

### Other Setting

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2Fi1HaUcUnVhOlnjDlmfvA%2Fother%20setting.png?alt=media&amp;token=797ebc5a-e715-4b9f-9124-647be188c062" alt="" width="563"><figcaption></figcaption></figure>

### Trigger journeys

By switching on this button, if any trigger conditions from your existing [customer journeys](https://en-docs.omnichat.ai/features/marketing/customer-journey-add-on-module) are met here, the corresponding journeys will be triggered.

### Column format of OMO bound team members (OMO only)

If you want to bind customers to your sales team members, make sure the information you input in the "Binding Teammate" column of your CSV file follows the format here so the system can match it to the correct teammate.

If you choose to use Employee ID (Staff ID), Email, or Phone as the identifier, please make sure the information is correctly saved in each team member's profile in Omnichat console and input exactly the same in your CSV file.

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FXpXDD7CMvSD3Y4TbRLRg%2Fteammate%20profile.png?alt=media&amp;token=80f78954-2855-46e6-8e12-ae1d3b2d2bf2" alt="" width="375"><figcaption></figcaption></figure>

For example, as shown in the screenshot above, Sales Manager Steph's Staff ID is 9527.\
In your CSV file, input 9527 in the "Binding Teammate" column and select "Employee ID" as the identifier.

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FZAaS9Q7yqkawW5kvPrLI%2Fomo%20format%20edited.png?alt=media&amp;token=bf04486a-6d7e-49b6-b790-ef98d7acca2c" alt=""><figcaption></figcaption></figure>

### Upload the Template

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FzdFxBoTwXqG34EjPsYLV%2Fupload%20file.png?alt=media&amp;token=e80458ee-4a9f-4beb-84ba-61d5bfa6aeda" alt=""><figcaption></figcaption></figure>

* Please keep the file size under 30MB.
* If the file is too large, split it into smaller files before importing.
* The system supports asynchronous importing, so you can leave the page after uploading.
* You can also upload other files while an import is in progress. They will be processed one after another.

### Step 2: Map data

After editing the template, save it as a CSV file. We'll use the file below as an example to show how mapping and verification work.

Scenario:

We'll import the following data to WhatsApp channel:

* Binding Teammate: 9527
* Store Location Code: A002
* Email: <stephanie.wang@omnichat.ai>
* Tags: 0629test
* Custom Attribute – Purchase\_Company\_Region: Taiwan
* Custom Attribute – Purchase\_Company\_Name: Omnichat

This data will be assigned to Phone number: 8869282\*\*\*\*9

The profile of the teammate we'd like to bind:

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FotNe4eoVn7q99m5Cu7iF%2Fteammate's%20profile%20edited.png?alt=media&amp;token=440f0e8b-d7dd-491d-a993-889ed8e1d595" alt="" width="375"><figcaption></figcaption></figure>

Our CSV file:

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FOR7R4X9HUQu9FG5woxKf%2Fupload%20example.png?alt=media&amp;token=da7a8845-820b-4be3-ba12-ab73701958f4" alt=""><figcaption></figcaption></figure>

Don't forget to set "Column format of OMO bound team members" as "Employee ID".

Drag and drop the edited CSV file into the upload area, or click to select a file. Then click "Next" to continue.

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FnE1AxNNxm1AimayNQokf%2Fuplaod%20next%20copy.png?alt=media&amp;token=5f1d7b66-5354-4c7d-a348-9718871648cc" alt=""><figcaption></figcaption></figure>

The system will then map the data in the CSV file with the fields in the system.

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FyceHCT3BmP0t2cWwo0ZS%2Fmap%20data%20copy.png?alt=media&amp;token=1e75885e-6813-431e-bc53-51c40e23f10b" alt=""><figcaption></figcaption></figure>

### Step 3: Verify data

If the system detects any data in your file that doesn't match the required format, you'll see a reminder asking you to correct the data and upload the file again.

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FBc4FThKwFTACqQdQJDBR%2Fwrong%20info%20copy.png?alt=media&amp;token=8818c0f1-c4d1-48e7-ba6f-47697e157e94" alt=""><figcaption></figcaption></figure>

Once all data is correct, click the "Import" button in the top right corner.

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FoFqoAgzKe4NeVyJD1WXP%2Fverify%20data.png?alt=media&amp;token=100bef85-edbd-4e88-a0db-3bcd44443987" alt=""><figcaption></figcaption></figure>

You'll see a pop-up message letting you know the system is scheduling the import.\
The upload will continue in the background even if you close the pop-up window, so you can safely close it and return to the list.

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FQwaZ09xeoIDRX4SKlTnU%2Fschedule%20pending%20copy.png?alt=media&amp;token=c872d208-9896-4745-8d90-6caaa45925e8" alt="" width="375"><figcaption></figcaption></figure>

When you return to the list, you'll see the file is pending for import.

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FHQqbmySCSuUycys6w8eP%2Fpending%20list%20copy.png?alt=media&amp;token=775385fb-fcd0-46ab-af6f-9d95c8cb074f" alt=""><figcaption></figcaption></figure>

If you'd like to cancel the import, click the icon under "Action". A pop-up window will open, asking you to confirm the cancellation.

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FgTh1omYY0Zuya3AuEtYZ%2Fcancel%20edited.png?alt=media&amp;token=352be58c-10e5-4b85-84fb-ef1e9859e972" alt=""><figcaption></figcaption></figure>

Once importing is finished, you can go to "[Channel Contacts](https://console.omnichat.ai/channel-contacts/facebook/1905757959685752?page=1\&pageSize=10)" to check if the data has been updated.

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FfTZUB4eX45Uer5Fq4r6C%2Ffinished%20copy.png?alt=media&amp;token=c7ca37b6-3799-40de-ac7b-6c32dc9846d1" alt=""><figcaption></figcaption></figure>

Here's how the contact's data looks before and after import.\
As you can see, the email, tag, custom attributes, and bound salesperson have been updated.

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FHr1WCsPORvhB14Ea5oC1%2FScreenshot%202025-07-18%20at%202.34.46%E2%80%AFPM.png?alt=media&amp;token=589de8f2-cebd-4c08-b0ce-f5a4ec62c613" alt=""><figcaption></figcaption></figure>

Sales Manager Steph is bound to this customer.

<figure><img src="https://2848678129-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3u2I1osIy6mEi07X1z46%2Fuploads%2FCmhHAVGuXwX2tpnP7rad%2Fconversation%20bound.png?alt=media&amp;token=c2cadad8-5580-40a3-8738-46b8d38c064c" alt="" width="563"><figcaption></figcaption></figure>
