コンテンツへスキップ
すべての記事
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のログインとは完全に独立しており、ここで接続や切断をしても、システムへのサインイン方法には影響しません。

💡 アクセスを取り消すには、カード上の「切断」をクリックすると、保存されているトークンが削除されます。いつでも再接続できます。接続が期限切れになった場合(例:アカウントのパスワード変更後など)は「再接続」を使用してください。
: 登録するリダイレクト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では、アクセス許可に管理者の同意を付与する必要があります。
  • 接続が機能しなくなった場合(例:アカウントのパスワード変更後など):カードの「再接続」をクリックして同意をやり直し、トークンを更新してください。

この記事をシステム内で開く

読んだあとは、実際に動かしてみませんか。

アカウントは無料です。マニュアルはすべてシステム内でも参照でき、この内容をもとに回答するアシスタントも使えます。

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