Zoho CRMからZoho WorkDriveへのファイル同期を自動化する
お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の
英語版を参照してください。
概要:この記事では、Zoho CRM データにアップロードされたファイルを自動的に対応するZoho WorkDrive内のフォルダーへ同期する方法について説明します。ワークフロー、カスタム関数、カスタム項目を組み合わせることで、フォルダー作成やファイル同期を手作業なしで自動化できます。
目的
以下を実現します:
-
新規CRMデータごとにWorkDriveフォルダーを自動作成する。
-
CRMのファイルアップロード項目にアップロードされたファイルを、チェックボックストリガーを使用して対応するWorkDriveフォルダーへ同期する。
シナリオ:
ある不動産会社がZoho CRMを使って受信した物件見込み客を管理しています。各見込み客(データ)ごとに、以下のような重要なドキュメントを収集します。
-
身分証明書(例:パスポート、運転免許証)
-
物件の各種設定書類や法的書類
-
署名済み契約書
WorkDriveフォルダーを手動で作成し、これらのドキュメントを一つずつアップロードしていると、ファイル構造が煩雑になり、時間も無駄になります。
自動化による解決策:
-
リード作成時のフォルダー自動生成:
Zoho CRMで新規リードが追加されると、リード名(例: John_Doe_Lead_#1294)を用いて、あらかじめ指定したWorkDriveの場所に自動でフォルダーが作成されます。フォルダーIDはCRM内の非表示カスタム項目に保存され、今後の参照に利用できます。
-
アップロード時のファイル同期:
担当者がCRMリードデータのファイルアップロード項目にドキュメントをアップロードした際、「WorkDriveへ同期」というラベルのチェックボックスをチェックするだけで、ワークフローが起動し、すべての添付ファイルが該当するWorkDriveフォルダーにアップロードされ、整理された状態が保たれます。
-
法務・営業チームの一元的アクセス:
すべてのドキュメントが構造化されたWorkDriveの階層内に保存されるため、社内チームは法務確認や契約書作成、将来の参照の際にCRMの添付ファイルを探し回る必要がありません。
手順 1: CRM データ作成時にWorkDriveでフォルダーを作成
必要なもの:
-
CRM内にWorkDriveフォルダーID(例:WorkDrive_Folder_ID)を保存するカスタム項目
-
Zoho CRMでデータ作成時に実行されるワークフロー
-
WorkDriveでフォルダーを作成するためのカスタム関数
ワークフロー設定:
サンプル Deluge 関数: WorkDriveでフォルダーを作成
-
LEAD_ID= '3361723000090030015';
- PARENT_FOLDER_ID= '4ea6978af62a11a1840ed823f7f25e1f6c0a7';
- leadInfo = Zoho。crm。getRecordById('見込み客', LEAD_ID);
- fullName =leadInfo。取得する('Full_Name');
- info fullName;
- header = Map();
- header。put('承認する','application/vnd。api+json');
- data=Map();
- data_param1=Map();
- att_param1=Map();
- att_param1。put('名前',fullName);
- att_param1。put('parent_id',PARENT_FOLDER_ID);
- data_param1。put('属性',att_param1);
- data_param1。put('種類','files');
- data。put('data',data_param1);
- createFolder = invokeurl
- [
- url :'https://www。zohoapis。com/workdrive/api/v1/files'
- 種類 : POST
- パラメーター : data。toString()
- ヘッダー : header
- connection : 'workdrive'
- ];
- info createFolder;
- folderId = createFolder。取得する('data').取得する('id');
- mp= Map();
- mp。put('Workdrive_Folder_ID', folderId);
- updateLead = Zoho。crm。updateRecord('見込み客',LEAD_ID,mp);
- info updateLead;
手順 2: チェックボックスのトリガーでファイルをWorkDriveに同期する
CRM 設定:


サンプル Deluge 関数:WorkDrive フォルダーへのファイルアップロード
- leadInfo = Zoho。crm。getRecordById('見込み客', LEAD_ID);
- workdriveFolderId =leadInfo。取得する('Workdrive_Folder_ID');
- filesInTheFileUploadField = leadInfo。取得する('file');
- info filesInTheFileUploadField ;
- downloadedFiles = list();
- for each file in filesInTheFileUploadField
- {
- fileId = file。取得する('attachment_Id');
- downloadFile = invokeurl
- [
- url :' https://www。zohoapis。com/crm/v8/見込み客/'+LEAD_ID+'/添付ファイル/' + fileId
- 種類 :取得する
- connection:'stagehistory'
- ];
- info downloadFile;
- downloadedFiles。追加する({'file': downloadFile, 'fileName': file。取得する('file_Name')});
- }
- for each fileObj in downloadedFiles
- {
- header = Map();
- header。put('承認する','application/vnd。api+json');
- info fileObj ;
- list_of_text=List();
- list_of_text。追加する({'paramName':'filename','content':fileObj。取得する('fileName'),'stringPart':'真'});
- list_of_text。追加する({'paramName':'parent_id','content':workdriveFolderId,'stringPart':'真'});
- list_of_text。追加する({'paramName':'override-名前-exist','content':'真','stringPart':'真'});
- list_of_text。追加する({'paramName':'content','content':fileObj。取得する('file'),'stringPart':'無効'});
- uploadFile = invokeurl
- [
- url :'https://www。zohoapis。com/workdrive/api/v1/アップロードする'
- 種類 : POST
- files : list_of_text
- ヘッダー : header
- connection : 'workdrive'
- ];
- info uploadFile;
- }
メモ: 次のガイド - 記事を参照し、コード最適化のベストプラクティスや、Zoho CRM 全体でカスタム関数を展開するさまざまな方法をご確認ください。
カスタム Solution 作成者: Francis (Vishnu) | Zoho パートナーサポート