外部サービス連携

Zoho FormsのフォームをSalesforceへ連携する設定

フォームで受け付けた内容を、手で転記せずSalesforceのレコードにしたい。この記事はZoho Formsからフォームを作り、Salesforceのカスタムオブジェクトへ自動登録するまでを順に説明します。当時の記事ではZoho CRMの機能として書いていましたが、これはZoho Formsの機能です。2026年9月時点の公式ドキュメントで確かめた内容もあわせて追記しました。

2020.10.24

なぜフォームとレコードをつなぐのか

Webサイトに置いたアンケートフォームの回答を、担当者が毎回手で転記していると、件数が増えたときに転記漏れや入力ミスが起きます。フォーム側にSalesforceへの連携機能があれば、送信された内容をそのままSalesforceのレコードとして残せます。

この記事の読み方

この記事は2020年に、Zohoのフォームで受け付けた内容をSalesforceへ連携する手順として書いたものです。当時の手順はそのまま残しています。

ただしこの連携は、Zoho CRM本体の機能ではなく、Zoho Forms(フォーム作成ツール)の機能です。連携設定の画面そのものに「Integrate Zoho Forms with Salesforce.」と書かれており、公式ドキュメントもZoho Formsのユーザーガイドの中にあります。

この記事のURLと元の題名は「ZOHO CRM」のままです。公開当時の記録としてURLを変えていないだけで、操作するのは最初から最後までZoho Formsです。Zoho CRMの設定画面をいくら探しても、この連携の設定は出てきません。

⚠️ 同じZohoアカウントで複数の製品を使えるため、当時の記事はZoho CRMにログインするところから書き始めていました。画面の見た目が似ているので同じ製品に見えますが、別の製品です。

Salesforce側の受け口はWeb-to-LeadではなくAPI

外部フォームをSalesforceにつなぐ方法としてまず思い浮かぶのはWeb-to-Leadですが、この連携はWeb-to-Leadを使いません。Zoho FormsはSalesforceの認可を受けたうえでAPIを呼び、レコードを作成します。この違いが、できることの範囲をそのまま決めます。

Web-to-LeadZoho Formsの連携(API)
書き込める先リードだけリード・取引先・取引先責任者・商談・キャンペーン・商品・ケースと、カスタムオブジェクト
レコードタイプの指定リードのレコードタイプのみ指定できます連携の設定画面で選べます
認証不要(組織IDを埋め込んだHTMLを設置)Salesforceの認可画面を経てアクセスを許可します
件数の上限1日500件API利用の範囲内

この記事で作る「アンケート」はカスタムオブジェクトなので、Web-to-Leadでは受けられません。カスタムオブジェクトへ入れたいときは、API経由の連携を選びます。

Salesforce側の準備

受け皿となるカスタムオブジェクトと項目を、あらかじめSalesforce側に用意します。フォーム側の設定画面は、ここで作った項目を読みに行くので、先に作っておかないとマッピングの選択肢に出てきません。

項目内容
カスタムオブジェクト表示ラベル「アンケート」、オブジェクト名Questionnaire
項目1表示ラベル「姓」、データ型はテキスト、文字数255、項目名LastName
項目2表示ラベル「名」、データ型はテキスト、文字数255、項目名FirstName
項目3表示ラベル「アンケート結果」、データ型は選択リスト、値は「高」「中」「低」、項目名Comprehension

Zoho Formsを開く

当時の記事では、Zohoアカウントにログインし、メニューからFormsを開いてフォームを新規作成する、という流れで始まっていました。

  1. Zohoアカウントにログインする

    当時はZoho CRMのログイン画面からサインインしていました。同じアカウントでZohoの各製品を使えるためです。

  2. メニューからFormsを開く

    製品の一覧からForms(Zoho Forms)を選びます。ここから先がフォーム作成ツールの画面です。

  3. New Formを押す

    フォームの一覧画面にある「New Form」から、新しいフォームを作り始めます。空白のフォームを選び、フォーム名を付けます。

