できること 無料トライアルを相談する
開発例 No.51

Salesforceで電子契約の送付・締結状況を契約に戻す連携

電子契約サービスで契約書を送ったあと、送付済みか締結済みかを Salesforce に手で書き写していることがあります。このページでは、締結の状況を Salesforce に戻す方法の選び方と、一般的な進め方をまとめます。

執筆 徳 雅俊(Salesforce 認定アドミニストレーター/Platform デベロッパー)・2026.10.23 公開

このページは、ご依頼いただける開発の例の解説です。実際の導入事例ではありません。機能の説明は、末尾の Salesforce 公式の資料で確かめた内容です。

この内容で相談する

こんなことで困っていませんか

  • 電子契約サービスで契約書を送ったあと、送付の状況を契約レコードに手で入力している。[4][1]
  • 締結が済んだのに、Salesforce の契約状況が古いままになっている。[4][2]
  • 締結済みの契約書を電子契約サービスから取り出し、Salesforce に添付し直している。[1][5]
  • いつ、誰が状況を変えたのかを、Salesforce 上でさかのぼって確かめられない。[16]

なぜ起きるのか

電子契約サービスと Salesforce は別のシステムです。相手のサービスで署名が進んでも、つなぐ設定がなければ Salesforce の項目は変わりません。[6][11]

  • 標準の契約オブジェクトの [契約状況] には、標準では [ドラフト]、[承認プロセス中]、[有効] の 3 つの値しかありません。送付や署名の状況を残すには、選択リスト値か項目を用意します。[4]
  • Salesforce から外部のサービスに問い合わせるには、接続先と認証の設定が要ります。Salesforce では、これを指定ログイン情報で定義します。[10][6]
  • 外部のサービスから Salesforce に書き込むには、Salesforce の API を呼び出すための認証と、連携を実行するユーザーが要ります。[11][13]

直し方の選択肢

状況を Salesforce に戻す方法は、大きく三つに分かれます。相手のサービスの API で何ができるかを見て選びます。[5][6][11]

  • 既製の仕組みを使う:Salesforce Contracts は DocuSign と統合されています。[エンベロープ状況の更新] で照会し、契約を [署名済み] などに移します。ほかに、AppExchange の管理パッケージを組織にインストールして使う形もあります。[5][2][1][17]
  • Salesforce から定期的に問い合わせる:スケジュールトリガーフローから HTTP コールアウトで相手の API に問い合わせ、結果を項目に書き込みます。[8][6][9]
  • 電子契約サービスから Salesforce に書き込む:相手のサービス側から Salesforce の REST API を呼び、契約レコードを更新します。外部 ID 項目を使うと、相手のサービスの ID で更新するレコードを特定できます。[15][11]
  • 書き込む方式の認証には、外部クライアントアプリケーションと OAuth 2.0 クライアントログイン情報フローを使えます。2026年10月時点のリリースノートでは、新しい連携には外部クライアントアプリケーションが勧められています。[11][12][14]

作業の流れ

  • 電子契約サービスのどの状況(送付、署名済み、拒否など)を、Salesforce のどの項目に残すかを決めます。標準の契約なら、[オブジェクトマネージャー] の [契約] で [Status (状況)] の選択リスト値を確かめます。[4]
  • 相手のサービスの ID を保存する項目を契約に用意します。書き込む方式では、この項目を外部 ID として使います。[15]
  • 連携専用のユーザーを作ります。ヘルプでは、連携ごとに 1 人を用意する形が勧められています。Salesforce インテグレーションユーザーライセンスを使うと、API 限定のアクセスに絞れます。[13]
  • 認証を設定します。問い合わせる方式では [設定] の [指定ログイン情報] を使います。書き込む方式では [外部クライアントアプリケーションマネージャー] で外部クライアントアプリケーションを開き、[クライアントログイン情報フローを有効化] を選びます。[6][10][12]
  • 問い合わせる方式では、スケジュールトリガーフローに HTTP コールアウトのアクションを置き、応答の状況を項目に書き込みます。エラーは障害パスで扱います。[8][6][7]
  • 状況の変化を後から追えるように、状況の項目で項目履歴管理を有効にします。[16]

気をつけること

  • 問い合わせる方式には、間隔の制約があります。Salesforce Contracts と DocuSign の例では、Salesforce の画面からスケジュールできるのは 1 時間ごとで、DocuSign の API にも 15 分以上の間隔という制限があります。[3]
  • スケジュールトリガーフローが待機要素なしでコールアウトできるのは、レコードのバッチを処理し、API バージョン 63.0 以降で動く場合です。条件を満たさないときは、先に待機要素を置きます。[9]
  • スケジュールトリガーフローには、24 時間あたりのインタビュー数に上限があります。25 万件か、ユーザーライセンス数に 200 を掛けた数の大きいほうです。[9]
  • クライアントログイン情報フローでは、コンシューマー鍵とコンシューマーの秘密にアクセスできるユーザーやアプリケーションがアクセストークンを取得できます。秘密は定期的に変え、漏れたときは直ちに変えます。[11][12]
  • 項目履歴管理は、有効にした日時より前の変更を記録しません。また、フローや Apex トリガーが、実行中のユーザーに編集権限のないオブジェクトを変えた場合、その変更は履歴に残りません。[16]
  • Salesforce Contracts の状況の値を使う場合、ContractManagement ライセンスで追加される既定の値の名前は変えません。オブジェクト状態値との対応付けが壊れるためです。[4]

