> ## Documentation Index
> Fetch the complete documentation index at: https://docs.spread.so/llms.txt
> Use this file to discover all available pages before exploring further.

# 임포트 (Import)

> AI로 고객 데이터를 빠르게 Spread로 가져올 수 있습니다.

## Overview

CSV/Excel 파일을 업로드하면 Spread AI가 데이터의 의미를 자동으로 이해해 기존 고객 데이터를 Spread에 쉽고 간편하게 임포트할 수 있습니다.

유저는 컬럼을 직접 매핑하거나, 사전에 필드를 설정할 필요가 없습니다.

## 임포트 전에 알아야 할 것

<Accordion title="1. 임포트 데이터 종류">
  Spread에서 임포트할 수 있는 데이터 종류는 3가지입니다.

  <img
    src="https://mintcdn.com/relate-2lkj43/lU2syUdMTKCswUvv/images/ai-import/ai-import-ss/type.jpeg?fit=max&auto=format&n=lU2syUdMTKCswUvv&q=85&s=77cbe2966bee73e87f63de8449fb5fb2"
    alt="Import types"
    width="420"
    style={{
  display: "block",
  margin: "8px auto",
  boxShadow: "0 6px 18px rgba(0, 0, 0, 0.16)",
  borderRadius: "8px"
}}
    data-path="images/ai-import/ai-import-ss/type.jpeg"
  />

  * **연락처(Contacts)**

  * **조직(Organizations)**

  * **리스트(Lists)** : 연락처와 조직을 활용해 만드는 일련의 고객 목록
</Accordion>

<Accordion title="2. 데이터 필드 (Data fields)">
  연락처, 조직, 리스트는 기본적으로 각자의 성격에 맞는 데이터 필드를 가지고 있습니다.

  이들이 가지고 있는 데이터 필드 중 **필수로 입력해야 하는 정보**가 있습니다.

  1. 연락처: **이름** 또는 **이메일** 둘 중 하나를 반드시 입력해야 합니다.
  2. 조직: **조직명**을 반드시 입력해야 합니다.
  3. 리스트 : 리스트의 데이터 타입(연락처 혹은 조직)을 확인해 1번 혹은 2번을 따릅니다.

  이외에 어떤 기본 필드가 있는지 아래에서 간략히 확인하실 수 있습니다.

  <Accordion title="연락처">
    * **이름**
    * **이메일**
    * 조직 : 연락처(개인)가 속해 있는 조직
    * 직책
    * 전화번호
  </Accordion>

  <Accordion title="조직">
    * **조직 이름**
    * 도메인: 별도로 도메인을 작성하지 않아도 조직에 속한 연락처가 있다면 해당 고객의 이메일 도메인을 참고해 자동으로 채워줍니다.
    * 설명
  </Accordion>

  <Accordion title="리스트">
    리스트의 데이터 타입인 연락처과 조직의 디폴트 필드 이외에 리스트가 별개로 가지는 기본 필드는 없습니다.
  </Accordion>
</Accordion>

<Accordion title="3. 사용자 정의 필드 (Custom fields)">
  사용자 정의 필드(Custom fields)란 Spread에서 기본으로 제공하는 필드 외에, 각 팀이나 비즈니스 상황에 맞게 **추가로 정의해 사용하는 필드**를 의미합니다.

  업로드한 파일의 컬럼을 AI가 자동으로 해석하여, **기존 데이터 필드로 매핑할 수 없는 정보가 있는 경우 필요한 커스텀 필드를 자동으로 생성하여 매핑**합니다.

  따라서 임포트 전에 커스텀 필드를 미리 만들어 둘 필요가 없으며, 파일에 포함된 데이터 구조에 맞춰 임포트 과정 중에 자연스럽게 처리됩니다.

  <Note>
    [**AI 매핑 결과 확인 및 수정**](#column-mapping-change)

    AI가 자동으로 매핑한 결과의 수정이 필요한 경우, 특정 컬럼을 다른 필드로 변경하거나 직접 원하는 필드를 생성하여 매핑하는 것이 가능합니다.
  </Note>
</Accordion>

<br />

## 임포트 실행 가이드 (Step-by-Step)

### Step 1. 임포트 시작 및 파일 업로드

* Spread 앱 화면에서 좌측 상단을 클릭하여 `워크스페이스 설정`을 선택합니다.

<img src="https://mintcdn.com/relate-2lkj43/lU2syUdMTKCswUvv/images/ai-import/ai-import-ss/choosews.png?fit=max&auto=format&n=lU2syUdMTKCswUvv&q=85&s=ed62aae8539b65607551801239441ce4" alt="워크스페이스 선택" width="300" style={{ display: "block", margin: "4px 0 12px 32px", boxShadow: "0 6px 18px rgba(0, 0, 0, 0.16)", borderRadius: "8px" }} data-path="images/ai-import/ai-import-ss/choosews.png" />

<span style={{ display: "block", height: "6px" }} />

* 좌측 사이드바의 `임포트` 페이지를 선택한 후, 우측 상단의 `새 파일 업로드` 버튼을 클릭하면, 아래와 같은 화면이 나옵니다.
  <img
    src="https://mintcdn.com/relate-2lkj43/lU2syUdMTKCswUvv/images/ai-import/ai-import-ss/allimport.png?fit=max&auto=format&n=lU2syUdMTKCswUvv&q=85&s=8c4b49d5fdb143ce32a17f717b515c5a"
    alt="2"
    style={{
  display: "block",
  margin: "12px auto 0",
  boxShadow: "0 6px 18px rgba(0, 0, 0, 0.16)",
  borderRadius: "8px"
  }}
    width="2768"
    height="1474"
    data-path="images/ai-import/ai-import-ss/allimport.png"
  />

<div style={{ height: "2px" }} />

* `소스 파일`에 임포트 할 CSV/Excel 파일을 업로드합니다.

### Step 2. 임포트 옵션 선택

파일을 업로드한 후, 파일에서 연락처만 가져올지, 조직 정보까지 함께 가져올지 선택할 수 있습니다.
또한, 기존 데이터와 중복되는 항목에 대한 처리 방식을 설정합니다.

<img
  src="https://mintcdn.com/relate-2lkj43/lU2syUdMTKCswUvv/images/ai-import/ai-import-ss/options.png?fit=max&auto=format&n=lU2syUdMTKCswUvv&q=85&s=4f5a42a7949a5c2d0251a9a8c48411db"
  alt="duplicate"
  width="440"
  style={{
  display: "block",
  margin: "0 auto",
  boxShadow: "0 6px 18px rgba(0, 0, 0, 0.16)",
  borderRadius: "8px"
}}
  data-path="images/ai-import/ai-import-ss/options.png"
/>

* **`새 값으로 덮어쓰기`** : 기존 연락처/조직에 값이 있더라도, 새로 임포트한 파일의 값으로 모두 업데이트합니다.

* **`빈 필드만 채우기`** : 기존 값은 유지하고, 비어 있는 필드만 채웁니다.

임포트 목적에 따라 아래 케이스 중 선택해 주세요.

<Accordion title="케이스 1. Spread에 처음 데이터를 임포트하는 경우">
  **이런 경우에 해당해요.**

  * Spread를 처음 사용하며, 연락처/조직 데이터를 처음 가져오는 경우
  * 기존 데이터가 거의 없거나, 있어도 중요하지 않은 경우

  <div style={{ height: "2px" }} />

  **선택 옵션**\
  <div style={{ paddingLeft: "16px" }}>✅ `새 값으로 덮어쓰기`</div>
  <div style={{ paddingLeft: "16px" }}>✅ `빈 필드만 채우기`</div>

  <Note>
    초기 임포트의 경우, 두 옵션 중 어느 것을 선택해도 동일한 결과를 얻습니다.
  </Note>
</Accordion>

<Accordion title="케이스 2. 기존 데이터를 최신 정보로 정리하고 싶은 경우">
  **이런 경우에 해당해요.**

  * 이미 Spread에 연락처/조직 데이터가 있는 경우
  * 최신 CSV/엑셀 데이터, 외부 데이터를 기준으로 기존 값을 전반적으로 업데이트하고 싶은 경우

  <div style={{ height: "2px" }} />

  **선택 옵션**\
  ✅ `새 값으로 덮어쓰기`

  <Note>
    이 옵션을 선택하면, 기존 값이 있더라도 임포트한 파일의 값으로 모든 필드가 업데이트됩니다.
  </Note>
</Accordion>

<Accordion title="케이스 3. 기존 데이터는 유지하고, 비어있는 정보만 보완하고 싶은 경우">
  **이런 경우에 해당해요.**

  * 기존 데이터의 신뢰도가 높은 경우
  * 빈 칸만 채우거나, 새로 추가된 정보만 보완하고 싶은 경우
  * 새 데이터를 추가하면서 기존 데이터는 건드리고 싶지 않은 경우

  <div style={{ height: "2px" }} />

  **선택 옵션**\
  ✅ `빈 필드만 채우기`

  <Note>
    이 옵션을 선택하면, 기존 값은 그대로 유지하고 비어 있는 필드만 임포트 데이터로 채웁니다.
  </Note>
</Accordion>

중복 데이터 처리 옵션을 선택한 후 우측 상단의 `다음`를 클릭하면, Spread AI가 매핑을 시작합니다.

### Step 3. AI 자동 매핑 결과 확인

다음 화면에서 Spread AI가 컬럼의 의미를 해석해 자동으로 매핑한 결과를 보여줍니다.

<img
  src="https://mintcdn.com/relate-2lkj43/lU2syUdMTKCswUvv/images/ai-import/ai-import-ss/1.png?fit=max&auto=format&n=lU2syUdMTKCswUvv&q=85&s=f2763bc4fd5e153253ec7be1cf1ff32e"
  alt="1"
  style={{
  display: "block",
  margin: "12px auto 0",
  boxShadow: "0 6px 18px rgba(0, 0, 0, 0.16)",
  borderRadius: "8px"
}}
  width="3000"
  height="1425"
  data-path="images/ai-import/ai-import-ss/1.png"
/>

<Tip>
  <div style={{ display: "flex", flexDirection: "column", rowGap: "8px", margin: 0, padding: 0 }}>
    <p style={{ margin: 0, lineHeight: 1.35 }}>
      필드의 유형은 연락처(Contact) 필드와 조직(Organization) 필드 두 가지로 구분됩니다.
    </p>

    <div
      style={{
      display: "grid",
      gridTemplateColumns: "24px 1fr",
      alignItems: "center",
      columnGap: "8px",
      margin: 0,
      lineHeight: 1.35
    }}
    >
      <img src="https://mintcdn.com/relate-2lkj43/lU2syUdMTKCswUvv/images/ai-import/ai-import-ss/contact_icon.png?fit=max&auto=format&n=lU2syUdMTKCswUvv&q=85&s=c0e6c43ed111156fcb6dd57e9e83c8c6" alt="Contact Field" width="24" height="24" style={{ display: "block", margin: 0 }} data-path="images/ai-import/ai-import-ss/contact_icon.png" />

      <p style={{ margin: 0 }}>
        <span style={{ fontWeight: 700 }}>연락처 필드</span>로 선택된 컬럼은 연락처 데이터로 임포트됩니다.
      </p>
    </div>

    <div
      style={{
      display: "grid",
      gridTemplateColumns: "24px 1fr",
      alignItems: "center",
      columnGap: "8px",
      margin: 0,
      lineHeight: 1.35
    }}
    >
      <img src="https://mintcdn.com/relate-2lkj43/lU2syUdMTKCswUvv/images/ai-import/ai-import-ss/org_icon.png?fit=max&auto=format&n=lU2syUdMTKCswUvv&q=85&s=edaf62c80744228a1c429a7cb85d609c" alt="Organization Field" width="24" height="24" style={{ display: "block", margin: 0 }} data-path="images/ai-import/ai-import-ss/org_icon.png" />

      <p style={{ margin: 0 }}>
        <span style={{ fontWeight: 700 }}>조직 필드</span>로 선택된 컬럼은 조직 데이터로 임포트됩니다.
      </p>
    </div>
  </div>
</Tip>

<span id="column-mapping-change" style={{ scrollMarginTop: "120px" }} />

#### 컬럼 매핑 변경하기

* 각 컬럼에 매핑된 필드를 클릭하면, 선택 가능한 필드 목록이 표시됩니다.
  해당 목록에서 다른 필드를 선택해 컬럼 매핑을 자유롭게 변경할 수 있습니다.

* 매핑할 필드가 없는 경우, 우측 상단의 `커스텀 필드 추가`를 통해 새로운 필드를 생성해 바로 매핑할 수도 있습니다.

  <img src="https://mintcdn.com/relate-2lkj43/lU2syUdMTKCswUvv/images/ai-import/ai-import-ss/add-custom-field.png?fit=max&auto=format&n=lU2syUdMTKCswUvv&q=85&s=029a8b1026d741fef338718a2def03e6" alt="add custom field" width="320" style={{ display: "block", margin: "0 auto" }} data-path="images/ai-import/ai-import-ss/add-custom-field.png" />

### Step 4. 임포트 실행

* 매핑 결과를 확인한 후 우측 상단 `Import` 버튼을 클릭합니다.

* 임포트가 완료되면 결과 화면으로 이동합니다.

<br />

<br />

## 임포트 결과 확인하기

임포트가 완료되면, 결과 페이지에서 이번 임포트로 어떤 데이터가 **생성·업데이트·실패**했는지 한눈에 확인할 수 있습니다.

<img
  src="https://mintcdn.com/relate-2lkj43/lU2syUdMTKCswUvv/images/ai-import/ai-import-ss/import-result.png?fit=max&auto=format&n=lU2syUdMTKCswUvv&q=85&s=7d91186ea8a62b6f328881b8be17b998"
  alt="import-result"
  style={{
display: "block",
margin: "0 auto",
boxShadow: "0 6px 18px rgba(0, 0, 0, 0.16)",
borderRadius: "8px"
}}
  width="2386"
  height="254"
  data-path="images/ai-import/ai-import-ss/import-result.png"
/>

#### 연락처 임포트 결과

결과 페이지 상단 왼쪽에서 연락처 임포트 결과를 요약해서 보여줍니다.
임포트 과정에서 인식된 연락처 수, 새로 생성된 연락처 수, 기존 연락처 중 업데이트된 연락처 수, 임포트에 실패한 연락처의 수를 파악할 수 있습니다.

<span style={{ display: "block", height: "6px" }} />

#### 조직 임포트 결과

결과 페이지 상단의 우측에서는 조직 임포트 결과를 요약해서 보여줍니다.
임포트 과정에서 인식된 조직 수와 새로 생성된 조직 수를 파악할 수 있습니다.

<Note>
  **연락처 임포트 과정에서 파일에 조직 정보가 함께 포함된 경우**

  이미 존재하는 조직이 있는 경우 자동으로 매칭되며, 매칭할 대상이 없을 경우에만 새 조직이 생성됩니다.
</Note>

<span style={{ display: "block", height: "6px" }} />

#### 실패한 항목(Failed Records) 확인하기

임포트에 실패한 행이 있는 경우, 결과 페이지 하단의 Failed Records 섹션에서 실패 사유를 확인할 수 있습니다.

<img
  src="https://mintcdn.com/relate-2lkj43/lU2syUdMTKCswUvv/images/ai-import/ai-import-ss/failed.png?fit=max&auto=format&n=lU2syUdMTKCswUvv&q=85&s=f69192ce775b8946446019ec13beb8b9"
  alt="failed records"
  style={{
display: "block",
margin: "0 auto",
boxShadow: "0 6px 18px rgba(0, 0, 0, 0.16)",
borderRadius: "8px"
}}
  width="2240"
  height="450"
  data-path="images/ai-import/ai-import-ss/failed.png"
/>

각 실패 행에 대해 다음 정보가 표시됩니다.

* Row: 원본 파일에서의 행 번호

* Error: 임포트에 실패한 이유

* Data: 해당 행의 원본 데이터

대표적인 실패 사유는 다음과 같습니다.

⛔️ `Invalid email format` : 이메일 형식이 올바르지 않은 경우

⛔️ `Duplicate email in import`: 동일한 이메일이 임포트 파일 내에서 중복된 경우

⛔️ `Email or name is required`: Contact Email 또는 Contact name 둘 중 하나를 반드시 입력해야 하는데, 둘 다 유효하지 않은 경우

<span style={{ display: "block", height: "6px" }} />

#### 실패한 항목 다시 처리하기

Failed Records 섹션 우측의 `CSV 다운로드`를 클릭하면, 실패한 행만 포함된 CSV 파일을 다운로드할 수 있습니다.

해당 파일에서 오류를 수정한 후, 다시 임포트를 실행하여 누락된 데이터를 추가할 수 있습니다.

<br />

<br />

## 리스트에 바로 임포트하기

연락처와 조직 데이터를 임포트하면서 특정 리스트에 바로 추가하고 싶다면, 해당 리스트에서 CSV 임포트를 진행할 수 있습니다.

#### Step 1. 리스트 선택 또는 생성

기존에 존재하는 리스트를 선택하거나, 새로 생성합니다.

<img
  src="https://mintcdn.com/relate-2lkj43/lU2syUdMTKCswUvv/images/ai-import/ai-import-ss/makeprocess.png?fit=max&auto=format&n=lU2syUdMTKCswUvv&q=85&s=fdab73cd3e653d57e1cba3aaa72eb043"
  alt="make process"
  width="300"
  style={{
    boxShadow: "0 10px 28px rgba(0, 0, 0, 0.18)",
    borderRadius: "8px",
    display: "block",
    margin: "12px auto",
  }}
  data-path="images/ai-import/ai-import-ss/makeprocess.png"
/>

각 리스트는 Contact(연락처) 또는 Organization(조직) 중 하나의 **엔트리 타입**을 가지며, 임포트할 데이터 유형에 맞는 리스트를 선택합니다.

#### Step 2. CSV 임포트 선택

임포트하고자 하는 리스트 상단의 `+ 새 연락처` 혹은 `+ 새 조직` 버튼을 클릭합니다.

<img
  src="https://mintcdn.com/relate-2lkj43/lU2syUdMTKCswUvv/images/ai-import/ai-import-ss/csv.png?fit=max&auto=format&n=lU2syUdMTKCswUvv&q=85&s=0ae24ef2862feeeb2e830d8ce77680cb"
  alt="process import"
  width="360"
  style={{
    boxShadow: "0 8px 24px rgba(0, 0, 0, 0.12)",
    borderRadius: "8px",
    display: "block",
    margin: "12px auto",
  }}
  data-path="images/ai-import/ai-import-ss/csv.png"
/>

`CSV에서 가져오기`를 선택하면 임포트 화면으로 이동합니다.

#### Step 3. 임포트 진행

이후 과정은 앞서 안내한 임포트 방법과 동일하게 진행되며, 임포트가 완료되면 각 행이 하나의 엔트리로 생성되어 리스트에 바로 추가됩니다.

<br />

<br />

## 임포트 시 주의사항

* **AI 자동 매핑 결과 확인**: 임포트 실행 전 또는 결과 페이지에서 AI가 자동으로 매핑한 필드가 의도한 대로 반영되었는지 확인해 주세요.

* **소량 테스트 임포트 권장**: 처음 사용하는 경우에는 전체 데이터를 임포트하기 전에 소량의 데이터로 테스트 임포트를 진행해 보세요.

* **원본 파일 백업 권장**:  임포트 전에 원본 CSV/Excel 파일을 별도로 백업해 두시기를 권장합니다. 특히 덮어쓰기(Overwrite) 옵션을 사용하는 경우, 원본 데이터를 기준으로 다시 되돌릴 수 있도록 사전 백업이 중요합니다.

이 과정을 통해 데이터 손실을 예방하고, 이후 임포트를 더 안전하게 진행할 수 있습니다.

<br />

## 자주 묻는 질문 (FAQ)

<Accordion title=".CSV 파일을 임포트하는데 한글이 깨집니다. 어떻게 해결할 수 있나요?">
  파일을 열어 아래와 같은 방법으로 CSV가 아닌 XLSX로 저장 후 다시 임포트하시면 됩니다.

  **1. Microsoft Excel의 Data 탭에서 Get Data (Power Query) 클릭**

  <img src="https://mintcdn.com/relate-2lkj43/lU2syUdMTKCswUvv/images/ai-import/ai-import-ss/export1.png?fit=max&auto=format&n=lU2syUdMTKCswUvv&q=85&s=87dcbbda56f3398b6055448cc9dab7b1" alt="export1" width="360" data-path="images/ai-import/ai-import-ss/export1.png" />

  **2. Text/CSV 클릭 후 한글 깨짐 현상이 있는 파일 선택**

  <img src="https://mintcdn.com/relate-2lkj43/lU2syUdMTKCswUvv/images/ai-import/ai-import-ss/export2.png?fit=max&auto=format&n=lU2syUdMTKCswUvv&q=85&s=8a4845a783c1a0ac2d5ab90248302898" alt="export2" width="360" data-path="images/ai-import/ai-import-ss/export2.png" />

  **3. UTF8 선택 후 Loa**

  <img src="https://mintcdn.com/relate-2lkj43/lU2syUdMTKCswUvv/images/ai-import/ai-import-ss/export3.png?fit=max&auto=format&n=lU2syUdMTKCswUvv&q=85&s=ee5721ebeddc13d8cac869de244d8656" alt="export3" width="360" data-path="images/ai-import/ai-import-ss/export3.png" />
</Accordion>

<Accordion title="임포트에 주로 실패하는 이유가 무엇이고, 어떻게 해결할 수 있나요?">
  임포트에 실패하는 주요 이유에는 두 가지가 있습니다.

  1. **고유한 값을 가지는 필드가 중복**된 경우입니다. Spread에서는 Organization name, Contact email, Domain은 경우 서로 중복되는 값을 가질 수 없습니다.\
       예를 들어, 서로 다른 두 조직인 Spread(@example.so)와 Pixelic(@example.so)의 도메인이 같다면 중복 임포트 불가로 임포트에 실패하게 됩니다.
     특히, **도메인의 경우, 입력하지 않아도 이메일 기반으로 자동 생성**되기 때문에 주의가 필요합니다.

  <span style={{ display: "block", height: "6px" }} />

  2. **유효하지 않은 이메일을 임포트**한 경우입니다. 이메일에 @ 이외의 특수문자가 포함되었거나, 유효하지 않은 이메일 계정인 경우 등이 이에 해당합니다.(예: test@, abc.com)

  <span style={{ display: "block", height: "6px" }} />

  실패한 행은 결과 페이지의 Failed Records 섹션에서 확인할 수 있으며, 실패한 행만 포함된 CSV 파일을 다운로드해 수정 후 다시 임포트할 수 있습니다.
</Accordion>

<Accordion title="임포트에 성공했지만, 임포트 시도한 연락처 수와 실제 임포트된 연락처 수가 다르면 어떻게 하나요?">
  임포트는 정상적으로 완료되었지만, 임포트 시도한 연락처 수와 실제 임포트된 연락처 수가 다르다면, 스프레드 내 하나의 연락처가 여러 개의 이메일 주소를 갖고 있을 가능성이 있습니다.

  예를 들어 임포트 시도하는 시트에 다음과 같은 경우가 있을 때를 가정해봅시다.

  | 이름  | 이메일 주소                                      |
  | --- | ------------------------------------------- |
  | 김현준 | [arthur@spread.so](mailto:arthur@spread.so) |
  | 김현준 | [arthur@gmail.com](mailto:arthur@gmail.com) |

  만약 스프레드 워크스페이스에 위 두 칸이 동일 인물 `김현준`의 하나의 연락처로 임포트되었다면, 임포트 시도한 연락처 수와 실제 생성된 연락처 수는 다르게 나타날 수 있습니다.
  업무 이메일과 개인 이메일이 모두 임포트되었더라도, 실제 대상은 동일한 한 사람이기 때문에 스프레드에서는 **두 개의 이메일 주소가 한명의 개인으로 통합**되어 관리됩니다.

  **만약 두 이메일 주소를 전부 따로 관리하고 싶다면?**

  이런 경우, `arthur@spread.so`와 `arthur@gmail.com` 의 연락처를 합치지 않고 개별적으로 관리하시면 됩니다.
</Accordion>

<Accordion title="기존 임포트 방식과 어떤 차이가 있나요?">
  기존 임포트 방식에서는 임포트 이전에 수동으로 커스텀 필드를 생성해둔 후 CSV 구조에 맞춰 사용자가 직접 컬럼을 매핑하여 임포트를 해야 했습니다.

  이제는 파일을 업로드하면 **Spread AI가 컬럼의 의미를 자동으로 이해해 매핑하며, 사전에 별도의 필드 설정 없이도 임포트를 완료할 수 있습니다.**
</Accordion>

<Accordion title="연락처만 임포트했는데 조직도 함께 생성되었어요. 왜 그런가요?">
  임포트 파일에 조직/회사 정보가 포함된 경우, 조직을 자동으로 생성해 연락처와 연결합니다.
</Accordion>
