Salesforce Email Sync: 개발자 및 관리자용 기술 가이드

발행: (2026년 3월 13일 오후 01:06 GMT+9)
16 분 소요
원문: Dev.to

Source: Dev.to

위에 제공된 내용만으로는 번역할 텍스트가 없습니다. 번역을 원하는 전체 텍스트를 제공해 주시면 한국어로 번역해 드리겠습니다.

Salesforce 이메일 동기화 개요

Salesforce Email Sync는 겉보기에는 간단해 보이지만, 경험 많은 관리자라도 어려움을 겪을 수 있는 충분한 기술적 깊이를 가지고 있습니다. 이메일 활동 동기화가 내부적으로 어떻게 작동하는지 이해하면 디버깅에 소요되는 시간을 크게 절감하고 사용자 불만을 줄일 수 있습니다.

Salesforce 이메일 동기화란?

Salesforce Email Sync는 외부 메일 클라이언트(Gmail, Outlook 등)에서 이메일 활동을 캡처하여 Salesforce CRM 내부의 활동 레코드로 저장합니다. 영업 담당자가 매번 이메일을 수동으로 기록할 필요 없이, 동기화가 메일 클라이언트와 CRM 사이에 일방향 또는 양방향 브리지를 생성합니다.

  • 데이터 모델 – 동기화된 이메일은 EmailMessage 또는 Task 레코드로 저장됩니다(구성에 따라 다름).
  • 연관 – 레코드는 이메일 주소 매칭을 통해 일치하는 Contact, Lead, Account, Opportunity 또는 사용자 정의 객체와 연결됩니다.

주요 프레임워크

FrameworkDescription
Einstein Activity Capture (EAC)네이티브 클라우드 기반 동기화 엔진으로 백그라운드에서 실행됩니다.
Salesforce InboxEAC 위에 구축된 기능이 풍부한 레이어(생산성 도구, 오픈 트래킹 등 추가).
Email‑to‑Salesforce (BCC)BCC 주소를 사용하는 오래된 간단한 방식; 자동화 수준이 낮음.

Tip: 사용 중인 프레임워크는 조직의 에디션 및 요구 사항에 따라 달라집니다. 하나, 두 개, 혹은 모두 사용할 수 있습니다.

Source:

Salesforce 이메일 동기화 작동 방식

데이터 흐름 아키텍처

Mail Client (Gmail / Outlook)


OAuth 2.0 Authentication


Salesforce Sync Service (Einstein Activity Capture)


Email Matching Engine (by email address)


Activity Records in Salesforce (EmailMessage / Task)


Associated to: Contact, Lead, Account, Opportunity
  1. 사용자가 Gmail 또는 Outlook 계정을 연결합니다.
  2. Salesforce는 메일 메타데이터와 내용을 읽기 위한 OAuth 2.0 범위를 요청합니다.
  3. EAC는 새 활동을 폴링하거나 수신하여 일치하는 레코드를 조직에 푸시합니다.

이메일 주소 매칭

  • Salesforce는 ContactLead 객체의 Email 필드를 사용해 들어오고 나가는 이메일을 CRM 레코드와 매칭합니다.
  • 스레드에 있는 주소가 어떤 레코드와도 일치하지 않을 경우, 이메일은 여전히 동기화되지만 자동으로 연관되지 않으며 연결된 사용자의 활동 타임라인에만 표시됩니다.

예시: EAC를 통해 동기화된 EmailMessage 레코드 조회

List<EmailMessage> syncedEmails = [
    SELECT Id, Subject, FromAddress, ToAddress, ActivityId, RelatedToId
    FROM EmailMessage
    WHERE CreatedDate = LAST_N_DAYS:7
      AND Incoming = true
    LIMIT 50
];

for (EmailMessage em : syncedEmails) {
    System.debug('From: ' + em.FromAddress + ' | Related To: ' + em.RelatedToId);
}
  • 일치하는 레코드가 없을 경우 RelatedToIdnull이 되며, 이는 매칭되지 않은 동기화 레코드를 진단할 때 유용합니다.

지원 플랫폼 및 동기화 방법

PlatformSync MethodNotes
GmailOAuth 2.0 via Google APIGoogle Workspace 필요
Outlook / Microsoft 365OAuth 2.0 via Microsoft Graph APIExchange Online과 작동
Outlook on‑premise (Exchange)EWS (Exchange Web Services)지원이 제한적이며, 버전 호환성을 확인하세요
Apple MailNot natively supportedBCC to Salesforce를 우회 방법으로 사용

주요 기능 및 역량