想定工数の目安

電子契約サービスと、契約の状況をつなぐ8〜24時間

想定工数は、要件の確認から動作確認・本番反映の手順までを含む実働時間です。※Salesforce の環境(構築済みの仕組みや設定など、さまざまな要素)や、要件によって工数は大幅に前後するため、あくまでも目安です。

質問と答え

Salesforce の機能だけで、電子契約サービスの状況を取り込めますか。

Salesforce Contracts を使う場合は、DocuSign との統合が用意されています。それ以外のサービスでは、フローの HTTP コールアウトや、相手のサービスからの REST API の呼び出しで連携を組みます。[5][6][15]

署名の後、どのくらいで Salesforce に反映されますか。

方式によって変わります。Salesforce から問い合わせる方式では、次の問い合わせのときに反映されます。スケジュールトリガーフローの頻度は、1 回、毎日、毎週から選びます。[8][3]

接続アプリケーションで連携を作れますか。

既存の接続アプリケーションは引き続き動きます。ただし Spring '26 から、新しい接続アプリケーションの作成はデフォルトで無効です。新しい連携には、外部クライアントアプリケーションが勧められています。[14]

外部 ID で更新すると、契約が二重に作られることはありますか。

一致するレコードがないと、新しいレコードが作られます。作らないようにするには updateOnly パラメーターを付けます。一致するレコードが複数あるときはエラーになり、作成も更新も行われません。[15]

出典

  1. 電子署名の契約申請ワークフロー(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=ind.sf_contracts_Workflow_for_Submitting_a_Contract_for_E-Signature.htm&language=ja&type=5(2026-10-23 確認)
  2. 電子署名ワークフロー(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=ind.sf_contracts_E-Signature_Workflows.htm&language=ja&type=5(2026-10-23 確認)
  3. ドキュメントの署名済み状況をポーリングする DocuSign ジョブのスケジュール(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=ind.sf_contracts_Schedule_a_DocuSign_Job_to_Poll_for_Document_Signed_Status.htm&language=ja&type=5(2026-10-23 確認)
  4. Salesforce Contracts の契約状況選択リスト値(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=ind.sf_contracts_Default_Contract_Status_Picklist_Values.htm&language=ja&type=5(2026-10-23 確認)
  5. Salesforce Contracts の学習と探索(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=ind.sf_contracts_Salesforce_Contracts_Overview.htm&language=ja&type=5(2026-10-23 確認)
  6. HTTP コールアウトを使用したコネクタなしの API への接続(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=platform.flow_http_callout.htm&language=ja&type=5(2026-10-23 確認)
  7. HTTP コールアウトに関する考慮事項と制限(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=platform.flow_http_callout_considerations.htm&language=ja&type=5(2026-10-23 確認)
  8. スケジュールトリガーフロー(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=platform.flow_concepts_trigger_schedule.htm&language=ja&type=5(2026-10-23 確認)
  9. スケジュールトリガーフローに関する考慮事項(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=platform.flow_considerations_trigger_schedule.htm&language=ja&type=5(2026-10-23 確認)
  10. 指定ログイン情報(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=xcloud.named_credentials_about.htm&language=ja&type=5(2026-10-23 確認)
  11. サーバー間インテグレーション用の OAuth 2.0 クライアントログイン情報フロー(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=xcloud.remoteaccess_oauth_client_credentials_flow.htm&language=ja&type=5(2026-10-23 確認)
  12. クライアントログイン情報フローの設定(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=xcloud.configure_client_credentials_flow_for_external_client_apps.htm&language=ja&type=5(2026-10-23 確認)
  13. インテグレーションユーザーへの API 限定アクセス権の付与(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=platform.integration_user.htm&language=ja&type=5(2026-10-23 確認)
  14. デフォルトで無効化されるようになった新規接続アプリケーションの作成(Salesforce リリースノート)help.salesforce.com/s/articleView?id=release-notes.rn_security_identity_connected_app_creation_disabled.htm&language=ja&release=260&type=5(2026-10-23 確認)
  15. Insert or Update (Upsert) a Record Using an External ID(REST API Developer Guide)developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_upsert.htm(2026-10-23 確認)
  16. 項目履歴管理の概要(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=xcloud.tracking_field_history.htm&language=ja&type=5(2026-10-23 確認)
  17. 管理パッケージのインストール(Salesforce ヘルプ)help.salesforce.com/s/articleView?id=sf.distribution_installing_packages.htm&language=ja&type=5(2026-10-23 確認)

環境に合わせた進め方は、相談フォームから一言でどうぞ。

この内容で相談する 開発例の一覧へ戻る
まずは20時間の無料トライアルから 無料トライアルを相談する
YOUR NEXT STEP

まずは、ひとつの
「こうしたい」から。

いただいた内容を確認し、ご入力のメールアドレスにご連絡します。

送信内容は、プライバシーポリシーに沿って取り扱います。