Zoho CRMからZoho WorkDriveへのファイル同期を自動化する

Zoho CRMからZoho WorkDriveへのファイル同期を自動化する

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

概要:この記事では、Zoho CRM データにアップロードされたファイルを自動的に対応するZoho WorkDrive内のフォルダーへ同期する方法について説明します。ワークフロー、カスタム関数、カスタム項目を組み合わせることで、フォルダー作成やファイル同期を手作業なしで自動化できます。

目的

以下を実現します:

  1. 新規CRMデータごとにWorkDriveフォルダーを自動作成する。

  2. CRMのファイルアップロード項目にアップロードされたファイルを、チェックボックストリガーを使用して対応するWorkDriveフォルダーへ同期する。


シナリオ:

ある不動産会社がZoho CRMを使って受信した物件見込み客を管理しています。各見込み客(データ)ごとに、以下のような重要なドキュメントを収集します。

  • 身分証明書(例:パスポート、運転免許証)

  • 物件の各種設定書類や法的書類

  • 署名済み契約書

WorkDriveフォルダーを手動で作成し、これらのドキュメントを一つずつアップロードしていると、ファイル構造が煩雑になり、時間も無駄になります。

自動化による解決策:

  1. リード作成時のフォルダー自動生成:
    Zoho CRMで新規リードが追加されると、リード名(例: John_Doe_Lead_#1294)を用いて、あらかじめ指定したWorkDriveの場所に自動でフォルダーが作成されます。フォルダーIDはCRM内の非表示カスタム項目に保存され、今後の参照に利用できます。

  2. アップロード時のファイル同期:
    担当者がCRMリードデータのファイルアップロード項目にドキュメントをアップロードした際、「WorkDriveへ同期」というラベルのチェックボックスをチェックするだけで、ワークフローが起動し、すべての添付ファイルが該当するWorkDriveフォルダーにアップロードされ、整理された状態が保たれます。

  3. 法務・営業チームの一元的アクセス:
    すべてのドキュメントが構造化されたWorkDriveの階層内に保存されるため、社内チームは法務確認や契約書作成、将来の参照の際にCRMの添付ファイルを探し回る必要がありません。


手順 1: CRM データ作成時にWorkDriveでフォルダーを作成

必要なもの:

  • CRM内にWorkDriveフォルダーID(例:WorkDrive_Folder_ID)を保存するカスタム項目

  • Zoho CRMでデータ作成時に実行されるワークフロー

  • WorkDriveでフォルダーを作成するためのカスタム関数

ワークフロー設定:

  • タブ: 見込み客 / 商談 / [ご利用のタブ]

  • トリガー: データ作成時

  • 操作: カスタム関数(WorkDriveフォルダー作成)






サンプル Deluge 関数: WorkDriveでフォルダーを作成

  1. LEAD_ID= '3361723000090030015';
  2. PARENT_FOLDER_ID= '4ea6978af62a11a1840ed823f7f25e1f6c0a7';
  3. leadInfo = Zoho。crm。getRecordById('見込み客', LEAD_ID);
  4. fullName =leadInfo。取得する('Full_Name');
  5. info fullName;

  6. header = Map();
  7. header。put('承認する','application/vnd。api+json');
  8. data=Map();
  9. data_param1=Map();
  10. att_param1=Map();
  11. att_param1。put('名前',fullName);
  12. att_param1。put('parent_id',PARENT_FOLDER_ID);
  13. data_param1。put('属性',att_param1);
  14. data_param1。put('種類','files');
  15. data。put('data',data_param1);

  16. createFolder = invokeurl
  17. [
  18. url :'https://www。zohoapis。com/workdrive/api/v1/files'
  19. 種類 : POST
  20. パラメーター : data。toString()
  21. ヘッダー : header
  22. connection : 'workdrive'
  23. ];
  24. info createFolder;

  25. folderId = createFolder。取得する('data').取得する('id');

  26. mp= Map();
  27. mp。put('Workdrive_Folder_ID', folderId);
  28. updateLead = Zoho。crm。updateRecord('見込み客',LEAD_ID,mp);
  29. info updateLead;


手順 2: チェックボックスのトリガーでファイルをWorkDriveに同期する

CRM 設定:

  • チェックボックス項目(例:Sync_to_WorkDrive)を追加します。

  • ワークフロー:編集時Sync_to_WorkDrive == trueの場合に実行されます。





サンプル Deluge 関数:WorkDrive フォルダーへのファイルアップロード

  1. leadInfo = Zoho。crm。getRecordById('見込み客', LEAD_ID);
  2. workdriveFolderId =leadInfo。取得する('Workdrive_Folder_ID');
  3. filesInTheFileUploadField = leadInfo。取得する('file');
  4. info filesInTheFileUploadField ;

  5. downloadedFiles = list();
  6. for each file in filesInTheFileUploadField
  7. {
  8. fileId = file。取得する('attachment_Id');
  9. downloadFile = invokeurl
  10. [
  11. url :' https://www。zohoapis。com/crm/v8/見込み客/'+LEAD_ID+'/添付ファイル/' + fileId
  12. 種類 :取得する
  13. connection:'stagehistory'
  14. ];
  15. info downloadFile;
  16. downloadedFiles。追加する({'file': downloadFile, 'fileName': file。取得する('file_Name')});
  17. }

  18. for each fileObj in downloadedFiles
  19. {
  20. header = Map();
  21. header。put('承認する','application/vnd。api+json');

  22. info fileObj ;

  23. list_of_text=List();
  24. list_of_text。追加する({'paramName':'filename','content':fileObj。取得する('fileName'),'stringPart':'真'});
  25. list_of_text。追加する({'paramName':'parent_id','content':workdriveFolderId,'stringPart':'真'});
  26. list_of_text。追加する({'paramName':'override-名前-exist','content':'真','stringPart':'真'});
  27. list_of_text。追加する({'paramName':'content','content':fileObj。取得する('file'),'stringPart':'無効'});

  28. uploadFile = invokeurl
  29. [
  30. url :'https://www。zohoapis。com/workdrive/api/v1/アップロードする'
  31. 種類 : POST
  32. files : list_of_text
  33. ヘッダー : header
  34. connection : 'workdrive'
  35. ];
  36. info uploadFile;
  37. }

Notesメモ: 次のガイド - 記事を参照し、コード最適化のベストプラクティスや、Zoho CRM 全体でカスタム関数を展開するさまざまな方法をご確認ください。

カスタム Solution 作成者: Francis (Vishnu) | Zoho パートナーサポート

ご不明な点がございましたら、どうぞご遠慮なくパートナー-サポート@zohocorp。comまでご連絡ください。

さらに、すべての「Europe and イギリスパートナー」の方はパートナー-サポート@eu.zohocorp.comまでご連絡ください。