Zoho CRMモジュールの全体像
make.comのZoho CRMアプリは、Make社によって公式に検証・サポートされている「Verified app」です。全26モジュールが用意されており、大きく4つのグループに分かれます。
| グループ | 主なモジュール | できること |
|---|---|---|
| オブジェクト | Create/Update/Delete/Get/List/Search an Object | Leads・Accounts・Contacts・Deals等の標準モジュールに対する基本操作 |
| 監視(トリガー) | Watch Objects | 新規作成・更新されたレコードを検知してシナリオを起動 |
| リード専用 | Upsert a Lead | 既存なら更新・なければ新規作成(重複防止に便利) |
| 関連レコード・タグ・添付 | Update/List/Delete a Related Record、各種タグ操作、Upload/Download an Attachment | 関連データやタグ、添付ファイルの管理 |
🗓 情報確認日:2026年8月11日(make.com公式アプリドキュメントapps.make.com/zohocrmで確認)。仕様は変更される場合があるため、最新情報は公式ドキュメントでご確認ください。
上記のモジュールでカバーされていない操作をしたい場合、「Other」グループの「Make an API call」モジュールを使えば、Zoho CRM APIの任意のエンドポイントを直接呼び出せます。専用モジュールで足りない場合の最終手段として覚えておくと安心です。
接続を作成する
新規シナリオで「Zoho CRM」を検索し、使いたいモジュール(例:Upsert a Lead)を選択します。「Add」をクリックして新しい接続を作成します。
独自のZoho開発者アカウントでカスタムアプリを作成して使いたい場合のみ、「Show advanced settings」からクライアントID・シークレットを入力します。この場合、Zoho側のリダイレクト(コールバック)URIにはhttps://www.integromat.com/oauth/cb/zohocrm2を指定します。
シナリオ①:Webフォーム→リード自動登録(重複防止)
問い合わせフォームからの回答を、手作業でZoho CRMに転記していませんか?「Upsert a Lead」を使えば、重複を気にせず自動登録できます。
Googleフォームの回答は自動的にスプレッドシートに記録されます。そのスプレッドシートを「Google Sheets」→「Watch Rows」でトリガーに設定します。
トリガーの後ろに「Zoho CRM」→「Upsert a Lead」を追加し、フィールドをマッピングします。
- どのフィールドを「一致条件」にするかを指定できる(通常はメールアドレスを使用)
- 一致するリードがあれば更新、なければ新規作成を自動判定
- フィールド名はZoho CRM側のAPI名(例:Last_Name、Email等)に対応させる必要がある
ここまでの設定で、フォーム回答が重複なく自動でリード登録されるようになります。どちらもクレジットカード不要で無料から試せます。
シナリオ②:商談ステータス変更→Slack通知
商談が「成約」に変わった瞬間をチームに知らせたい場合は、「Watch Objects」トリガーを使います。
トリガーに「Zoho CRM」→「Watch Objects」を選択し、監視対象モジュールとして「Deals」を指定します。
トリガーとSlackモジュールの間に「フィルター」を挿入し、条件を設定します。
「Slack」→「Create a Message」を追加し、商談名・金額・担当者などのフィールドをマッピングした通知文を設定します。
シナリオ③:条件別に担当営業へ自動振り分け
問い合わせ内容や地域によって、リードの担当営業を自動で変えたい場合は、「Router」モジュールを使って条件分岐を組みます。
「Upsert a Lead」の直前に「Router」モジュールを挿入し、フォームの「都道府県」列の値によって処理を2つの経路に分岐させます。それぞれの経路の「Upsert a Lead」で、Lead_Ownerフィールドに異なる担当者IDをマッピングすれば、地域ごとの自動アサインが完成します。地域だけでなく、問い合わせ内容の商材カテゴリ別に振り分ける、といった応用も同じ考え方で組めます。
Lead_Ownerフィールドには、担当者の表示名ではなくZoho CRM内部のユーザーIDを指定する必要があります。「List Users」モジュールを一度実行してレスポンスを確認すると、各担当者のIDを一覧で取得できます。取得したIDを控えておき、Routerの各経路で固定値としてマッピングするのが実務的な進め方です。
Watch Objectsの制約について
Watch Objectsトリガーには、Zoho CRM API自体の仕様に由来するいくつかの制約があります。事前に把握しておくと、想定外のエラーを防げます。
- 作成日時・更新日時フィールドが必須:監視対象モジュールにこれらのフィールドが存在しないと、「Cannot read property ‘itemId’」というエラーが返ります。Zoho CRM側の「設定」→「カスタマイズ」→「モジュールとフィールド」で、対象モジュールにこの2つのフィールドが存在するか確認してください
- レスポンスは最大50フィールドまで:選択できるフィールド数は、ID・作成日時・更新日時の3つの必須項目を除いた最大47項目までです
- 対象は標準モジュールが中心:Leads・Accounts・Contacts・Deals・Forecasts・Activities等の標準モジュールが対象です
実際に組んでみた感想
接続の手軽さについて:freeeの経費精算連携と比べると、体感の設定時間は3分の1程度で済みそうです。OAuthアプリの作成・コールバックURLの設定・Advanced Parametersの入力といった手間がなく、「Add」→ログイン→許可の3ステップで完結する設計は、freeeのような複雑なAPI連携をすでに経験していると、その差がよく分かります。
Upsert a Leadについて:重複防止の仕組みを自分でシナリオ内に組み込む必要がある一般的なAPI連携と違い、1モジュールで「あれば更新・なければ新規作成」が完結するのは、実務上かなり便利な設計だと感じました。フォームからの問い合わせが多いサイト・営業チームには特に相性が良さそうです。
Watch Objectsの制約について:「作成日時・更新日時フィールドが必須」という制約は、公式ドキュメントを読み込まないと気づきにくいポイントでした。エラーメッセージ「itemId」だけを見て原因を特定するのは初見だと難しく、この記事のような事前情報がないと、原因究明に時間がかかりそうな箇所だと感じました。
よくあるつまずきポイント
make.comの画面に表示されるフィールド名は、Zoho CRM側で設定した「表示名」ではなく「API名」(例:Last_Name)で表示されることがあります。事前にZoho CRM開発者向けドキュメントでモジュールごとのAPI名を確認しておくと、マッピング時に迷いません。
同じZoho CRMアカウントに対して複数の接続を作成すると、モジュールが正しく動作しないことがあります。基本的には1つのZoho CRMアカウントにつき接続は1つに統一することをおすすめします。
前述の「作成日時・更新日時フィールドが削除されている」ケースが最も多い原因です。エラーメッセージに「itemId」という文字列が含まれていたら、まずこのフィールドの有無を確認してください。
シナリオ③のような分岐処理では、担当者IDの入力ミスに気づきにくいという特徴があります。本番運用前に、必ずテストデータで各経路を1回ずつ実行し、意図した担当者にリードが割り当てられているかをZoho CRM画面で確認してください。
freee連携との違い
同じmake.comでの会計・CRM連携でも、freeeとZoho CRMでは難易度がまったく異なります。
| 比較項目 | Zoho CRM | freee(経費精算) |
|---|---|---|
| 専用モジュール | ✔ あり | ✗ なし(HTTPモジュールで代替) |
| 接続設定 | ログイン・許可のみ | OAuth 2.0の手動設定が必要 |
| 難易度 | 易しい | やや高い(API知識が必要) |
| 重複防止の仕組み | Upsertアクションで標準対応 | 自前でフィルター等を設計する必要あり |
freeeとの連携に興味がある方はmake.com × freee 経費精算 自動化ガイド、Slackとの連携(Webhookベースの即時トリガーに対応)はmake.com × Slack 自動化ガイドもあわせてご覧ください。
よくある質問
まとめ
make.comとZoho CRMの連携は、専用モジュールが用意されているため、freeeのような複雑なAPI設定は不要です。「Upsert a Lead」による重複防止つきのリード自動登録、「Watch Objects」による商談変更の自動通知、「Router」を使った担当営業への自動振り分けまで、いずれもドラッグ&ドロップの範囲で構築できます。まずはシナリオ①のシンプルなリード登録から試してみてください。
- 無料プランでZoho CRM連携の設定が可能
- 月1,000クレジットまで無料
- 3ユーザーまで永久無料
- 有料 月1,760円〜(年払い)