Intercomをデータパイプラインソースとして設定
Intercomをデータパイプラインソースとして設定し、顧客エンゲージメント、会話、ヘルプセンターのレコードを抽出して宛先に同期します。 このガイドを使用して、コネクションの設定、パイプラインの設定、オブジェクトの追加、同期動作の確認、および既知の制限事項の理解を行います。
コネクターはIntercom REST APIバージョン2.15を対象とし、認証にOAuth 2.0を使用します。
サポートされている機能
Intercomをパイプラインソースとして使用する場合、次の機能がサポートされます。
- クラウド接続: コネクションの作成時に指定するAPIベースURLを使用して、HTTPS経由でIntercomに接続します。 オンプレミスエージェントは不要です。
- OAuth 2.0認証: IntercomのOAuth 2.0フローを通じてコネクションを認可します。 詳細については、サポートされているコネクションタイプを参照してください。
- 複数の同期モード: 増分同期とフルリフレッシュをサポートします。 詳細については、同期モードを参照してください。
- オブジェクトレベルの選択: 宛先で個別のテーブルとして同期するIntercomオブジェクトを選択します。 完全なリストについては、サポートされているオブジェクトを参照してください。
- スキーマドリフトの検出と処理: 新しいフィールドを自動同期でスキーマの変更を自動的に検出して適用するか、新しいフィールドをブロックでスキーマを固定します。
- フィールドレベルのデータ保護: 機密フィールドをそのままレプリケートするか、宛先に到達する前にハッシュ化します。
- 設定可能な同時実行: パイプラインがIntercomに対して実行する同時API操作数に上限を設定します。
- 構成可能な同期頻度: 時間ベースの間隔またはcron式を使用して同期をスケジュールします。 サポートされる最小間隔は15分です。
前提条件
Intercomをデータパイプラインソースとして接続する前に、次の前提条件を満たしてください。
- 有効なIntercomワークスペースが必要です。
- Intercomワークスペースでアプリを認可する権限が必要です。
- データパイプライン機能が有効になっているWorkatoワークスペースが必要です。
必要なOAuth権限
コネクターは、OAuth 2.0コネクション用にIntercomのDeveloper Hubで次の読み取り権限を要求します。 同期する予定のオブジェクトに適用されるすべての権限を付与します。
| OAuth権限 | この権限の対象オブジェクト |
|---|---|
| ユーザーと会社の読み取りおよび一覧表示 | contacts, contact_company, contact_tag, companies, company_tag, segments, tags, subscription_types |
| 会話の読み取り | conversations, conversation_parts, conversation_tag, email_address_header |
| チケットの読み取り | tickets, ticket_types |
| 管理者の読み取り | admins, teams, team_admin |
| 管理者アクティビティログの読み取り | activity_logs |
| 記事の読み取りおよび一覧表示 | articles, collections, help_centers |
data_attributesには個別のスコープは必要ありません。 data_attributesの完全なコンテンツを同期するには、連絡先モデルと会社モデルを対象とするユーザーと会社の読み取りおよび一覧表示と、会話モデルを対象とする会話の読み取りの両方を付与します。
サポートされるコネクションタイプ
Intercomソースコネクターは、認証にOAuth 2.0(認可コードグラント) を使用します。 WorkatoはIntercomにリダイレクトしてコネクションを認可し、Intercomは長期間有効なベアラートークンを返します。 Intercom OAuthトークンは期限切れにならず、更新されません。 アプリがアンインストールされた、または権限が変更されたためにトークンが無効になった場合は、コネクションを再認可する必要があります。
Intercomに接続
Intercomをデータパイプラインソースとして接続するには、次の手順を実行します。 このコネクションにより、パイプラインはIntercomインスタンスからレコードを抽出して同期できます。
Intercomに接続
作成 > コネクションを選択するか、Cを2回押します。
新しいコネクションページでIntercomを検索し、アプリとして選択します。
コネクション名フィールドにコネクションの名前を入力します。
Intercomコネクションを設定
ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。
リージョンドロップダウンメニューを使用して、Intercomワークスペースがホストされているリージョンの場所を選択します。 US、EU、またはAUを選択します。 コネクターのデフォルトはUSです。
任意です。 Custom OAuth profileドロップダウンメニューを使用して、コネクション用のCustom OAuth profileを選択します。
接続をクリックして、WorkatoとIntercomアカウント間のコネクションを認可します。 Intercomから、サインインして要求されたスコープを承認するよう求められます。
Intercomコネクションを認可
パイプラインの設定
Intercomをデータパイプラインソースとして設定するには、次の手順を実行します。
作成 > データパイプラインを選択するか、C+Iを押します。
データパイプライン名フィールドにデータパイプラインの名前を入力します。
データパイプライン設定
ロケーションドロップダウンメニューを使用して、データパイプラインを保存するプロジェクトを選択します。
ビルドを開始をクリックします。
ソースアプリから新規/更新済みレコードを抽出トリガーをクリックします。 このトリガーは、パイプラインがソースアプリケーションからデータを取得する方法を定義します。
ソースアプリから新規/更新済みレコードを抽出トリガーを設定
接続済みソースアプリドロップダウンメニューを使用して、Intercomを選択します。
このパイプラインに使用するIntercomコネクションを選択します。 または、+ 新規コネクションをクリックして新しいコネクションを作成します。
オブジェクトを追加をクリックして、新しいオブジェクトを追加パネルを開きます。
オブジェクトを追加
使用可能なIntercomオブジェクトのリストを検索または参照し、同期する予定のオブジェクトを選択して、追加をクリックします。
選択した各オブジェクトのスキーマを確認してカスタマイズします。 オブジェクトを選択すると、パイプラインはそのスキーマを自動的に取得し、宛先がソースと一致するようにします。
スキーマを確認
任意のオブジェクトを展開して、そのフィールドを表示します。 使用可能なすべてのデータを抽出するにはすべてのフィールドを選択したままにし、データ抽出とスキーマレプリケーションから除外するには特定のフィールドの選択を解除します。
任意です。 オブジェクトを展開し、各フィールドの処理方法を選択して、フィールドレベルのデータ保護を設定します。
- そのまま複製: ソースのデータ値が宛先に同一に複製されます。
- ハッシュ: 宛先に同期する前に、フィールド内の機密データ値をハッシュ化します。
機密性の高いメッセージフィールドをハッシュ化
ConversationsとConversation Partsのメッセージ本文フィールドには、顧客がサポート会話で共有する個人を特定できる情報が含まれる場合があります。 宛先でメッセージコンテンツをプレーンテキストで必要としない場合は、これらのフィールドにハッシュオプションを適用します。
さらにオブジェクトを追加するには、もう一度オブジェクトを追加をクリックします。 この手順を繰り返して、追加のIntercomオブジェクトをパイプラインに含めます。
スキーマ変更の処理方法を選択ドロップダウンメニューを使用して、スキーマドリフトの処理オプションを選択します。
- 新しいフィールドを自動同期: ソースに追加された新しいフィールドを自動的に検出して同期します。
- 新しいフィールドをブロック: パイプラインの開始後、スキーマを固定します。 新しいフィールドは手動で追加する必要があります。
任意です。 同時実行制限フィールドに値を入力して、パイプラインがIntercomに対して実行する同時操作数に上限を設定します。 制限しない場合は、このフィールドを空白のままにします。
頻度フィールドで、パイプラインがソースから宛先にデータを同期する頻度を設定します。 標準の時間ベースのスケジュールを選択するか、カスタムcron式を定義します。
サポートされるオブジェクト
Intercomソースコネクターは、次のオブジェクトをサポートしています。 各オブジェクトの同期モードは、Intercom APIが増分更新メカニズムを公開しているかどうかによって異なります。 初回開始時に、このパイプラインでレコードを取得する開始日時フィールドは、APIレベルのフィルターをサポートするオブジェクトにのみ適用されます。
コアオブジェクト
| オブジェクト | 同期モード | 履歴開始日 | メモ |
|---|---|---|---|
contacts | 増分 | サポート対象 | userとleadの両方のロールを含みます。 完全なリレーションシップにはcontact_companyとcontact_tagを使用します。 |
companies | 完全更新 | 該当なし | なし |
conversations | 増分 | サポート対象 | パーツは個別に取得されます。 エンドユーザーからの返信がないアウトバウンドメッセージは除外されます。 |
conversation_parts | 増分 | 親から継承 | 会話ごとに最大500パーツ。 |
admins | 完全更新 | 該当なし | なし |
tags | 完全更新 | 該当なし | なし |
teams | 完全更新 | 該当なし | なし |
segments | 完全更新 | 該当なし | ユーザーセグメントと会社セグメントを含みます。 typeフィールドでフィルターします。 |
data_attributes | 完全更新 | 該当なし | 連絡先、会社、会話モデルのメタデータ。 |
拡張スコープオブジェクト
| オブジェクト | 同期モード | 履歴開始日 | メモ |
|---|---|---|---|
tickets | 増分 | サポート対象 | Conversationsとは異なります。 カスタムフィールドはticket_attributes内にあります。 |
ticket_types | 完全更新 | 該当なし | ワークスペースチケットタイプ設定。 |
articles | 完全更新 | 該当なし | ヘルプセンター記事。 |
collections | 完全更新 | 該当なし | ヘルプセンターコレクション。 |
help_centers | 完全更新 | 該当なし | ヘルプセンター設定。 |
subscription_types | 完全更新 | 該当なし | メール購読設定。 |
activity_logs | 増分 | サポート対象 | 管理者アクションの追記専用監査ログ。 |
結合テーブルと子テーブル
次のテーブルは、親レコード上の配列またはネストされたオブジェクトから派生します。 これらには独立したIntercom APIエンドポイントがなく、親の抽出の一部として同期されます。
| オブジェクト | 親オブジェクト | メモ |
|---|---|---|
contact_company | contacts | Intercomでは、埋め込み会社リストは連絡先ごとに10件までに制限されています。 |
contact_tag | contacts | Intercomでは、埋め込みタグリストは連絡先ごとに10件までに制限されています。 |
company_tag | companies | 各会社のタグリストから派生します。 |
conversation_tag | conversations | 各会話のタグリストから派生します。 |
team_admin | teams | 各チームのadmin_ids配列から派生します。 |
email_address_header | conversation_parts | conversation_id + conversation_part_id + ヘッダーインデックスでキー付けされます。 |
同期モード
Intercomソースコネクターは、一部のオブジェクトでは増分同期をサポートし、その他のオブジェクトではフルリフレッシュをサポートします。 各オブジェクトの同期モードは、前回の実行以降に変更されたレコードのみを取得する方法をIntercomのAPIが公開しているかどうかによって異なります。
増分同期
サポートされているオブジェクトでは、コネクターは前回の正常実行以降に作成または更新されたレコードのみを取得します。 Workatoは、オブジェクトの主キーによって宛先のレコードを重複排除します。 初回開始時に、このパイプラインでレコードを取得する開始日時フィールドは、初回実行の開始点を設定します。
増分同期をサポートするオブジェクトのリストについては、サポートされているオブジェクトを参照してください。
完全更新
増分同期をサポートしていないオブジェクトの場合、コネクターは実行のたびにすべてのレコードを再同期します。 初回開始時に、このパイプラインでレコードを取得する開始日時フィールドは、フルリフレッシュオブジェクトには適用されません。
削除追跡
コネクターは削除を追跡しません。 Intercomで削除されたレコードは、フルリフレッシュスケジュールのオブジェクトで次回のフルリフレッシュが行われるまで宛先に残ります。 増分同期オブジェクトから削除されたレコードは、宛先に無期限に残ります。
スキーマとデータ型の処理
このセクションでは、コネクターがIntercomのデータ型、カスタムフィールド、ネストされたオブジェクトを宛先でどのように表現するかについて説明します。 これを使用して宛先スキーマを計画し、コネクターがどのフィールドを保持、JSONとしてシリアル化、または省略するかを理解します。
タイムスタンプ
IntercomはタイムスタンプをUnixエポック整数(1970-01-01からの秒数)として返します。 コネクターは、これらを宛先で整数として保持します。
カスタム属性
Contacts、Companies、Conversationsは、ユーザー定義のカスタム属性をサポートします。 Intercomは、これらを各オブジェクトのcustom_attributesキー値マップに保存します。 コネクターは、custom_attributesを宛先の単一のJSON文字列列として保存します。 コネクターは、個々のカスタム属性キーを名前付き列に展開しません。これは、Intercomで新しい属性が追加されるたびにスキーマドリフトが発生するためです。
同じ原則に基づき、Ticketsのカスタムフィールドはticket_attributesにJSON文字列列として保存されます。
data_attributesオブジェクトを使用して、ワークスペースに設定されている完全なカスタム属性スキーマを検出します。 コネクターは、連絡先、会社、会話モデルのdata_attributesを取得します。
ネストされたオブジェクト
一部のネストされたリレーションシップは、個別の結合テーブルまたは子テーブルとして出力されます。 リストについては、結合テーブルと子テーブルセクションを参照してください。
親レコード上のその他のネストされたオブジェクトは、JSON文字列列としてシリアル化されます。 例:
- 連絡先:
location,social_profiles,avatar - 会話:
source,first_contact_reply,sla_applied,statistics,conversation_rating,ai_agent,linked_objects - 会社:
plan
購読タイプの翻訳
各subscription_typesレコードには、購読のデフォルト言語の名前と説明を記述するdefault_translationオブジェクトがあります。 コネクターはdefault_translationをJSON文字列列として保存し、直接クエリできるようにnameとdescriptionの値も個別のトップレベル列として公開します。
添付ファイル
会話パーツとメッセージには、ファイル添付が含まれる場合があります。 添付ファイルはサポートされていません。 コネクターは、添付ファイルのバイナリデータや添付ファイルURLを同期しません。
スキーマドリフト
スキーマドリフト処理オプションで新しいフィールドを自動同期を選択すると、コネクターはIntercomによってAPIバージョンのアップグレードで追加された新しい標準フィールドを自動的に取得します。 新しいフィールドをブロックを選択すると、パイプラインの開始後にスキーマが固定されるため、新しいフィールドを手動で追加する必要があります。
個人を特定できる情報
複数のIntercomオブジェクトには、個人を特定できる情報が含まれます。 宛先でプレーンテキストとして必要としないフィールドには、ハッシュフィールドレベルデータ保護オプションを適用します。 次の表は、オブジェクト別に機密フィールドを示しています。
| オブジェクト | 機密フィールド |
|---|---|
contacts | name, email, phone, external_id, location(市区町村、国、地域、郵便番号), last_seen_ip, avatar.image_url, custom_attributes |
companies | name, company_id, custom_attributes |
conversations | source.body(メッセージコンテンツ), source.author, conversation_rating.remark |
conversation_parts | body(メッセージコンテンツ), author |
admins | name, email, avatar |
tickets | ticket_attributes |
activity_logs | performed_by, metadata |
GDPRとデータレジデンシー
GDPRまたはAustralian Privacy Actの下で運用するお客様は、IntercomワークスペースをEUまたはAUリージョンでホストし、コネクションの作成時に一致するリージョンを選択する必要があります。 宛先でプレーンテキストとして必要としない場合は、Contactフィールドとmessage bodyフィールドにハッシュオプションを適用します。
最終更新日: