コンテンツへスキップ
All articles
Integrations

Gmail / Outlook を接続(OAuth)してメールを同期する

組織自身のOAuthアプリを使い、OAuth経由でGoogle Workspace(Gmail)またはMicrosoft 365(Outlook)のアカウントを接続し、メールを連絡先のアクティビティとして自動的に記録します。

💡 古いメールが途中で切れて表示されていましたか? 接続後、カードの「全履歴を取得」をクリックすると、プレビューのみだった古いメッセージの全文を再取得します。繰り返しても安全です(すでに完全なものを短くすることはありません)。 メールの添付ファイルもダウンロードして保存します。

Google Workspace(Gmail)またはMicrosoft 365(Outlook)のメールボックスをCRMに接続できます。接続すると、CRMは最近のメールを読み取り、送信者または受信者が連絡先またはリード(メールアドレスで一致)に該当するメッセージごとに、そのレコードのタイムラインに「メール」アクティビティを記録します。

このモデルはBYO(「自分のものを持ち込む」)方式です。組織自身のOAuthアプリを使用します。当社が認証情報を見ることは一切なく、当社側でのコストも発生しません。連携は最初は無効な状態で始まり、OAuthアプリを設定してアカウントを接続するまで何も起こりません。

前提条件

  • Google Workspace(Gmail)またはMicrosoft 365(Outlook)のいずれかのアカウント。通常業務で使っているアカウントで問題ありません。
  • 組織内でOAuthアプリを作成する権限:Google Cloud Console(Gmail)またはAzureポータル / Microsoft Entra ID(Outlook)へのアクセス権。企業では通常、IT管理者の対応が必要です。
  • Sellioでは、管理者権限(設定を管理する権限)が「設定 → 連携」でアプリの認証情報を保存するために必要です。メールボックス自体の接続(手順3)は各ユーザーが自分のアカウントで行います。

手順1:組織のOAuthアプリを作成する

Google Workspace(Gmail):Google Cloud Consoleでプロジェクトを作成し、OAuth同意画面を設定し、Gmail APIを有効化して「OAuthクライアントID」認証情報(ウェブアプリケーション)を作成します。クライアントIDとクライアントシークレットをコピーします。

Microsoft 365(Outlook):Azureポータルで、Microsoft Entra ID → アプリの登録 → 新規登録に進みます。「証明書とシークレット」でクライアントシークレットを生成します。「APIのアクセス許可」で、委任されたアクセス許可としてMail.ReadとUser.Readを持つMicrosoft Graphを追加します。クライアントID(アプリケーションID)とクライアントシークレットをコピーします。

💡 どちらのプロバイダーでも、連携カードに表示されているリダイレクトURI(/api/oauth/google/callbackまたは/api/oauth/microsoft/callbackで終わるもの)を正確に登録してください。完全に一致していないと、プロバイダーが接続を拒否します。

手順2:CRMに認証情報を貼り付ける

  1. 「設定 → 連携」を開き、「Google Workspace(Gmail)」または「Microsoft 365(Outlook)」のカードを見つけます。
  2. 表示されているリダイレクトURIをコピーし、OAuthアプリ(手順1)に登録します。
  3. クライアントIDとクライアントシークレットを貼り付け、「アプリの認証情報を保存」をクリックします。クライアントシークレットは暗号化して保存され、二度と表示されません。

手順3:アカウントを接続する

  1. カード上で「接続」をクリックします。すでにログイン済みのアカウントで、プロバイダーの同意画面に移動します。
  2. メールの読み取りアクセスを許可します。CRMに戻ると、カードにアカウントのメールアドレスとともに「接続済み」と表示されます。
  3. 「メールを同期」をクリックすると、最近のメールを今すぐ取り込みます。CRMは、何件のメールを読み取り、何件のアクティビティを作成したかを表示します。

各ユーザーは自分自身のメールボックスを接続します。同期は接続した本人の文脈で実行されます。メールは、送信者または受信者が(メールフィールドで)既存の連絡先またはリードと一致した場合のみアクティビティになります。どのレコードとも一致しないメールは無視されます。

セキュリティとプライバシー

アクセストークンとリフレッシュトークンは暗号化して保存され、表示されることはありません。アクセストークンは、期限切れになると新たなログインなしで自動的に更新されます。メール連携はCRMのログインとは完全に独立しており、ここで接続や切断をしても、システムへのサインイン方法には影響しません。

💡 アクセスを取り消すには、カード上の「切断」をクリックすると、保存されているトークンが削除されます。いつでも再接続できます。接続が期限切れになった場合(例:アカウントのパスワード変更後など)は「再接続」を使用してください。
Example: 登録するリダイレクトURI:https://app.yourcompany.com/api/oauth/google/callback(Google)または https://app.yourcompany.com/api/oauth/microsoft/callback(Microsoft)。

テスト方法

  1. 接続後(手順3)、カードに正しいアドレスとともに「接続済み」と表示されていることを確認します。
  2. 「メールを同期」をクリックします。CRMは、何件のメールを読み取り、何件のアクティビティを作成したかを表示します。
  3. 最近メールをやり取りしたことがわかっている連絡先またはリードを開き、タイムラインを確認します。「メール」タイプのアクティビティが表示されているはずです。

トラブルシューティング

  • 「redirect_uri_mismatch」エラーが出る、またはプロバイダーが接続を拒否する場合:OAuthアプリに登録したリダイレクトURIが、カードに表示されているものと異なっています。カードの値を再度コピーし、まったく同じもの(同じドメイン、同じ末尾のスラッシュ)を貼り付けてください。
  • 接続時に401/invalid_clientが発生する場合:クライアントIDまたはクライアントシークレットが間違っています。カードで認証情報を入力し直してください(シークレットはサーバーから再表示されないため、全文を貼り直す必要があります)。
  • 接続はできるがアクティビティが作成されない場合:メールは、送信者/受信者がメールフィールドで連絡先またはリードと一致した場合のみアクティビティになります。一致しないメールは無視されるため、レコードにメールアドレスを追加してください。
  • 「アクセスが拒否されました」/同意画面がブロックされる場合:Googleでは、OAuth同意画面を公開する(またはユーザーをテスターとして追加する)必要があります。Azureでは、アクセス許可に管理者の同意を付与する必要があります。
  • 接続が機能しなくなった場合(例:アカウントのパスワード変更後など):カードの「再接続」をクリックして同意をやり直し、トークンを更新してください。

Open this article inside the system

Read it and want to see it working?

The account is free and the whole manual is available inside the system, with an assistant that answers from this very content.

無料アカウントを作成
Gmail / Outlook を接続(OAuth)してメールを同期する · Sellio