기능설명
자동 로깅사용자 조작 없이 이메일이 자동으로 기록됩니다 (EAC가 백그라운드에서 실행됩니다).
별도 데이터 저장소EAC는 이메일 데이터를 표준 Salesforce 저장소 외부에 저장합니다 → SOQL 쿼리 및 데이터 보존 정책에 영향을 줍니다.
열람 및 링크 클릭 추적Salesforce Inbox가 활성화된 경우 사용 가능합니다.
회신 감지이메일 회신을 인식하고 원본 활동과 연결합니다.
캘린더 이벤트 동기화회의 및 초대가 Event 레코드로 동기화됩니다.
양방향 연락처 동기화Gmail/Outlook에서 새 연락처가 생성되면 Salesforce와 양방향으로 동기화될 수 있으며, 반대 방향도 가능합니다 (구성 가능).
양방향 이벤트 동기화캘린더 이벤트가 양방향으로 동기화됩니다 (구성 가능).

Note: 이메일 로깅만 필요하고 연락처 또는 캘린더 동기화가 필요 없는 경우, 연락처 또는 캘린더 동기화 없이 이메일 동기화를 활성화할 수 있습니다.

문제 해결 팁

  1. Unmatched Emails – 이메일 주소가 연락처/리드 레코드에 존재하는지 확인합니다(보조 이메일 필드 포함).
  2. Data Visibility – EAC가 데이터를 별도 저장소에 보관하기 때문에 EmailMessage 레코드는 조직의 데이터 저장 한도에 포함되지 않을 수 있지만, 표준 글로벌 검색으로는 검색할 수 없습니다. Einstein Activity Capture 보고서 또는 SOQL에서 Email Message 객체를 사용하십시오.
  3. Sync Latency – 일반적인 동기화 간격은 몇 분이며, 메일 양이 많을 경우 약간의 지연이 발생할 수 있습니다.
  4. OAuth Scopes – 연결된 앱에 올바른 스코프가 설정되어 있는지 확인합니다(예: mail.read, mail.send). 사용자가 이메일이 누락되었다고 보고하면 재인증하십시오.
  5. Version Compatibility – 온프레미스 Exchange의 경우, EWS 엔드포인트가 현재 Salesforce 버전에서 지원되는지 확인하십시오.

빠른 참조 코드 스니펫

// Find EmailMessages without a related record (unmatched)
List<EmailMessage> unmatched = [
    SELECT Id, Subject, FromAddress, ToAddress, CreatedDate
    FROM EmailMessage
    WHERE RelatedToId = null
      AND CreatedDate = LAST_N_DAYS:30
];

System.debug('Unmatched email count: ' + unmatched.size());

이 쿼리를 사용하여 수동 연결이 필요한 이메일을 찾아내거나 연락처 데이터의 누락을 식별할 수 있습니다.

핵심 요점: Salesforce 이메일 동기화의 메커니즘—특히 매칭 엔진과 저장 모델—을 마스터하면 지원 티켓이 크게 감소하고 영업 및 지원 팀이 로그 기록이 아니라 판매에 집중할 수 있습니다.

Salesforce 이메일 동기화의 이점

From a technical standpoint, the benefits translate to cleaner data architecture:

  • 활동 레코드의 null 필드 감소 – 자동 동기화가 일관된 데이터 캡처를 강제합니다.
  • 리드 및 연락처의 정확한 LastActivityDate – 자동화 프로세스(리드 노후화, 재참여 워크플로)를 최신 상태로 유지합니다.
  • 자동화를 위한 더 나은 신호 – 신뢰할 수 있는 이메일 활동 데이터가 Process Builder와 Flow의 신뢰성을 향상시킵니다.
  • 보고 정확도 – 이메일 참여 지표가 수동 입력 데이터가 아닌 실제 행동을 반영합니다.

Source:

Salesforce 이메일 동기화 설정 방법

사전 요구 사항

  • Einstein Activity Capture(EAC)가 포함된 Salesforce 에디션 (Sales Cloud, 일부 Professional 및 그 이상 에디션)
  • Google Workspace 또는 Microsoft 365 관리 센터에 구성된 연결 앱
  • Salesforce 관리자 권한

1단계 – Einstein Activity Capture 활성화

  1. 이동: Setup → Einstein Activity Capture → Settings → Enable Einstein Activity Capture
  2. 이메일 제공업체(Google 또는 Microsoft)를 선택하고 OAuth 구성 단계를 진행합니다.
  3. 메일 제공업체 관리 콘솔에 Salesforce를 승인된 애플리케이션으로 등록합니다.

2단계 – 동기화 설정 구성

Setup → Einstein Activity Capture → Settings → Configuration

