zoho-crm-automation について
zoho-crm-automationは、ComposioのZohoツールキットでZoho CRMのレコード業務を自動化するスキルです。検索、作成、更新、変換に加え、タグや関連レコードの操作とRube MCPの設定を扱います。
主な機能
- 01CRMモジュールをまたいだレコードの検索と取得
- 02モジュールの項目に基づくレコードの作成と更新
- 03見込み客から連絡先、取引先、商談への変換
- 04モジュール固有タグの作成と関連レコードの更新
活用シーン
- 01項目条件を使ったCRMレコードの検索
- 02見込み客、連絡先、商談の追加や変更
- 03見込み客の変換と関連レコードの作成
- 04レコードへのタグ付けや関連レコードの更新
MCP 対応
Rube MCPを介してComposioのZohoツールキットを利用します。クライアントでRube MCPのエンドポイントに接続し、Zoho接続を認証する手順を説明しています。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ davepoon/ buildwithclaude --skill zoho-crm-automationインストール後、Claude Code で/zoho-crm-automationを入力して読み込まれたか確認します。
詳細
Rube MCP を介した Zoho CRM の自動化
Rube MCP を介して Composio の Zoho ツールキットを使用し、Zoho CRM の操作を自動化します。
ツールキットのドキュメント:composio.dev/toolkits/zoho
前提条件
- Rube MCP が接続されていること(RUBE_SEARCH_TOOLS が利用可能であること)
- ツールキット
zohoを指定したRUBE_MANAGE_CONNECTIONSによる、有効な Zoho CRM 接続 - 最新のツールスキーマを取得するため、必ず最初に
RUBE_SEARCH_TOOLSを呼び出してください
セットアップ
Rube MCP を入手する:クライアントの設定で https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です。エンドポイントを追加するだけで動作します。
RUBE_SEARCH_TOOLSが応答することを確認し、Rube MCP が利用可能であることを確かめます- ツールキット
zohoを指定してRUBE_MANAGE_CONNECTIONSを呼び出します - 接続が ACTIVE でない場合は、返された認証リンクに従って Zoho OAuth を完了します
- ワークフローを実行する前に、接続ステータスが ACTIVE と表示されていることを確認します
主なワークフロー
1. レコードの検索と取得
使用する状況:ユーザーが条件を指定して特定の CRM レコードを見つけたい場合
ツールの実行順序:
ZOHO_LIST_MODULES- 利用可能な CRM モジュールを一覧表示します[前提条件]ZOHO_GET_MODULE_FIELDS- モジュールのフィールド定義を取得します[任意]ZOHO_SEARCH_ZOHO_RECORDS- 条件でレコードを検索します[必須]ZOHO_GET_ZOHO_RECORDS- モジュールからレコードを取得します[代替]
主なパラメーター:
module:モジュール名(例:'Leads'、'Contacts'、'Deals'、'Accounts')criteria:検索条件の文字列(例:'Email:equals:[email protected]')fields:返すフィールドをカンマ区切りで指定したリストper_page:1 ページあたりのレコード数page:ページネーションに使用するページ番号
注意点:
- モジュール名では大文字と小文字が区別されます(例:'leads' ではなく 'Leads')
- 検索条件には特定の構文を使用します:'Field:operator:value'
- サポートされている演算子:equals、starts_with、contains、not_equal、greater_than、less_than
- 複雑な条件では括弧と AND/OR を使用します:'(Email:equals:[email protected])AND(Last_Name:equals:Doe)'
- GET_ZOHO_RECORDS は任意のフィルタリングを指定してすべてのレコードを返します。SEARCH は対象を絞った検索に使用します
2. レコードの作成
使用する状況:ユーザーが新しいリード、連絡先、商談、またはその他の CRM レコードを追加したい場合
ツールの実行順序:
ZOHO_GET_MODULE_FIELDS- モジュールの必須フィールドを取得します[前提条件]ZOHO_CREATE_ZOHO_RECORD- 新しいレコードを作成します[必須]
主なパラメーター:
module:対象のモジュール名(例:'Leads'、'Contacts')data:フィールドと値のペアを含むレコードデータオブジェクト- 必須フィールドはモジュールによって異なります(例:Contacts の Last_Name)
注意点:
- 各モジュールには必須フィールドがあります。GET_MODULE_FIELDS を使用して確認してください
- フィールド名にはアンダースコアを使用します(例:'Last_Name'、'Email'、'Phone')
- ルックアップフィールドには、名前ではなく関連レコードの ID が必要です
- 日付フィールドには 'yyyy-MM-dd' 形式を使用する必要があります
- 重複チェックルールが設定されていない限り、重複レコードを作成できます
3. レコードの更新
使用する状況:ユーザーが既存の CRM レコードを変更したい場合
ツールの実行順序:
ZOHO_SEARCH_ZOHO_RECORDS- 更新するレコードを検索します[前提条件]ZOHO_UPDATE_ZOHO_RECORD- レコードを更新します[必須]
主なパラメーター:
module:モジュール名record_id:更新するレコードの IDdata:更新するフィールドを含むオブジェクト(変更したフィールドのみ指定します)
注意点:
- record_id には Zoho レコード ID(数値文字列)を指定する必要があります
- 変更するフィールドのみ指定してください。ほかのフィールドは保持されます
- 読み取り専用フィールドとシステムフィールドは更新できません
- ルックアップフィールドの更新には、関連レコードの ID が必要です
4. リードを変換する
使用するタイミング:リードを連絡先、アカウント、商談のいずれか、またはすべてに変換したい場合
ツールの実行順序:
ZOHO_SEARCH_ZOHO_RECORDS- 変換するリードを検索します[前提条件]ZOHO_CONVERT_ZOHO_LEAD- リードを変換します[必須]
主なパラメーター:
lead_id:変換するリードの IDdeal:変換時に商談を作成する場合の商談の詳細account:変換するアカウントの詳細contact:変換する連絡先の詳細
注意点:
- リードの変換は取り消せません。リードレコードは Leads モジュールから削除されます
- 変換では、連絡先、アカウント、商談の最大3件のレコードを作成できます
- 会社名に基づいて既存のアカウントとの照合が行われる場合があります
- Lead モジュールと Contact/Account/Deal モジュール間のカスタム項目のマッピングが、変換結果に影響します
5. タグと関連レコードを管理する
使用するタイミング:レコードにタグを付ける、またはレコード間の関連を管理したい場合
ツールの実行順序:
ZOHO_CREATE_ZOHO_TAG- 新しいタグを作成します[任意]ZOHO_UPDATE_RELATED_RECORDS- 関連/リンク済みレコードを更新します[任意]
主なパラメーター:
module:タグを設定するモジュールtag_name:タグの名前record_id:親レコード ID(関連レコードの場合)related_module:関連レコードのモジュールdata:更新する関連レコードのデータ
注意点:
- タグはモジュールごとに固有です。Leads 用に作成したタグは Contacts では使用できません
- 関連レコードの操作には、親レコード ID と関連モジュールの両方が必要です
- タグ名はモジュール内で一意である必要があります
- タグの一括操作ではレート制限に達する場合があります
よく使われるパターン
モジュールと項目の確認
1. Call ZOHO_LIST_MODULES to get all available modules
2. Call ZOHO_GET_MODULE_FIELDS with module name
3. Identify required fields, field types, and picklist values
4. Use field API names (not display labels) in data objects
検索条件の構文
単純な検索:
criteria: '(Email:equals:[email protected])'
複合条件:
criteria: '((Last_Name:equals:Doe)AND(Email:contains:example.com))'
対応する演算子:
equals、not_equalstarts_with、containsgreater_than、less_than、greater_equal、less_equalbetween(日付/数値用)
ページネーション
per_page(最大200)と、1から始まるpageを設定します- 応答の
info.more_recordsフラグを確認します more_recordsが false になるまでページ番号を増やします- 合計件数は応答の info で確認できます
既知の注意点
項目名:
- 表示ラベルではなく API 名を使用します(例:'Last Name' ではなく 'Last_Name')
- カスタム項目の API 名は、'Custom_Field1' やユーザー定義の名前などです
- 選択リストの値は完全に一致している必要があります(大文字と小文字を区別します)
レート制限:
- API 呼び出しの上限は Zoho CRM のプランによって異なります
- 無料プラン:1日あたり5000回の API 呼び出し、Enterprise:1日あたり25000回以上
- 一括操作の間に遅延を設けます
- 429 応答を監視し、レート制限ヘッダーに従います
データ形式:
- 日付:'yyyy-MM-dd' 形式
- 日時:'yyyy-MM-ddTHH:mm:ss+HH:mm' 形式
- 通貨:書式設定されていない数値
- 電話番号:文字列(特定の形式は適用されません)
モジュールへのアクセス:
- アクセス権はユーザーのロールとプロファイル権限によって異なります
- CRM の設定によっては、一部のモジュールが非表示または制限されている場合があります
- カスタムモジュールには、独自の API 名があります
クイックリファレンス
| タスク | ツールのスラッグ | 主なパラメーター |
|---|---|---|
| モジュールの一覧表示 | ZOHO_LIST_MODULES | (なし) |
| モジュールの項目を取得 | ZOHO_GET_MODULE_FIELDS | module |
| レコードを検索 | ZOHO_SEARCH_ZOHO_RECORDS | module, criteria |
| レコードを取得 | ZOHO_GET_ZOHO_RECORDS | module, fields, per_page, page |
| レコードを作成 | ZOHO_CREATE_ZOHO_RECORD | module, data |
| レコードを更新 | ZOHO_UPDATE_ZOHO_RECORD | module, record_id, data |
| リードを変換 | ZOHO_CONVERT_ZOHO_LEAD | lead_id, deal, account, contact |
| タグを作成 | ZOHO_CREATE_ZOHO_TAG | module, tag_name |
| 関連レコードを更新 | ZOHO_UPDATE_RELATED_RECORDS | module, record_id, related_module, data |
Composio によって提供