---
title: Salesforce
description: Salesforceを接続して同期の動作を把握し、書き込まれるすべてのテーブルと列をクエリします。
species: reference
---
# Salesforce

Salesforce OAuth を使って Salesforce を接続します。このソースは、組織から検出したクエリ可能なすべてのオブジェクトを `titan.salesforce` に書き込みます。
## Salesforceを接続する

1. **アプリ**を開き、**アプリを接続**を選択してから、**Salesforce**を選択します。
2. Salesforce OAuth で認証します。
3. テーブルを確認してからソースを保存します。
4. 初回の実行が完了するまで**同期履歴**を確認します。

認証情報はシークレットとして保存されます。レイクの列になったり、クエリ結果に表示されたりすることはありません。

## 同期の動作

Salesforce では全件比較によってのみ削除を確実に検出できるため、レイクの照合ゲートを有効にするまでは、毎回すべてのデータを読み取ります。その後の実行では、利用可能なフィールドを SystemModstamp、LastModifiedDate、CreatedDate の優先順で使います。

新しいソースは接続時に同期し、その後はスケジュールに従います。デフォルトの繰り返し間隔は 4 時間です。実行が中断しても、完了した進捗を保持して安全に再試行します。

すべてのレイクのテーブルには[システム列](/docs/concepts/your-lake#システム列) `_synced_at` と `_deleted` もあります。以下の列リファレンスにはソースの列のみを記載しています。

## テーブルリファレンス

Supernova は接続したアカウントからこのリファレンスの情報を検出します。Salesforce の describe API からオブジェクトとフィールドを取得します。非推奨、非表示、クエリ不可のオブジェクトは除外します。

初回の検出が完了したら、**アプリ → Salesforce → テーブル**を開き、すべての正確なテーブル名、列名、型、同期対象を確認します。アカウントを接続するまでは、動的なフィールドを正確に一覧化できません。

## 削除と履歴

行はソースのキーでマージされます。ソース側で行の削除を確認できた場合、Supernova は行を残して `_deleted` を設定します。クエリで履歴を含めるかどうかを選べます。現在の状態だけを取得するには `where not _deleted` で絞り込んでください。