설정옵션 / 비고
동기화 방향일방향(메일 → Salesforce) 또는 양방향
제외할 이메일 주소내부 도메인을 추가하여 내부 이메일이 동기화되지 않도록 합니다(데이터 정합성에 중요)
사용 가능 대상프로필 또는 권한 세트를 통해 할당

팁: Apex 또는 REST API를 통해 EAC가 활성화되었는지 확인하고, ConnectedApplication 또는 OAuthToken으로 연결된 사용자를 점검합니다.

3단계 – 사용자 할당

각 사용자는 자신의 이메일 계정을 연결해야 합니다: User Settings → Einstein Activity Capture → Connect Account

이 작업은 사용자별로 진행되어야 하며, OAuth 요구사항 때문에 관리자가 사용자를 대신해 계정을 연결할 수 없습니다.

4단계 – 공유 설정 구성

EAC 이메일은 기본적으로 비공개입니다. 관리자는 매니저와 팀원이 적절한 활동을 볼 수 있도록 공유 옵션을 조정합니다:

Setup → Einstein Activity Capture → Settings → Sharing

옵션:

  • 비공개
  • 내부 전용
  • 모두 보기

일반적인 문제 및 문제 해결

동기화 지연

EAC는 실시간이 아닙니다. 일반적인 지연 시간은 2–10 분이며, 부하가 걸릴 경우 더 길어질 수 있습니다. 사용자가 이메일이 누락되었다고 보고하면 다음을 확인하십시오:

  1. 사용자의 계정이 여전히 연결되어 있나요? (OAuth 토큰이 만료되었거나 취소될 수 있습니다)
  2. 이메일 주소가 Salesforce 레코드와 일치하나요?
  3. 이메일이 제외 규칙에 의해 필터링되고 있나요?

EAC 데이터에 대한 SOQL 제한

EAC는 이메일을 외부 데이터 저장소에 저장하며, 표준 Salesforce 객체에 저장되지 않습니다. 따라서:

// This will NOT return EAC‑synced emails in many configurations
// Use ActivityHistory or the UI timeline to verify synced data
  • 표준 SOQL로 EAC 데이터 저장소에 직접 쿼리할 수 없습니다.
  • 프로그래밍 방식 접근을 위해 Einstein Activity Capture REST API를 사용하십시오.

권한 문제

일반적인 권한 오류는 Einstein Activity Capture 사용자 권한이 없거나 프로파일/권한 세트 할당이 잘못된 경우에 발생합니다.

데이터 프라이버시 고려 사항

EAC는 메타데이터만이 아니라 이메일 내용을 동기화하므로 GDPR, CCPA 등 규정을 유념해야 합니다:

  • 동기화 설정에서 개인 이메일 도메인을 제외하십시오.
  • 데이터 보존 정책을 정의하십시오 (EAC는 기본적으로 24 개월 동안 데이터를 보관합니다).
  • 규제 산업에 대한 Salesforce 데이터 처리 계약을 검토하십시오.

Best Practices for Salesforce Email Sync

  1. Configure exclusion lists before go‑live (internal addresses, HR, legal domains).
  2. Use permission sets (not profiles) to manage EAC access for granular rollout control.
  3. Monitor OAuth token health programmatically or via Salesforce Health Check—expired tokens are the top cause of sync outages.
  4. Start with one‑way sync; enable bi‑directional only after validating data quality.
  5. Document matching logic—know which objects/fields EAC uses to associate emails. Custom email fields may need supplemental automation.
  6. Test in a sandbox first; EAC can be enabled with test Google or Microsoft accounts. Validate exclusion rules and sharing settings before production.
  7. Plan for EAC’s storage model—standard data export/backup tools don’t capture EAC data. Include this in your data‑governance documentation.

결론

올바르게 구성하면 Salesforce Email Sync (Einstein Activity Capture)는 CRM 데이터를 최신 상태로 유지하는 데 마찰이 적은 방법을 제공합니다.
초기에 정확히 설정해야 할 핵심 요소는 다음과 같습니다:

  • Exclusion rules
  • Sharing settings
  • EAC 외부 데이터 모델에 대한 이해

이들을 확정하면 나머지 구현이 간단해집니다.

이메일 볼륨이 많거나, 커스텀 객체 연관이 필요하거나, 고급 전달성 요구가 있는 조직은 기본 EAC를 확장하거나 대체하는 전용 Salesforce 이메일 도구를 평가해 보세요.

0 조회
Back to Blog

관련 글

더 보기 »

트라비고

Gemini와 함께 말하는 속도만큼 빠르게 여행하세요! 라이브 에이전트가 몰입형 스토리텔링 및 3D 내비게이션과 만나는 곳. 이 프로젝트는 Gemini Live Ag...에 진입하기 위해 만들어졌습니다.