Zoho Formsの一覧画面にある緑色のNew Formボタン
フォーム一覧にあるNew Formボタンです。ここから新しいフォームを作り始めます。

⚠️ 現在の公式手順は、Zoho Formsのフォームビルダーから始まります。上の「Zoho CRMにログインしてからFormsを開く」という道順は、当時の記事の書き方であって、いまの公式ドキュメントにはありません。Zoho Formsを直接開いてください。

フォームに項目を作る

Salesforce側に用意した3つの項目と対になる入力欄を、フォームに置きます。

  1. フォーム名を確かめる

    作成直後の画面で、フォーム名が「Questionnaire」になっていることを確かめます。以降の画面では、この名前が見出しに出ます。

  2. 姓と名の入力欄を置く

    1行テキストの項目を2つ追加し、ラベルを「姓」「名」にします。

  3. アンケート結果の選択欄を置く

    ドロップダウンの項目を追加し、ラベルを「アンケート結果」、選択肢を「高」「中」「低」にします。Salesforce側の選択リストと値をそろえてください。

Questionnaireフォームの見出し。All Entries、Reports、Settings、Analytics、Auditのタブが並ぶ
フォームを作った直後の画面です。フォーム名がQuestionnaireになっていることを確かめてください。
フォーム編集画面。姓と名の1行テキスト欄、アンケート結果のドロップダウンが並び、右にフォームプロパティが開いている
項目を3つ置いたところです。姓と名は1行テキスト、アンケート結果はドロップダウンになっている点を見てください。

Salesforceへの連携を設定する

フォームができたら、そのフォームの設定から連携先を指定します。

  1. 統合タブでSalesforceを選ぶ

    フォームビルダーの統合(Integrations)タブを開き、CRMの分類の中からSalesforceを選びます。

  2. 接続先の環境を選ぶ

    本番(Production)か、テスト用のSandboxかを選びます。ここを間違えると、送信したデータが意図しない組織に入ります。

  3. Salesforceを認証する

    「Integrate」を押すと認可画面が開くので、ログインしてアクセスを許可します。

  4. オブジェクトとレコードタイプを選ぶ

    作成しておいたカスタムオブジェクト「アンケート」と、レコードタイプ「マスタ」を選びます。標準のリードや取引先責任者だけでなく、カスタムオブジェクトも選べます。

  5. 項目をマッピングする

    Salesforce側の必須項目をすべてフォームの項目に対応させます。ここでは「姓」「名」「アンケート結果」の3つを、それぞれ同名の項目につなぎます。任意の項目を足すときは「Add Fields」を使います。

Integrate with Salesforce画面。オブジェクトにアンケート、レコードタイプにマスタを選び、姓・名・アンケート結果の項目対応が並ぶ
連携設定の画面です。表題の下に「Integrate Zoho Forms with Salesforce.」とある点と、3つの項目が線でつながっている点を見てください。

⚠️ 認証はSalesforceの認可画面(OAuth)を経由します。ユーザー名とパスワードを直接フォーム側の設定画面に書き込むものではありません。SalesforceはAPI連携時の認証方法として、パスワードをそのままやり取りする「ユーザー名パスワードフロー」を、Summer '23以降に作成した組織では既定でブロックしています。連携先が個別に認証情報の入力を求めてくる場合は、まずSalesforceの認可画面を経由する方式かどうかを確認してください。

動作確認

公開したフォームのURLから、実際に値を入力して送信します。

入力欄値
姓ZOHOCRM
名太郎
アンケート結果高
公開されたQuestionnaireフォーム。姓にZOHOCRM、名に太郎、アンケート結果に高が入力され、Submitボタンがある
公開用URLで開いたフォームに、表のとおり値を入れた状態です。この内容がそのままレコードになります。
送信完了画面。緑のチェックマークと、回答を受け付けた旨の英語メッセージが表示されている
送信が受け付けられた画面です。ここまで出れば、あとはSalesforce側を見に行きます。

送信後、Salesforce側のアンケートカスタムオブジェクトの一覧を開き、同じ内容のレコードが1件登録されていれば連携は成功です。

Salesforceのアンケートレコード詳細。姓はZOHOCRM、名は太郎、アンケート結果は高と登録されている
Salesforce側に登録されたレコードです。フォームに入れた3つの値がそのまま入っていることを確かめてください。

いまの連携でできること

2026年9月時点のZoho Forms公式ヘルプでは、単純な新規登録だけでなく次の機能も案内されています。

機能内容
Upsert同じ値のレコードがSalesforceにあれば更新し、なければ新規作成します。照合に使えるのは、Salesforce側で外部ID(External ID)を有効にした項目だけです
割り当てルールフォームの回答がオブジェクトに追加されたときに、Salesforce側の割り当てルールを実行できます
承認プロセス追加されたレコードを、Salesforceの承認プロセスに回せます
添付ファイルの連携フォームに添付されたファイルや、送信時に生成したPDFも、対応付けたオブジェクトへ送れます
失敗時の通知連携が失敗した場合にメールで知らせる設定があります(有料プランの機能)

ここで間違えやすい

間違い何が起きるか
Zoho CRMとZoho Formsを同じ製品だと思って探す連携の設定画面が見つからず、Zoho CRM側をいくら探しても出てきません
カスタムオブジェクトへの登録をWeb-to-LeadでやろうとするWeb-to-Leadが作れるのはリードだけです。カスタムオブジェクトには入りません
本番環境のつもりでSandboxモードのまま連携する送信したデータがSandbox組織に入り、本番のレコードが増えません
Salesforce側の項目を作る前に連携設定を開くマッピングの選択肢に項目が出てこず、対応付けができません
フィールドの型を合わせずにマッピングする選択リストとテキストなど型が違うと、値が反映されないか、送信自体がエラーになります
外部IDを設定していない項目でUpsertしようとする照合項目の選択肢に出てこず、重複したレコードが増え続けます

確認した環境

  • 2026年9月時点のhelp.zoho.comのZoho Formsユーザーガイド「Salesforce Integration」で、統合タブからの設定手順、Production/Sandboxの選択、対応オブジェクト、Upsertの外部ID条件、割り当てルール・承認プロセスの実行、添付ファイルの連携、失敗時メール通知が有料プランの機能であることを確認しています
  • Web-to-Leadがリードだけを作成することと1日500件の上限は、help.salesforce.com「Generate Leads from Your Website with Web-to-Lead」で確認しています
  • OAuthのユーザー名パスワードフローの扱いはhelp.salesforce.comで確認しています
  • 手順の画面は2020年10月時点の記録です

まとめ

  • この連携はZoho CRM本体ではなくZoho Formsの機能です。設定画面もZoho Forms側にあります
  • Salesforce側の受け口はWeb-to-LeadではなくAPIなので、カスタムオブジェクトやレコードタイプを指定できます
  • 受け皿となるカスタムオブジェクトと項目は、連携設定を開く前にSalesforce側で作っておきます
  • 連携の認証はSalesforceの認可画面(OAuth)を経由し、パスワードを直接やり取りする方式ではありません
  • 現在はUpsert・割り当てルール・承認プロセス・添付ファイル連携・失敗時のメール通知にも対応しています。Upsertの照合項目には外部IDが要ります
  • 本番かSandboxかの選択と、フィールドの型の一致を間違えやすいので、連携後に必ずテスト送信で確認します

参考:当時の画面

記事を最初に書いた当時の画面です。いまの手順と違うところは、各画像の説明に書いています。

Zoho CRMのログイン画面。SIGN INボタンとサインアップの案内が並ぶ
当時の記事が、Zoho CRMのログインから書き始めていた名残の画面です。いまはZoho Formsを直接開きます。
メニュー内のFormsという項目。左に書類のアイコンが付いている
ここからZoho Formsへ移っていました。いまはZoho Formsを直接開きます。

Salesforceの導入・運用についてご相談ください

導入前の検討から、お使いの環境の改修・運用、AIとの連携まで承ります。状況を伺ったうえで、進め方をご提案します。