<?xml version="1.0" encoding="UTF-8" ?><!-- generator=Zoho Sites --><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><atom:link href="https://www.blungo.com/blogs/tutorials/feed" rel="self" type="application/rss+xml"/><title>blungo - Blog , Tutorials</title><description>blungo - Blog , Tutorials</description><link>https://www.blungo.com/blogs/tutorials</link><lastBuildDate>Wed, 08 Oct 2025 16:52:12 -0700</lastBuildDate><generator>http://zoho.com/sites/</generator><item><title><![CDATA[Function: Create a Subfolders in WorkDrive from Zoho CRM]]></title><link>https://www.blungo.com/blogs/post/function-create-a-subfolders-in-workdrive-from-zoho-crm</link><description><![CDATA[<img align="left" hspace="5" src="https://www.blungo.com/Blogpost/Thumbnails/Function create folders and subfolders.png"/>We are going to create a workflow that will trigger a function that creates a set of subfolders inside a Team folder in Zoho WorkDrive. You can use th ]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_8IviC7roTWy1pB8T5m2pag" data-element-type="section" class="zpsection "><style type="text/css"> [data-element-id="elm_8IviC7roTWy1pB8T5m2pag"].zpsection{ border-radius:1px; } </style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_QTBrCAUDSOyFRlCdpLN1GQ" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"> [data-element-id="elm_QTBrCAUDSOyFRlCdpLN1GQ"].zprow{ border-radius:1px; } </style><div data-element-id="elm_VoIP_gLFRbaPD-J1OwS1cA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"> [data-element-id="elm_VoIP_gLFRbaPD-J1OwS1cA"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_Sb5SNDSydE7qemcHPeDkYA" data-element-type="iframe" class="zpelement zpelem-iframe "><style type="text/css"> [data-element-id="elm_Sb5SNDSydE7qemcHPeDkYA"].zpelem-iframe{ border-radius:1px; } </style><div class="zpiframe-container zpiframe-align-center"><iframe class="zpiframe " src="https://www.youtube.com/embed/7jRuCsR8iyY" width="560" height="315" align="center" allowfullscreen frameBorder="0"></iframe></div>
</div><div data-element-id="elm__bttFMMbQBeQgsOADxw2gg" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm__bttFMMbQBeQgsOADxw2gg"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">What we are going to do</h2></div>
<div data-element-id="elm_FZnVjR5LTqSOKJv9JmBOGQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_FZnVjR5LTqSOKJv9JmBOGQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p><span style="color:inherit;"><span style="font-size:12pt;">We are going to create a workflow that will trigger a function that creates a set of subfolders inside a Team folder in Zoho WorkDrive. You can use the function to create folders or subfolders in your personal folder as well. This is continuation of the previous tutorial called &quot;Function: Create a WorkDrive Team Folder and Attach it to the CRM Record&quot;.</span></span><br></p></div>
</div><div data-element-id="elm_DiNwxandSxP56pZ4iGSklA" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_DiNwxandSxP56pZ4iGSklA"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Important notes</h2></div>
<div data-element-id="elm_hz8PZ4Xcqs0QNEQoK-bF4A" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_hz8PZ4Xcqs0QNEQoK-bF4A"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ul><li><span style="color:inherit;"><span style="font-size:12pt;">We are going to create normal folders. If you want to create a Team Folder, check out this tutorial: <a href="https://www.blungo.com/blogs/post/function-create-a-workdrive-team-folder-and-attach-it-to-the-crm-record">https://www.blungo.com/blogs/post/function-create-a-workdrive-team-folder-and-attach-it-to-the-crm-record</a>.</span></span></li><li><span style="color:inherit;">This tutorial is Part 2 of the WorkDrive folder creation series. The code will work as long as you already have a WorkDrive Team Folder attached to the Deal. You can modify the code as needed if you are not going to use a Team Folder. The code below includes some examples of different ways to get the folder ID.&nbsp;</span><br></li><li>You have to have full access to Zoho CRM and WorkDrive.</li></ul></div>
</div><div data-element-id="elm_bH9HTWKeMYa0wBOHoFGR9Q" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_bH9HTWKeMYa0wBOHoFGR9Q"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Creating a connection</h2></div>
<div data-element-id="elm_dXzVsdkCiYi3-R5EpU9GEQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_dXzVsdkCiYi3-R5EpU9GEQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ol><li>In the CRM, go to the Setup.</li><li>Under &quot;developer space&quot;, click on &quot;connections&quot;.</li><li>Click on &quot;create connection&quot;.</li><li>The service is &quot;Zoho OAuth&quot;.</li><li>Name the connection. We are going to use &quot;<span style="background-color:rgb(178, 234, 121);">crm_workdrive</span>&quot;.</li><li>Add the scopes. Use the magnifier to easily find the scopes.</li><ol><li>List of scopes:&nbsp;ZohoCRM.modules.ALL, zohosearch.securesearch.READ, WorkDrive.team.ALL, WorkDrive.workspace.ALL, WorkDrive.files.ALL, WorkDrive.organization.READ, WorkDrive.members.READ, WorkDrive.members.CREATE, WorkDrive.members.UPDATE, WorkDrive.members.DELETE, WorkDrive.teamfolders.CREATE, WorkDrive.teamfolders.READ, WorkDrive.teamfolders.UPDATE, WorkDrive.teamfolders.DELETE, WorkDrive.teamfolders.sharing.CREATE, WorkDrive.teamfolders.sharing.READ, WorkDrive.teamfolders.sharing.UPDATE, WorkDrive.teamfolders.sharing.DELETE, WorkDrive.teamfolders.admin.READ, WorkDrive.groups.CREATE, WorkDrive.groups.READ, WorkDrive.groups.UPDATE, WorkDrive.groups.DELETE, WorkDrive.DataTemplates.CREATE, WorkDrive.DataTemplates.DELETE, WorkDrive.DataTemplates.UPDATE, WorkDrive.links.ALL, WorkDrive.users.READ</li></ol><li>Click on &quot;create and connect&quot;.</li><li>Click on &quot;connect&quot; and allow any permissions you are requested.</li></ol></div>
</div><div data-element-id="elm_FaQu2poynxcvsxnK4vLvCQ" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_FaQu2poynxcvsxnK4vLvCQ"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Setting up the function</h2></div>
<div data-element-id="elm_IYa4I1DOPxWtTnCpxCUwRQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_IYa4I1DOPxWtTnCpxCUwRQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ol><li>In the Zoho CRM settings, go to &quot;Functions&quot; under &quot;Developer Space&quot;.</li><li>Create a new function: Add a name and select &quot;Automation&quot; as the category.</li><li>Copy the function located below and paste it in the text editor in Zoho CRM.</li><li>Edit the arguments: add &quot;deal_id&quot; as a string.<br></li><li>Generate your folder structure:</li><ol><li>Rename the folders,</li><li>Add more folders,</li><li>Create subfolders if needed.</li></ol><ol></ol><li>Test the function with a Deal that has a WorkDrive Team Folder attached.</li><li>Save the function.</li></ol></div>
</div><div data-element-id="elm_H8fAKd_WczpG-aXn7TY2Ew" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column=""><style type="text/css"> [data-element-id="elm_H8fAKd_WczpG-aXn7TY2Ew"].zprow{ border-radius:1px; padding:0px; margin:0px; } </style><div data-element-id="elm_vATwNvQtHt_Lb9UIsJ_ysw" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_vATwNvQtHt_Lb9UIsJ_ysw"].zpelem-col{ border-radius:1px; padding:0px; margin:0px; } </style><div data-element-id="elm_wwXiouMai5DJkNfQwsy17w" data-element-type="box" class="zpelem-box zpelement zpbox-container zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_wwXiouMai5DJkNfQwsy17w"].zpelem-box{ background-color:#34495E; background-image:unset; border-style:solid; border-color:rgba(45,141,180,1) !important; border-width:1px; border-radius:5px; padding:0px; margin:0px; } </style><div data-element-id="elm_hW28a2NU066oD2gZzH_AKw" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_hW28a2NU066oD2gZzH_AKw"].zpelem-text { border-radius:1px; padding:20px; margin:0px; } </style><div class="zptext zptext-align-left " data-editor="true"><div><div><div><span style="color:rgb(255, 255, 255);">folder_info = zoho.crm.getRelatedRecords(&quot;Attachments&quot;,&quot;Deals&quot;,deal_id);</span></div><div><span style="color:rgb(255, 255, 255);">//this section finds the link in the attachments section, then it creates a list of elements in the link, and then picks the 8th element, which is the folder ID</span></div><div><span style="color:rgb(255, 255, 255);">Parent_Folder_ID = folder_info.get(0).get(&quot;$link_url&quot;).toList(&quot;/&quot;).get(8);</span></div><div><span style="color:rgb(255, 255, 255);">info Parent_Folder_ID;</span></div><div><span style="color:rgb(255, 255, 255);">// Option 2 to find the folder ID</span></div><div><span style="color:rgb(255, 255, 255);">// count = 0;</span></div><div><span style="color:rgb(255, 255, 255);">// for each&nbsp; item in folder_info</span></div><div><span style="color:rgb(255, 255, 255);">// {</span></div><div><span style="color:rgb(255, 255, 255);">// owner_id = folder_info.get(count).get(&quot;Owner&quot;).get(&quot;id&quot;);</span></div><div><span style="color:rgb(255, 255, 255);">// if(owner_id == &quot;4038274000010997002&quot;)</span></div><div><span style="color:rgb(255, 255, 255);">// {</span></div><div><span style="color:rgb(255, 255, 255);">// Parent_Folder_ID = folder_info.get(count).get(&quot;$link_url&quot;).toList(&quot;/&quot;).get(8);</span></div><div><span style="color:rgb(255, 255, 255);">// info Parent_Folder_ID;</span></div><div><span style="color:rgb(255, 255, 255);">// }</span></div><div><span style="color:rgb(255, 255, 255);">// count = count + 1;</span></div><div><span style="color:rgb(255, 255, 255);">// }</span></div><div><span style="color:rgb(255, 255, 255);">// Option 3: manually add the team folder ID</span></div><div><span style="color:rgb(255, 255, 255);">// Parent_Folder_ID = &quot;replacewithyourteamfolder&quot;;</span></div><div><span style="color:rgb(255, 255, 255);">// creating folder 1 ------------------------------------------------</span></div><div><span style="color:rgb(255, 255, 255);">folder_1 = zoho.workdrive.createFolder(&quot;Folder 1 Name&quot;,Parent_Folder_ID,&quot;crm_workdrive&quot;);</span></div><div><span style="color:rgb(255, 255, 255);">folder_1_id = folder_1.get(&quot;data&quot;).get(&quot;id&quot;);</span></div><div><span style="color:rgb(255, 255, 255);">//creating sub folders</span></div><div><span style="color:rgb(255, 255, 255);">subfolder_1 = zoho.workdrive.createFolder(&quot;Subfolder 1 Name&quot;,folder_1_id,&quot;crm_workdrive&quot;);</span></div><div><span style="color:rgb(255, 255, 255);">subfolder_2 = zoho.workdrive.createFolder(&quot;Subfolder 2 Name&quot;,folder_1_id,&quot;crm_workdrive&quot;);</span></div><div><span style="color:rgb(255, 255, 255);">// creating folder 2 -----------------------------------------------</span></div><div><span style="color:rgb(255, 255, 255);">folder_2 = zoho.workdrive.createFolder(&quot;Folder 2 Name&quot;,Parent_Folder_ID,&quot;crm_workdrive&quot;);</span></div><div><span style="color:rgb(255, 255, 255);">folder_2_id = folder_2.get(&quot;data&quot;).get(&quot;id&quot;);</span></div><div><span style="color:rgb(255, 255, 255);">//creating subfolders from list</span></div><div><span style="color:rgb(255, 255, 255);">subfolders = {&quot;Subfolder 3 Name&quot;,&quot;Subfolder 4 Name&quot;,&quot;Subfolder 5 Name&quot;,&quot;Subfolder 6 Name&quot;};</span></div><div><span style="color:rgb(255, 255, 255);">for each&nbsp; rec in subfolders</span></div><div><span style="color:rgb(255, 255, 255);">{</span></div><div><span style="color:rgb(255, 255, 255);">zoho.workdrive.createFolder(rec,folder_2_id,&quot;crm_workdrive&quot;);</span></div><div><span style="color:rgb(255, 255, 255);">}</span></div></div></div>
</div></div></div></div></div><div data-element-id="elm_F7_PNwVPap_oNUNACZmkRw" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_F7_PNwVPap_oNUNACZmkRw"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Creating a workflow</h2></div>
<div data-element-id="elm_0pXVcsx7xtyb2sp-wX_Rdg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_0pXVcsx7xtyb2sp-wX_Rdg"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><div style="color:inherit;"><ol><li>In the setup page, click on workflow rules under automations</li><li>Create a new rule, select the Deals module, and name it (we are selecting the Deals instead of the contact because we need to trigger this automation when a Deal stage changes)</li><li>Configure your workflow trigger and conditions:</li><ol><li>When &gt; on a record action &gt; Edit &gt; &quot;Subfolders Needed&quot; is modified to the value of &quot;Yes&quot;</li><li>Condition: all Deals</li></ol><li>As the instant action, select &quot;function&quot;</li><li>Click on &quot;new function&quot; and then select &quot;functions&quot;</li><li>Find the function you just created, and click on &quot;configure&quot;</li><li>Map the argument &quot;deal_id&quot; as the deal ID, using the # key</li><li>Click on &quot;save and associate&quot; and save the workflow</li><li>Test the workflow<br></li></ol></div></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Thu, 08 Jun 2023 16:12:52 -0700</pubDate></item><item><title><![CDATA[Function: Create a WorkDrive Team Folder and attach it to the CRM record]]></title><link>https://www.blungo.com/blogs/post/function-create-a-workdrive-team-folder-and-attach-it-to-the-crm-record</link><description><![CDATA[<img align="left" hspace="5" src="https://www.blungo.com/Blogpost/Thumbnails/Funcion- create workdrive team folder.png"/>We are going to create a workflow that will trigger a function that creates a Team folder in Zoho WorkDrive, and the folder will be attached to the attachments section in the CRM record. We are going to create a connection, then work on the function, and finally create the workflow.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_8IviC7roTWy1pB8T5m2pag" data-element-type="section" class="zpsection "><style type="text/css"> [data-element-id="elm_8IviC7roTWy1pB8T5m2pag"].zpsection{ border-radius:1px; } </style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_QTBrCAUDSOyFRlCdpLN1GQ" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"> [data-element-id="elm_QTBrCAUDSOyFRlCdpLN1GQ"].zprow{ border-radius:1px; } </style><div data-element-id="elm_VoIP_gLFRbaPD-J1OwS1cA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"> [data-element-id="elm_VoIP_gLFRbaPD-J1OwS1cA"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_LzB0GcByTVzOvXDnsiVWog" data-element-type="iframe" class="zpelement zpelem-iframe "><style type="text/css"> [data-element-id="elm_LzB0GcByTVzOvXDnsiVWog"].zpelem-iframe{ border-radius:1px; } </style><div class="zpiframe-container zpiframe-align-center"><iframe class="zpiframe " src="https://www.youtube.com/embed/14ivaEjK9Gg" width="560" height="315" align="center" allowfullscreen frameBorder="0"></iframe></div>
</div><div data-element-id="elm__bttFMMbQBeQgsOADxw2gg" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm__bttFMMbQBeQgsOADxw2gg"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">What we are going to do</h2></div>
<div data-element-id="elm_FZnVjR5LTqSOKJv9JmBOGQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_FZnVjR5LTqSOKJv9JmBOGQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p><span style="color:inherit;"><span style="font-size:12pt;">We are going to create a workflow that will trigger a function that creates a Team folder in Zoho WorkDrive, and the folder will be attached to the attachments section in the CRM record. We are going to create a connection, then work on the function, and finally create the workflow.</span></span><br></p></div>
</div><div data-element-id="elm_DiNwxandSxP56pZ4iGSklA" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_DiNwxandSxP56pZ4iGSklA"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Important notes</h2></div>
<div data-element-id="elm_hz8PZ4Xcqs0QNEQoK-bF4A" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_hz8PZ4Xcqs0QNEQoK-bF4A"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ul><li><span style="color:inherit;"><span style="font-size:12pt;">We are going to create a Team Folder. If you want to create a normal folder, check out the next tutorial.</span></span></li><li><span style="color:inherit;"><span style="font-size:12pt;">You have to have full access to Zoho CRM and WorkDrive.</span></span></li><li><span style="color:inherit;"><span style="font-size:12pt;">We are going to use the Deals module, but this works with any module, as long as the attachments section is enabled.</span></span></li></ul></div>
</div><div data-element-id="elm_bH9HTWKeMYa0wBOHoFGR9Q" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_bH9HTWKeMYa0wBOHoFGR9Q"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Creating a connection</h2></div>
<div data-element-id="elm_dXzVsdkCiYi3-R5EpU9GEQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_dXzVsdkCiYi3-R5EpU9GEQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ol><li>In the CRM, go to the Setup.</li><li>Under &quot;developer space&quot;, click on &quot;connections&quot;.</li><li>Click on &quot;create connection&quot;.</li><li>The service is &quot;Zoho OAuth&quot;.</li><li>Name the connection. We are going to use &quot;<span style="background-color:rgb(178, 234, 121);">crm_workdrive</span>&quot;.</li><li>Add the scopes. Use the magnifier to easily find the scopes.</li><ol><li>List of scopes:&nbsp;ZohoCRM.modules.ALL, zohosearch.securesearch.READ, WorkDrive.team.ALL, WorkDrive.workspace.ALL, WorkDrive.files.ALL, WorkDrive.organization.READ, WorkDrive.members.READ, WorkDrive.members.CREATE, WorkDrive.members.UPDATE, WorkDrive.members.DELETE, WorkDrive.teamfolders.CREATE, WorkDrive.teamfolders.READ, WorkDrive.teamfolders.UPDATE, WorkDrive.teamfolders.DELETE, WorkDrive.teamfolders.sharing.CREATE, WorkDrive.teamfolders.sharing.READ, WorkDrive.teamfolders.sharing.UPDATE, WorkDrive.teamfolders.sharing.DELETE, WorkDrive.teamfolders.admin.READ, WorkDrive.groups.CREATE, WorkDrive.groups.READ, WorkDrive.groups.UPDATE, WorkDrive.groups.DELETE, WorkDrive.DataTemplates.CREATE, WorkDrive.DataTemplates.DELETE, WorkDrive.DataTemplates.UPDATE, WorkDrive.links.ALL, WorkDrive.users.READ</li></ol><li>Click on &quot;create and connect&quot;.</li><li>Click on &quot;connect&quot; and allow any permissions you are requested.</li></ol></div>
</div><div data-element-id="elm_FaQu2poynxcvsxnK4vLvCQ" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_FaQu2poynxcvsxnK4vLvCQ"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Setting up the function</h2></div>
<div data-element-id="elm_IYa4I1DOPxWtTnCpxCUwRQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_IYa4I1DOPxWtTnCpxCUwRQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ol><li>In the Zoho CRM settings, go to &quot;Functions&quot; under &quot;Developer Space&quot;.</li><li>Create a new function: Add a name and select &quot;Automation&quot; as the category.</li><li>Copy the function located below and paste it in the text editor in Zoho CRM.</li><li>Edit the arguments: add &quot;deal_id&quot; as a string.<br></li><li>Get the parent folder ID from Zoho WorkDrive (on the URL).</li><ol><li>Replace &quot;yourparentfolderid&quot; with the id from the URL.</li></ol><ol></ol><li>Make changes to the createTeamFolder function's parameters if needed:</li><ol><li>Add a description or leave it empty (&quot;&quot;).</li><li>Select if it's a public folder (&quot;true&quot;) or private folder (&quot;false&quot;).</li><li>Make sure the connection name matches the connection you created in the previous step.</li></ol><ol></ol><li>Test the function with any deal.</li><li>Save the function.</li></ol></div>
</div><div data-element-id="elm_H8fAKd_WczpG-aXn7TY2Ew" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column=""><style type="text/css"> [data-element-id="elm_H8fAKd_WczpG-aXn7TY2Ew"].zprow{ border-radius:1px; padding:0px; margin:0px; } </style><div data-element-id="elm_vATwNvQtHt_Lb9UIsJ_ysw" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_vATwNvQtHt_Lb9UIsJ_ysw"].zpelem-col{ border-radius:1px; padding:0px; margin:0px; } </style><div data-element-id="elm_wwXiouMai5DJkNfQwsy17w" data-element-type="box" class="zpelem-box zpelement zpbox-container zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_wwXiouMai5DJkNfQwsy17w"].zpelem-box{ background-color:#34495E; background-image:unset; border-style:solid; border-color:rgba(45,141,180,1) !important; border-width:1px; border-radius:5px; padding:0px; margin:0px; } </style><div data-element-id="elm_hW28a2NU066oD2gZzH_AKw" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_hW28a2NU066oD2gZzH_AKw"].zpelem-text { border-radius:1px; padding:20px; margin:0px; } </style><div class="zptext zptext-align-left " data-editor="true"><div><div><div><div><span style="color:rgb(255, 255, 255);">DealInfo = zoho.crm.getRecordById(&quot;Deals&quot;,deal_id);</span></div><div><span style="color:rgb(255, 255, 255);">DealName = DealInfo.get(&quot;Deal_Name&quot;);</span></div><div><span style="color:rgb(255, 255, 255);">ParentFolderID = &quot;yourparentfolderid&quot;;</span></div><div><span style="color:rgb(255, 255, 255);">// limiting the amount of characters because the Workdrive folder name has a limit</span></div><div><span style="color:rgb(255, 255, 255);">if(DealName.len() &gt;= 40)</span></div><div><span style="color:rgb(255, 255, 255);">{</span></div><div><span style="color:rgb(255, 255, 255);">DealName = DealName.subString(0,40);</span></div><div><span style="color:rgb(255, 255, 255);">}</span></div><div><span style="color:rgb(255, 255, 255);">FolderName = DealName + &quot; - Main Folder&quot;;</span></div><div><span style="color:rgb(255, 255, 255);">// folder name - parent folder id - description - public - connection</span></div><div><span style="color:rgb(255, 255, 255);">Create_Team_Folder = zoho.workdrive.createTeamFolder(FolderName,ParentFolderID,&quot;Description test&quot;,true,&quot;crm_workdrive&quot;);</span></div><div><span style="color:rgb(255, 255, 255);">info Create_Team_Folder;</span></div><div><span style="color:rgb(255, 255, 255);">Team_Folder_ID = Create_Team_Folder.get(&quot;data&quot;).get(&quot;id&quot;);</span></div><div><span style="color:rgb(255, 255, 255);">info Team_Folder_ID;</span></div><div><span style="color:rgb(255, 255, 255);">// adding users to the team drive folder ----------------------------------------------</span></div><div><span style="color:rgb(255, 255, 255);">// l = {&quot;email1@yourdomain.com&quot;,&quot;email2@yourdomain.com&quot;};</span></div><div><span style="color:rgb(255, 255, 255);">// for each email in l</span></div><div><span style="color:rgb(255, 255, 255);">// {</span></div><div><span style="color:rgb(255, 255, 255);">// header = Map();</span></div><div><span style="color:rgb(255, 255, 255);">// header.put(&quot;Accept&quot;,&quot;application/vnd.api+json&quot;);</span></div><div><span style="color:rgb(255, 255, 255);">// data = Map();</span></div><div><span style="color:rgb(255, 255, 255);">// data_param1 = Map();</span></div><div><span style="color:rgb(255, 255, 255);">// att_param1 = Map();</span></div><div><span style="color:rgb(255, 255, 255);">// att_param1.put(&quot;resource_id&quot;,Team_Folder_ID);</span></div><div><span style="color:rgb(255, 255, 255);">// att_param1.put(&quot;shared_type&quot;,&quot;workspace&quot;);</span></div><div><span style="color:rgb(255, 255, 255);">// att_param1.put(&quot;email_id&quot;,email);</span></div><div><span style="color:rgb(255, 255, 255);">// att_param1.put(&quot;role_id&quot;,&quot;1&quot;);</span></div><div><span style="color:rgb(255, 255, 255);">// data_param1.put(&quot;attributes&quot;,att_param1);</span></div><div><span style="color:rgb(255, 255, 255);">// data_param1.put(&quot;type&quot;,&quot;members&quot;);</span></div><div><span style="color:rgb(255, 255, 255);">// data.put(&quot;data&quot;,data_param1);</span></div><div><span style="color:rgb(255, 255, 255);">// response = invokeurl</span></div><div><span style="color:rgb(255, 255, 255);">// [</span></div><div><span style="color:rgb(255, 255, 255);">// url :&quot;https://www.zohoapis.com/workdrive/api/v1/members&quot;</span></div><div><span style="color:rgb(255, 255, 255);">// type :POST</span></div><div><span style="color:rgb(255, 255, 255);">// parameters:data.toString()</span></div><div><span style="color:rgb(255, 255, 255);">// headers:header</span></div><div><span style="color:rgb(255, 255, 255);">// connection:&quot;crm_workdrive&quot;</span></div><div><span style="color:rgb(255, 255, 255);">// ];</span></div><div><span style="color:rgb(255, 255, 255);">// info response;</span></div><div><span style="color:rgb(255, 255, 255);">// }</span></div><div><span style="color:rgb(255, 255, 255);">// // link folder as ATTACHMENT IN CRM ------------------------------------------------</span></div><div><span style="color:rgb(255, 255, 255);">dataList = List();</span></div><div><span style="color:rgb(255, 255, 255);">data = Map();</span></div><div><span style="color:rgb(255, 255, 255);">data.put(&quot;$link_url&quot;,&quot;https://workdrive.zoho.com/home/&quot; + ParentFolderID + &quot;/teams/&quot; + ParentFolderID + &quot;/ws/&quot; + Team_Folder_ID + &quot;/folders/files&quot;);</span></div><div><span style="color:rgb(255, 255, 255);">data.put(&quot;File_Name&quot;,FolderName);</span></div><div><span style="color:rgb(255, 255, 255);">data.put(&quot;$type&quot;,&quot;teamdrive&quot;);</span></div><div><span style="color:rgb(255, 255, 255);">dataList.add(data);</span></div><div><span style="color:rgb(255, 255, 255);">payload = &quot;attachments=&quot; + zoho.encryption.urlEncode({&quot;data&quot;:dataList});</span></div><div><span style="color:rgb(255, 255, 255);">response = invokeurl</span></div><div><span style="color:rgb(255, 255, 255);">[</span></div><div><span style="color:rgb(255, 255, 255);">url :&quot;https://www.zohoapis.com/crm/v3/Deals/&quot; + deal_id + &quot;/Attachments&quot;</span></div><div><span style="color:rgb(255, 255, 255);">type :POST</span></div><div><span style="color:rgb(255, 255, 255);">parameters:payload</span></div><div><span style="color:rgb(255, 255, 255);">connection:&quot;crm_workdrive&quot;</span></div><div><span style="color:rgb(255, 255, 255);">content-type:&quot;application/x-www-form-urlencoded&quot;</span></div><div><span style="color:rgb(255, 255, 255);">];</span></div></div></div>
</div></div></div></div></div></div><div data-element-id="elm_F7_PNwVPap_oNUNACZmkRw" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_F7_PNwVPap_oNUNACZmkRw"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Creating a workflow</h2></div>
<div data-element-id="elm_0pXVcsx7xtyb2sp-wX_Rdg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_0pXVcsx7xtyb2sp-wX_Rdg"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><div style="color:inherit;"><ol><li>In the setup page, click on workflow rules under automations</li><li>Create a new rule, select the Deals module, and name it (we are selecting the Deals instead of the contact because we need to trigger this automation when a Deal stage changes)</li><li>Configure your workflow trigger and conditions:</li><ol><li>When &gt; on a record action &gt; Edit &gt; Stage is modified to the value of Won</li><li>Condition: all Deals</li></ol><li>As the instant action, select &quot;function&quot;</li><li>Click on &quot;new function&quot; and then select &quot;functions&quot;</li><li>Find the function you just created, and click on &quot;configure&quot;</li><li>Map the argument &quot;deal_id&quot; as the deal ID, using the # key</li><li>Click on &quot;save and associate&quot; and save the workflow</li><li>Test the workflow<br></li></ol></div></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Fri, 26 May 2023 09:54:32 -0700</pubDate></item><item><title><![CDATA[How to Create a Related Record with a Function in Zoho CRM]]></title><link>https://www.blungo.com/blogs/post/How-to-Create-a-Related-Record-with-a-Function-in-Zoho-CRM</link><description><![CDATA[<img align="left" hspace="5" src="https://www.blungo.com/Blogpost/Thumbnails/How to create related records automatically Zoho CRM.png"/>In this tutorial you are going to code a Deluge function that will create a related record in Zoho CRM.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_8IviC7roTWy1pB8T5m2pag" data-element-type="section" class="zpsection "><style type="text/css"> [data-element-id="elm_8IviC7roTWy1pB8T5m2pag"].zpsection{ border-radius:1px; } </style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_QTBrCAUDSOyFRlCdpLN1GQ" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"> [data-element-id="elm_QTBrCAUDSOyFRlCdpLN1GQ"].zprow{ border-radius:1px; } </style><div data-element-id="elm_VoIP_gLFRbaPD-J1OwS1cA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"> [data-element-id="elm_VoIP_gLFRbaPD-J1OwS1cA"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_SKIrkD5eWgU9a6bRiSTjeQ" data-element-type="iframe" class="zpelement zpelem-iframe "><style type="text/css"> [data-element-id="elm_SKIrkD5eWgU9a6bRiSTjeQ"].zpelem-iframe{ border-radius:1px; } </style><div class="zpiframe-container zpiframe-align-center"><iframe class="zpiframe " src="https://www.youtube.com/embed/9IkaJz26ZwM" width="560" height="315" align="center" allowfullscreen frameBorder="0"></iframe></div>
</div><div data-element-id="elm__bttFMMbQBeQgsOADxw2gg" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm__bttFMMbQBeQgsOADxw2gg"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">What we are going to do</h2></div>
<div data-element-id="elm_FZnVjR5LTqSOKJv9JmBOGQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_FZnVjR5LTqSOKJv9JmBOGQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>In this tutorial you are going to code a Deluge function that will create a related record in Zoho CRM. Then, we are going to add the function to a workflow, so it creates the record automatically. For this example, we are going to use the Deals module, that will trigger the automation, and a Custom module called Jobs, where the related record is going to be created. Both records are going to be linked.</p></div>
</div><div data-element-id="elm_DiNwxandSxP56pZ4iGSklA" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_DiNwxandSxP56pZ4iGSklA"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Pre-requisites</h2></div>
<div data-element-id="elm_hz8PZ4Xcqs0QNEQoK-bF4A" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_hz8PZ4Xcqs0QNEQoK-bF4A"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ul><li>The modules you want to use have to be already built. If you want to learn how to create a custom module, here's a tutorial:&nbsp;<a href="https://youtu.be/B-b_5qg1FpI">https://youtu.be/B-b_5qg1FpI</a></li><li><span style="color:inherit;">The child module must already contain the fields to receive information from the main module.</span><br></li></ul></div>
</div><div data-element-id="elm_bH9HTWKeMYa0wBOHoFGR9Q" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_bH9HTWKeMYa0wBOHoFGR9Q"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Adding a Lookup field</h2></div>
<div data-element-id="elm_dXzVsdkCiYi3-R5EpU9GEQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_dXzVsdkCiYi3-R5EpU9GEQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ol><li>In the Zoho CRM settings, go to &quot;Modules and Fields&quot;, and open the &quot;child&quot; module that you are going to link to the main module. In this case, we are going to open the Jobs module, that will be linked to the Deals module.</li><li>Open the layout where you are going to add the lookup field.</li><li>Drag and drop the lookup field to the layout.</li><li>Configure the lookup field:</li><ol><li>Name the field.</li><li>Select the lookup module. In our case, it it's the Deals module.</li><li>Name the related list. This is going to be displayed on the main module. We are going to call it &quot;Jobs&quot;.</li></ol><li>Click on &quot;Done&quot;.</li><li>Save the layout and close it.</li></ol></div>
</div><div data-element-id="elm_FaQu2poynxcvsxnK4vLvCQ" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_FaQu2poynxcvsxnK4vLvCQ"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Setting up the function</h2></div>
<div data-element-id="elm_IYa4I1DOPxWtTnCpxCUwRQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_IYa4I1DOPxWtTnCpxCUwRQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ol><li>In the Zoho CRM settings, go to &quot;Functions&quot; under &quot;Developer Space&quot;.</li><li>Create a new function: Add a name and select &quot;Automation&quot; as the category.</li><li>Copy the function located below and paste it in the text editor in Zoho CRM.</li><li>Edit the arguments: add &quot;deal_id&quot; as a string.<br></li><li>Get the Deal variables to pass to the Job:</li><ol><li>Find the API Names in the CRM settings.</li></ol><li>Map the variables using the Job module API Names.</li><ol><li>Make sure to include the &quot;deal_id&quot;, so the records link to each other.</li></ol><li>Test the function.</li><li>Save the function.</li></ol></div>
</div><div data-element-id="elm_H8fAKd_WczpG-aXn7TY2Ew" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column=""><style type="text/css"> [data-element-id="elm_H8fAKd_WczpG-aXn7TY2Ew"].zprow{ border-radius:1px; padding:0px; margin:0px; } </style><div data-element-id="elm_vATwNvQtHt_Lb9UIsJ_ysw" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_vATwNvQtHt_Lb9UIsJ_ysw"].zpelem-col{ border-radius:1px; padding:0px; margin:0px; } </style><div data-element-id="elm_wwXiouMai5DJkNfQwsy17w" data-element-type="box" class="zpelem-box zpelement zpbox-container zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_wwXiouMai5DJkNfQwsy17w"].zpelem-box{ background-color:#34495E; background-image:unset; border-style:solid; border-color:rgba(45,141,180,1) !important; border-width:1px; border-radius:5px; padding:0px; margin:0px; } </style><div data-element-id="elm_hW28a2NU066oD2gZzH_AKw" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_hW28a2NU066oD2gZzH_AKw"].zpelem-text { border-radius:1px; padding:20px; margin:0px; } </style><div class="zptext zptext-align-left " data-editor="true"><div><div><span style="color:rgb(255, 255, 255);">deal_info = zoho.crm.getRecordById(&quot;Deals&quot;,deal_id);</span></div>
<div><span style="color:rgb(255, 255, 255);">//</span></div><div><span style="color:rgb(255, 255, 255);">// get information about the deal</span></div>
<div><span style="color:rgb(255, 255, 255);">deal_name = deal_info.get(&quot;Deal_Name&quot;);</span></div>
<div><span style="color:rgb(255, 255, 255);">deal_estimator = deal_info.get(&quot;Estimator&quot;).get(&quot;id&quot;);</span></div>
<div><span style="color:rgb(255, 255, 255);">deal_type = deal_info.get(&quot;Type&quot;);</span></div>
<div><span style="color:rgb(255, 255, 255);">closing_date = deal_info.get(&quot;Closing_Date&quot;);</span></div>
<div><span style="color:rgb(255, 255, 255);">//</span></div><div><span style="color:rgb(255, 255, 255);">//create the record name</span></div>
<div><span style="color:rgb(255, 255, 255);">job_name = &quot;Job: &quot; + deal_name;</span></div>
<div><span style="color:rgb(255, 255, 255);">//</span></div><div><span style="color:rgb(255, 255, 255);">//map fields from the deal to the job</span></div>
<div><span style="color:rgb(255, 255, 255);">mp = Map();</span></div><div><span style="color:rgb(255, 255, 255);">mp.put(&quot;Type&quot;,deal_type);</span></div>
<div><span style="color:rgb(255, 255, 255);">mp.put(&quot;Estimator&quot;,deal_estimator);</span></div>
<div><span style="color:rgb(255, 255, 255);">mp.put(&quot;Closing_Date&quot;,closing_date);</span></div>
<div><span style="color:rgb(255, 255, 255);">mp.put(&quot;Name&quot;,job_name);</span></div>
<div><span style="color:rgb(255, 255, 255);">mp.put(&quot;<span style="font-size:14px;">Deal_Related</span>&quot;,deal_id);</span></div>
<div><span style="color:rgb(255, 255, 255);">//</span></div><div><span style="color:rgb(255, 255, 255);">//create the job</span></div>
<div><span style="color:rgb(255, 255, 255);">create_job = zoho.crm.createRecord(&quot;Jobs&quot;,mp);</span></div>
<div><span style="color:rgb(255, 255, 255);">info create_job;</span></div></div></div>
</div></div></div></div><div data-element-id="elm_F7_PNwVPap_oNUNACZmkRw" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_F7_PNwVPap_oNUNACZmkRw"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Creating a workflow</h2></div>
<div data-element-id="elm_0pXVcsx7xtyb2sp-wX_Rdg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_0pXVcsx7xtyb2sp-wX_Rdg"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><div style="color:inherit;"><ol><li>In the setup page, click on workflow rules under automations</li><li>Create a new rule, select the Deals module, and name it (we are selecting the Deals instead of the contact because we need to trigger this automation when a Deal stage changes)</li><li>Configure your workflow trigger and conditions:</li><ol><li>When &gt; on a record action &gt; Edit &gt; Stage is modified to the value of Won</li><li>Condition: all Deals</li></ol><li>As the instant action, select &quot;function&quot;</li><li>Click on &quot;new function&quot; and then select &quot;functions&quot;</li><li>Find the function you just created, and click on &quot;configure&quot;</li><li>Map the argument &quot;deal_id&quot; as the deal ID, using the # key</li><li>Click on &quot;save and associate&quot; and save the workflow</li><li>Test the workflow<br></li></ol></div></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Fri, 31 Mar 2023 11:29:14 -0700</pubDate></item><item><title><![CDATA[Set Up Subdomains for Zoho Apps]]></title><link>https://www.blungo.com/blogs/post/set-up-subdomains-for-zoho-apps</link><description><![CDATA[<img align="left" hspace="5" src="https://www.blungo.com/Blogpost/Thumbnails/Create a subdomain for your Zoho Apps.png"/>In this article, you are going to find a series of tips that will help you with setting up subdomains for Zoho apps. Watch the video for the full tutorial.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_8IviC7roTWy1pB8T5m2pag" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_QTBrCAUDSOyFRlCdpLN1GQ" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"> [data-element-id="elm_QTBrCAUDSOyFRlCdpLN1GQ"].zprow{ border-radius:1px; } </style><div data-element-id="elm_VoIP_gLFRbaPD-J1OwS1cA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"> [data-element-id="elm_VoIP_gLFRbaPD-J1OwS1cA"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_TssOjPsmxvJicbm2RWP6Aw" data-element-type="iframe" class="zpelement zpelem-iframe "><style type="text/css"> [data-element-id="elm_TssOjPsmxvJicbm2RWP6Aw"].zpelem-iframe{ border-radius:1px; } </style><div class="zpiframe-container zpiframe-align-center"><iframe class="zpiframe " src="https://www.youtube.com/embed/Si_zaep0VqM" width="560" height="315" align="center" allowfullscreen frameBorder="0"></iframe></div>
</div><div data-element-id="elm__bttFMMbQBeQgsOADxw2gg" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm__bttFMMbQBeQgsOADxw2gg"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">What we are going to do</h2></div>
<div data-element-id="elm_FZnVjR5LTqSOKJv9JmBOGQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_FZnVjR5LTqSOKJv9JmBOGQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>In this article you are going to find a series of tips that will help you with setting up subdomains for Zoho apps. Watch the video for the full tutorial.</p></div>
</div><div data-element-id="elm_DiNwxandSxP56pZ4iGSklA" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_DiNwxandSxP56pZ4iGSklA"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Tips</h2></div>
<div data-element-id="elm_Xxk_NPeah5V5w4v05pp0BQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_Xxk_NPeah5V5w4v05pp0BQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ul><li>On the example we are using Zoho Bookings, but the process is very similar on other Zoho Apps.</li><li>Some Zoho Apps require you to add a verification subdomain to your DNS, besides the actual subdomain you want to use. So, you will be adding 2 records.</li><li>After you add the DNS records, you might have to wait up to 48 hours until they are ready.</li><li>Once you are able to verify the domain, you have to wait until Zoho installs an SSL Certificate to ensure encryption.</li><li>You can use subdomains on these Zoho Apps: Bookings, LandingPage, Desk (Knowledge Database), Recruit (Portals) , Projects, Books, Cliq, Forms, Meetings, Workdrive, Sites, Connect, People, and a lot more.</li></ul></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Mon, 20 Mar 2023 02:14:37 -0700</pubDate></item><item><title><![CDATA[Working with Multi-Select Look Up fields in Zoho CRM]]></title><link>https://www.blungo.com/blogs/post/working-with-multi-select-look-up-fields-in-zoho-crm</link><description><![CDATA[<img align="left" hspace="5" src="https://www.blungo.com/Blogpost/Thumbnails/Working with multi select lookup fields Zoho CRM.png"/>In this tutorial, we are going to show you how two different ways to find the Linking Module API fields, and we are going to review an example of how to search for records in a Multi-Select Look Up field.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_8IviC7roTWy1pB8T5m2pag" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_QTBrCAUDSOyFRlCdpLN1GQ" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"> [data-element-id="elm_QTBrCAUDSOyFRlCdpLN1GQ"].zprow{ border-radius:1px; } </style><div data-element-id="elm_VoIP_gLFRbaPD-J1OwS1cA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"> [data-element-id="elm_VoIP_gLFRbaPD-J1OwS1cA"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_eFvagBqz9_P8zVMGB-Q3bA" data-element-type="iframe" class="zpelement zpelem-iframe "><style type="text/css"> [data-element-id="elm_eFvagBqz9_P8zVMGB-Q3bA"].zpelem-iframe{ border-radius:1px; } </style><div class="zpiframe-container zpiframe-align-center"><iframe class="zpiframe " src="https://www.youtube.com/embed/MgBWS7KKC9k" width="560" height="315" align="center" allowfullscreen frameBorder="0"></iframe></div>
</div><div data-element-id="elm__bttFMMbQBeQgsOADxw2gg" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm__bttFMMbQBeQgsOADxw2gg"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">What we are going to do</h2></div>
<div data-element-id="elm_FZnVjR5LTqSOKJv9JmBOGQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_FZnVjR5LTqSOKJv9JmBOGQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>In this tutorial&nbsp;<span style="color:inherit;">we are going to show you how two different ways to find the Linking Module API fields, and we are going to review an example of how to search for records in a Multi-Select Look Up field.</span></p><p><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">When you create a Multi-Select Look Up fields (MSLU), a new module called &quot;Linking Module&quot; is created. This module holds some basic information about how the two records are related. The Linking Module has it's own API name, so if you want to use it in a function, you have to know the API name. There are 2 ways you can get the API Name: searching in the CRM settings, or using a custom function.</span></p></div>
</div><div data-element-id="elm_DiNwxandSxP56pZ4iGSklA" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_DiNwxandSxP56pZ4iGSklA"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Linking Module API Name</h2></div>
<div data-element-id="elm_0-bi_BpOoQy3M0_uVCAdkQ" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_0-bi_BpOoQy3M0_uVCAdkQ"].zpelem-heading { border-radius:1px; } </style><h4
 class="zpheading zpheading-align-left " data-editor="true">CRM Settings</h4></div>
<div data-element-id="elm_Xxk_NPeah5V5w4v05pp0BQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_Xxk_NPeah5V5w4v05pp0BQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><div>This is seems like the easy way to do it, but it might be more complicated than using a custom function. The issue with this way is that you have to make some assumptions. Normally, your assumptions will be correct, but there's a small chance that the name of one of the modules linked by the Linking module was changed, and this could conflict with the setup.</div><div><br></div><div><span style="text-decoration-line:underline;">Here's how to do it:</span></div><div><ol><li>In the CRM, go to the setup.</li><li>On the search bar, look for &quot;CRM API&quot;, and open the first result.</li><li>Click on the &quot;API names&quot; sub-tab.</li><li>Open any of the modules listed here.</li><li>Now, on the &quot;filters by&quot; section, click on the modules field.</li><li>If you scroll all the way down, you will find the Linking Modules.</li></ol><div><br></div></div><div><span style="color:inherit;"><img src="/Sun%20Mar%2005%202023.png" alt=""></span><br></div><div><span style="color:inherit;"><br></span></div><div><span style="color:inherit;">The Linking Module API name is the module name &quot;Contacts X Properties&quot;, but you have to replace the spaces with underscores like this &quot;Contacts_X_Properties&quot;. Now, if any of the modules' names changed, this method might not work for you.</span></div><div><span style="color:inherit;"><br></span></div><div>If you open any Linking Module, you will see the fields related to the module. We are going to use some of the fields in the example that you can find at the end of this article.</div><div><br></div><div><img src="/Sun%20Mar%2005%202023-3.png" alt="" style="color:inherit;"><span style="color:inherit;"><img alt="" id="imageUriImported"></span><span style="color:inherit;"><br></span></div></div>
</div><div data-element-id="elm_EAQOwjjvCyAgzI82YSDjog" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_EAQOwjjvCyAgzI82YSDjog"].zpelem-heading { border-radius:1px; } </style><h4
 class="zpheading zpheading-align-left " data-editor="true">Custom function</h4></div>
<div data-element-id="elm_42GNThegWdwOaqwQW9cfrw" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_42GNThegWdwOaqwQW9cfrw"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><div>This method is more complicated, but always gives you the correct Linking Modules API Names.</div><div><br></div><div><span style="text-decoration-line:underline;">Add a connection:</span></div><div><ol><li>In the CRM, go to the Setup.</li><li>Under &quot;developer space&quot;, click on &quot;connections&quot;.</li><li>Click on &quot;create connection&quot;.</li><li>The service is &quot;Zoho OAuth&quot;.</li><li>Name the connection. We are going to use &quot;linking_module_API&quot;.</li><li>The scope is &quot;ZohoCRM.settings.modules.ALL&quot;. Use the magnifier to easily find it.</li><li>Click on &quot;create and connect&quot;.</li><li>Click on &quot;connect&quot; and allow any permissions you are requested.</li></ol></div><div><br></div><div><span style="text-decoration-line:underline;">Create the function:</span></div><div><div style="color:inherit;"><div><ol><li>In the CRM, go to the Setup.</li><li>Under &quot;developer space&quot;, click on &quot;functions&quot;.</li><li>Create a new function with the &quot;new function&quot; button.</li><li>Name the function.</li><li>The category is &quot;automation&quot;.</li><li>Click on &quot;create&quot;.</li><li>Copy the first code listed below (called &quot;Find Linking Modules API Names&quot;)</li><li>Paste the code in the function.</li><li>Replace the connection name with the name of the connection created in the previous step.</li><li>Click on &quot;Save &amp; Execute&quot;.</li></ol></div><div><br></div><div>The console will give you a list of the Linking Modules API names.</div></div></div></div>
</div><div data-element-id="elm_ciq0YZMJ43EG0UdZ9rjivg" data-element-type="box" class="zpelem-box zpelement zpbox-container zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_ciq0YZMJ43EG0UdZ9rjivg"].zpelem-box{ background-color:#C4E8A1; background-image:unset; border-style:solid; border-color:#1D90E2 !important; border-width:1px; border-radius:5px; padding:20px; } </style><div data-element-id="elm_KmFzfv5GP7K1sB8gq6TcFg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_KmFzfv5GP7K1sB8gq6TcFg"].zpelem-text { border-radius:1px; padding:0px; margin:0px; } </style><div class="zptext zptext-align-left " data-editor="true"><span style="font-size:16px;">// Finding Linking Modules API Names</span><div style="color:inherit;"><div> get_linking_modules_api = invokeurl </div>
<div> [ </div><div> url :&quot;https://www.zohoapis.com/crm/v3/settings/modules&quot; </div>
<div> type :GET </div><div> connection:&quot;<span style="color:inherit;">linking_module_api</span>&quot; </div>
<div> ]; </div><div> modules_info = get_linking_modules_api.get(&quot;modules&quot;); </div>
<div> for each&nbsp; item in modules_info </div><div> { </div><div> module_type = item.get(&quot;generated_type&quot;); </div>
<div> if(module_type == &quot;linking&quot;) </div><div> { </div><div> module_api = item.get(&quot;api_name&quot;); </div>
<div> info module_api; </div><div> } </div><div> } </div></div></div></div></div>
<div data-element-id="elm_qQGrfB2Sl8Sn6lgzL7Je6w" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_qQGrfB2Sl8Sn6lgzL7Je6w"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Example: Contacts and Properties Multi-Look Up Field</h2></div>
<div data-element-id="elm_wdrQLI4Zx4Q1mAJZ5SqRng" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_wdrQLI4Zx4Q1mAJZ5SqRng"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><div>Let's say we have a custom module called Properties, that is related to the Contacts module. In the Contacts layout, we have a MSLU field where you can select multiple Properties.</div><div><br></div><div>If you try to get information from the MSLU using the &quot;get&quot; function, the result will be a string of text with all the Property names combined. There's no JSON with the Properties IDs or names.</div><div><br></div><div>Below you will find the function that you can copy and paste. We are going to explain each section individually. Make sure to add &quot;contact_id&quot; as an string in the arguments.</div><div><br></div><div>1)&nbsp;<span style="color:inherit;">property_list = zoho.crm.searchRecords(&quot;Contacts_X_Properties&quot;,&quot;(Property_Contact:equals:&quot; + contact_id + &quot;)&quot;);</span></div><div><span style="color:inherit;">This line uses the &quot;contact_id&quot; to search for all the properties that are linked to the Contact via the Linking Module. The &quot;Property_Contact&quot; API name can found by following the steps on the first section of this article. This function will return one o multiple results in a JSON.</span></div><div><br></div><div>2)&nbsp;<span style="color:inherit;">for each&nbsp; item in property_list</span></div><div>Now we are going over each result, and we will use some functions to get data from the properties.</div><div><br></div><div>3)&nbsp;<span style="color:inherit;">Property_id = item.get(&quot;Related_Properties&quot;).get(&quot;id&quot;);</span></div><div><span style="color:inherit;">We are getting the property ID using the field &quot;Related_Properties&quot; from the Linking Module.</span></div><div><span style="color:inherit;"><br></span></div><div><span style="color:inherit;">4)&nbsp;</span><span style="color:inherit;">Propert_info = zoho.crm.getRecordById(&quot;Properties&quot;,Property_id);</span></div><div><span style="color:inherit;">Now that we have the property ID, we can search for that property and get all the information related to it.</span></div><div><span style="color:inherit;"><br></span></div><div><span style="color:inherit;">5)&nbsp;</span><span style="color:inherit;">Property_name = Propert_info.get(&quot;Name&quot;);</span></div><div>From line 4, we can get, for example, the property name.</div><div><br></div><div>6)&nbsp;<span style="color:inherit;">Propery_sq = Propert_info.get(&quot;Sq_Footage&quot;);</span></div><div><span style="color:inherit;">From line 4, we can also get any other information stored in the property. In this case, we are getting the Square Footage.</span></div></div>
</div><div data-element-id="elm_OkwzJJoROSyyuERDXa7sZw" data-element-type="box" class="zpelem-box zpelement zpbox-container zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_OkwzJJoROSyyuERDXa7sZw"].zpelem-box{ background-color:#C4E8A1; background-image:unset; border-style:solid; border-color:#1D90E2 !important; border-width:1px; border-radius:5px; padding:20px; } </style><div data-element-id="elm_N3c9HSSF7CJcos94xnoSDQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_N3c9HSSF7CJcos94xnoSDQ"].zpelem-text { border-radius:1px; padding:0px; margin:0px; } </style><div class="zptext zptext-align-left " data-editor="true"><span style="font-size:16px;">// Example</span><div><span style="font-size:16px;"><div style="color:inherit;"><div>property_list = zoho.crm.searchRecords(&quot;Contacts_X_Properties&quot;,&quot;(Property_Contact:equals:&quot; + contact_id + &quot;)&quot;);</div><div>for each&nbsp; item in property_list</div><div>{</div><div>Property_id = item.get(&quot;Related_Properties&quot;).get(&quot;id&quot;);</div><div>Propert_info = zoho.crm.getRecordById(&quot;Properties&quot;,Property_id);</div><div>Property_name = Propert_info.get(&quot;Name&quot;);</div><div>info Property_name;</div><div>Propery_sq = Propert_info.get(&quot;Sq_Footage&quot;);</div><div>info Propery_sq;</div><div>}</div></div></span></div></div>
</div></div></div></div></div></div></div> ]]></content:encoded><pubDate>Thu, 09 Mar 2023 12:24:34 -0800</pubDate></item><item><title><![CDATA[How to Create a ChatGPT Bot in Zoho Cliq]]></title><link>https://www.blungo.com/blogs/post/Create-a-ChatGPT-Bot-Zoho-Cliq</link><description><![CDATA[<img align="left" hspace="5" src="https://www.blungo.com/Blogpost/Thumbnails/Create a chatgpt bot in zoho cliq.png"/>In this tutorial we are going to go over how to create a bot that uses the ChatGPT API to respond to our questions. Once the bot is ready, we are going to add it to a channel. You will be able to use the bot directly or through the channel.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_8IviC7roTWy1pB8T5m2pag" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_QTBrCAUDSOyFRlCdpLN1GQ" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"> [data-element-id="elm_QTBrCAUDSOyFRlCdpLN1GQ"].zprow{ border-radius:1px; } </style><div data-element-id="elm_VoIP_gLFRbaPD-J1OwS1cA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"> [data-element-id="elm_VoIP_gLFRbaPD-J1OwS1cA"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_KGYXp4_7hZ9F7ojhEVtoDw" data-element-type="iframe" class="zpelement zpelem-iframe "><style type="text/css"> [data-element-id="elm_KGYXp4_7hZ9F7ojhEVtoDw"].zpelem-iframe{ border-radius:1px; } </style><div class="zpiframe-container zpiframe-align-center"><iframe class="zpiframe " src="https://www.youtube.com/embed/rWeRia2SJrw" width="560" height="315" align="center" allowfullscreen frameBorder="0"></iframe></div>
</div><div data-element-id="elm__bttFMMbQBeQgsOADxw2gg" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm__bttFMMbQBeQgsOADxw2gg"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">What we are going to do</h2></div>
<div data-element-id="elm_FZnVjR5LTqSOKJv9JmBOGQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_FZnVjR5LTqSOKJv9JmBOGQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>In this tutorial we are going to go over how to create a bot that uses the ChatGPT API to respond to our questions. Once the bot is ready, we are going to add it to a channel. You will be able to use the bot directly or through the channel.&nbsp;<span style="color:inherit;">We are going to use the ChatGPT-3 API, that is not the latest version. The ChatGPT-4 API is not available at the time of creating this tutorial. Once the newer API version is available, we will edit this article.</span></p><p><span style="color:inherit;"><br></span></p><p>If you would like to learn how to create a Slash Command to ask questions to ChatGPT, check out this link.</p></div>
</div><div data-element-id="elm_DiNwxandSxP56pZ4iGSklA" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_DiNwxandSxP56pZ4iGSklA"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Pre-requisites</h2></div>
<div data-element-id="elm_Xxk_NPeah5V5w4v05pp0BQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_Xxk_NPeah5V5w4v05pp0BQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ul><li>An OpenAI account.</li></ul></div>
</div><div data-element-id="elm_qQGrfB2Sl8Sn6lgzL7Je6w" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_qQGrfB2Sl8Sn6lgzL7Je6w"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Creating the Bot</h2></div>
<div data-element-id="elm_TFRPDqt8lz3vXWSnA1aVhQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_TFRPDqt8lz3vXWSnA1aVhQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ol><li>In Zoho Cliq, click on your profile picture, and go to &quot;Bots &amp; Tools&quot;.</li><li>On the Bots tab, click on the &quot;Create Bot&quot; button<br></li><li>Name the Bot: for this example we are going to name it &quot;ChatGPT&quot;</li><li>Choose the access level: we are going to choose &quot;organization&quot;, so anyone in our organization can use this bot</li><li><span style="color:inherit;">Under Channel Participation, select &quot;Allow users to add this bot to any channel&quot;. Also check &quot;Send messages&quot;, &quot;Listen to Messages&quot; and &quot;auto-follow threads&quot;. This is important because we are going to add the bot to a channel later on.</span><br></li><li>Optional: add a bot image</li><li>Click on &quot;Save Bot&quot;</li></ol></div>
</div><div data-element-id="elm_KeLLX98_CvputMb1INmu8A" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_KeLLX98_CvputMb1INmu8A"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Adding the Message Handler Code</h2></div>
<div data-element-id="elm_HgKHqzMlyLRFf0srvnx6Kg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_HgKHqzMlyLRFf0srvnx6Kg"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ol><li>On the &quot;Bots&quot; tab, hover over the bot and click on &quot;Edit Handlers&quot;<br></li><li>Now click on &quot;Edit Code&quot; below &quot;Message Handler&quot;</li><li>Copy the code below.</li><li>Paste the code in the code box.</li><li>In OpenAI account, go to the settings and click on the &quot;API Keys&quot; tab (or use <a href="https://platform.openai.com/account/api-keys" title="this link" rel="">this link</a>).<br></li><li>Generate a new secret key and copy it.</li><li>Back in Zoho Cliq, replace the key &quot;XXXXXXXXXXXX&quot; with the one you generated.<br></li><li>Cliq on Save.</li></ol><div><br></div><div>That's it. The bot should be working. To test it, you can use the side chat panel. The first time you try to use it, you will have to grant some permissions first.</div></div>
</div><div data-element-id="elm_ciq0YZMJ43EG0UdZ9rjivg" data-element-type="box" class="zpelem-box zpelement zpbox-container zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_ciq0YZMJ43EG0UdZ9rjivg"].zpelem-box{ background-color:#B2EA79; background-image:unset; border-style:solid; border-color:#04EA04 !important; border-width:1px; border-radius:5px; padding:20px; } </style><div data-element-id="elm_KmFzfv5GP7K1sB8gq6TcFg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_KmFzfv5GP7K1sB8gq6TcFg"].zpelem-text { border-radius:1px; padding:0px; margin:0px; } </style><div class="zptext zptext-align-left " data-editor="true"><div style="color:inherit;"><div>//Message Handler Code</div><div>response = Map();</div><div><span style="color:inherit;">question = message;</span><br></div><div>// Add Open AI token</div><div>token = &quot;Bearer XXXXXXXXXXXX&quot;;</div><div>//</div><div>header = Map();</div><div>header.put(&quot;Authorization&quot;,token);</div><div>header.put(&quot;Content-Type&quot;,&quot;application/json&quot;);</div><div>params = {&quot;model&quot;:&quot;text-davinci-003&quot;,&quot;prompt&quot;:question,&quot;temperature&quot;:0.4,&quot;top_p&quot;:1,&quot;max_tokens&quot;:256,&quot;frequency_penalty&quot;:0,&quot;presence_penalty&quot;:0,&quot;stop&quot;:{&quot; Human:&quot;,&quot; AI:&quot;}};</div><div>fetchCompletions = invokeurl</div><div>[</div><div>url :&quot;https://api.openai.com/v1/completions&quot;</div><div>type :POST</div><div>parameters:params.toString()</div><div>headers:header</div><div>detailed:true</div><div>];</div><div>info &quot;Fetch completions: &quot; + fetchCompletions;</div><div>if(fetchCompletions.get(&quot;responseCode&quot;) == 200)</div><div>{</div><div>answer = fetchCompletions.get(&quot;responseText&quot;).get(&quot;choices&quot;).getJSON(&quot;text&quot;);</div><div>response.put(&quot;text&quot;,answer);</div><div>}</div><div>else if(fetchCompletions.get(&quot;responseCode&quot;) == 429)</div><div>{</div><div>response = {&quot;text&quot;:&quot;I can't help with this. Try asking something else.&quot;};</div><div>}</div><div>return response;</div></div></div>
</div></div><div data-element-id="elm_1jctI-J1lJnhrIE6XeStEw" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_1jctI-J1lJnhrIE6XeStEw"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Adding the Bot to a Channel and edit the Participation Handler</h2></div>
<div data-element-id="elm_75pcWOdATZDgq5ZJJ-cggg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_75pcWOdATZDgq5ZJJ-cggg"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ol><li>Add the bot to the channel, as you would add a user to the channel.</li><li>Now go to &quot;Bots &amp; Tools&quot;.</li><li>On the &quot;Bots&quot; tab, hover over the ChatGPT Bot and click on &quot;Edit Handlers&quot;.<br></li><li>Now click on &quot;Edit Code&quot; below &quot;Participation Handler&quot;.</li><li>Copy the code below.</li><li>Paste the code in the code box.</li><li>Save the changes.</li><li>Go back to the &quot;Message Handler&quot; code, and copy the ChatGTP API Key.</li><li>Back in the &quot;Participation Handler&quot;, replace the key &quot;XXXXXXXXXXXX&quot; with the one you copied.<br></li><li>Save the changes again.</li></ol><div><br></div><div>The bot is ready to answer to any questions you post on the channel. To test it out, just send a message in the channel and wait for the ChatGPT response.</div></div>
</div><div data-element-id="elm_GPq2-zqqgLsxBsLmbZtlvg" data-element-type="box" class="zpelem-box zpelement zpbox-container zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_GPq2-zqqgLsxBsLmbZtlvg"].zpelem-box{ background-color:#B2EA79; background-image:unset; border-style:solid; border-color:#04EA04 !important; border-width:1px; border-radius:5px; padding:20px; } </style><div data-element-id="elm_0MijW0jMrmIgU75cTL4EWg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_0MijW0jMrmIgU75cTL4EWg"].zpelem-text { border-radius:1px; padding:0px; margin:0px; } </style><div class="zptext zptext-align-left " data-editor="true"><div style="color:inherit;"><div>//Participation Handler Code</div><div><div style="color:inherit;"><div style="color:inherit;"><div>response = Map();</div><div>if(operation == &quot;message_sent&quot;)</div><div>{</div><div>if(data.get(&quot;message&quot;).get(&quot;type&quot;) == &quot;text&quot;)</div><div>{</div><div>response = Map();</div><div>question = data.get(&quot;message&quot;).get(&quot;text&quot;);</div><div>token = &quot;Bearer XXXXXXXXXXXX&quot;;</div><div>header = Map();</div><div>header.put(&quot;Authorization&quot;,token);</div><div>header.put(&quot;Content-Type&quot;,&quot;application/json&quot;);</div><div>params = {&quot;model&quot;:&quot;text-davinci-003&quot;,&quot;prompt&quot;:question,&quot;temperature&quot;:0.9,&quot;max_tokens&quot;:256,&quot;top_p&quot;:1,&quot;frequency_penalty&quot;:0,&quot;presence_penalty&quot;:0,&quot;stop&quot;:{&quot; Human:&quot;,&quot; AI:&quot;}};</div><div>fetchCompletions = invokeurl</div><div>[</div><div>url :&quot;https://api.openai.com/v1/completions&quot;</div><div>type :POST</div><div>parameters:params.toString()</div><div>detailed : true</div><div>headers:header</div><div>];</div><div>if(fetchCompletions.get(&quot;responseCode&quot;) == 200)</div><div>{</div><div>answer = fetchCompletions.get(&quot;responseText&quot;).get(&quot;choices&quot;).getJSON(&quot;text&quot;);</div><div>info &quot;answer&quot; + answer;</div><div>response.put(&quot;text&quot;,answer);</div><div>}</div><div>else if(fetchCompletions.get(&quot;responseCode&quot;) == 429)</div><div>{</div><div>&nbsp;response = {&quot;text&quot;:&quot;<span style="color:inherit;">I can't help with this. Try asking something else.</span>&quot;};</div><div>}</div><div>}</div><div>}</div><div>return response ;</div></div></div></div></div></div>
</div></div></div></div></div></div></div> ]]></content:encoded><pubDate>Sat, 25 Feb 2023 11:39:34 -0800</pubDate></item><item><title><![CDATA[Create a ChatGPT Slash Command in Zoho Cliq]]></title><link>https://www.blungo.com/blogs/post/Create-a-ChatGPT-Slash-Command-in-Zoho-Cliq</link><description><![CDATA[<img align="left" hspace="5" src="https://www.blungo.com/Blogpost/Thumbnails/Create a chatgpt slash command.png"/>In this tutorial, we are going to go over how to create a slash command in Zoho Cliq, so you can ask questions to ChatGPT directly in Cliq.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_8IviC7roTWy1pB8T5m2pag" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_QTBrCAUDSOyFRlCdpLN1GQ" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"> [data-element-id="elm_QTBrCAUDSOyFRlCdpLN1GQ"].zprow{ border-radius:1px; } </style><div data-element-id="elm_VoIP_gLFRbaPD-J1OwS1cA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"> [data-element-id="elm_VoIP_gLFRbaPD-J1OwS1cA"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_Au-KS9B2rZO9fZBiSL1FKw" data-element-type="iframe" class="zpelement zpelem-iframe "><style type="text/css"> [data-element-id="elm_Au-KS9B2rZO9fZBiSL1FKw"].zpelem-iframe{ border-radius:1px; } </style><div class="zpiframe-container zpiframe-align-center"><iframe class="zpiframe " src="https://www.youtube.com/embed/Ctft87QFdNc" width="560" height="315" align="center" allowfullscreen frameBorder="0"></iframe></div>
</div><div data-element-id="elm__bttFMMbQBeQgsOADxw2gg" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm__bttFMMbQBeQgsOADxw2gg"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">What we are going to do</h2></div>
<div data-element-id="elm_FZnVjR5LTqSOKJv9JmBOGQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_FZnVjR5LTqSOKJv9JmBOGQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>In this tutorial we are going to go over how to create a slash command in Zoho Cliq, so you can ask questions to ChatGPT directly in Cliq. Once you get the answer, you will be able to post them on any chat or channel.&nbsp;<span style="color:inherit;">We are going to use the ChatGPT-3 API, that is not the latest version. The ChatGPT-4 API is not available at the time of creating this tutorial. Once the newer API version is available, we will edit this article.</span></p></div>
</div><div data-element-id="elm_DiNwxandSxP56pZ4iGSklA" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_DiNwxandSxP56pZ4iGSklA"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Pre-requisites</h2></div>
<div data-element-id="elm_Xxk_NPeah5V5w4v05pp0BQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_Xxk_NPeah5V5w4v05pp0BQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ul><li>An OpenAI account.</li></ul></div>
</div><div data-element-id="elm_qQGrfB2Sl8Sn6lgzL7Je6w" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_qQGrfB2Sl8Sn6lgzL7Je6w"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Creating the Command</h2></div>
<div data-element-id="elm_TFRPDqt8lz3vXWSnA1aVhQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_TFRPDqt8lz3vXWSnA1aVhQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ol><li>In Zoho Cliq, click on your profile picture, and go to &quot;Bots &amp; Tools&quot;.</li><li>On the left, click on &quot;Commands&quot;</li><li>Click on the &quot;Create Command&quot; button</li><li>Name the command: for this example we are going to name it &quot;chatgpt&quot;</li><li>Add a Hint: for example, ChatGPT answers your questions.</li><li>Choose the access level: we are going to choose &quot;organization&quot;</li><li>Optional: add an image</li><li>Click on &quot;Save &amp; Edit Code&quot;</li></ol></div>
</div><div data-element-id="elm_KeLLX98_CvputMb1INmu8A" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_KeLLX98_CvputMb1INmu8A"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Editing the Code</h2></div>
<div data-element-id="elm_HgKHqzMlyLRFf0srvnx6Kg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_HgKHqzMlyLRFf0srvnx6Kg"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><div><span style="text-decoration-line:underline;">On the Execution Handler tab:</span></div><ol><li>Delete the code that is already there.<br></li><li>Copy the code below.</li><li>Paste the code in the &quot;Execution Handler&quot; tab.</li><li>In OpenAI account, go to the settings and click on the &quot;API Keys&quot; tab (or use <a href="https://platform.openai.com/account/api-keys" title="this link" rel="">this link</a>).<br></li><li>Generate a new secret key and copy it.</li><li>Back in Zoho Cliq, replace the key &quot;XXXXXXXXXXXX&quot; with the one you generated.<br></li><li>Cliq on Save.</li></ol><div><br></div><div><span style="text-decoration-line:underline;">On the Suggestion Handler tab:</span></div><div><ol><li>Remove the code.</li><li>Click on Save</li></ol></div></div>
</div><div data-element-id="elm_1jctI-J1lJnhrIE6XeStEw" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_1jctI-J1lJnhrIE6XeStEw"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Testing the Command</h2></div>
<div data-element-id="elm_75pcWOdATZDgq5ZJJ-cggg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_75pcWOdATZDgq5ZJJ-cggg"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ol><li>Open a chat or channel in Zoho Cliq</li><li>Tipe <span style="background-color:rgb(178, 234, 121);">/chatgpt</span> and press Enter</li><li>The first time you use the Command, you will have to allow the Command to access certain information. Click on &quot;Proceed to Allow&quot;.</li><li>Type a prompt. For example, &quot;what is Zoho Cliq?&quot;.</li><li>Press enter to send the message.</li><li>The Command responded to you. The message is visible to you only.</li><li>Use one of the options for the message: post it on the chat, forward it to other chats or channels, or close it. If you don't choose any of the options, when you close the chat, the message will be closed automatically.</li></ol></div>
</div><div data-element-id="elm_XuwatqdttEC16RHlDDYOcQ" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_XuwatqdttEC16RHlDDYOcQ"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Code</h2></div>
<div data-element-id="elm_ciq0YZMJ43EG0UdZ9rjivg" data-element-type="box" class="zpelem-box zpelement zpbox-container zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_ciq0YZMJ43EG0UdZ9rjivg"].zpelem-box{ background-color:#B2EA79; background-image:unset; border-style:solid; border-color:#04EA04 !important; border-width:1px; border-radius:5px; padding:20px; } </style><div data-element-id="elm_KmFzfv5GP7K1sB8gq6TcFg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_KmFzfv5GP7K1sB8gq6TcFg"].zpelem-text { border-radius:1px; padding:0px; margin:0px; } </style><div class="zptext zptext-align-left " data-editor="true"><div><div><div><div style="color:inherit;"><div>response = Map();</div><div>// Creating the card</div><div>card = Map();</div><div>card.put(&quot;theme&quot;,&quot;modern-inline&quot;);</div><div>card.put(&quot;title&quot;,&quot;ChatGTP&quot;);</div><div>// Add Open AI token</div><div>token = &quot;Bearer XXXXXXXXXXXX&quot;;</div><div>//</div><div>header = Map();</div><div>header.put(&quot;Authorization&quot;,token);</div><div>header.put(&quot;Content-Type&quot;,&quot;application/json&quot;);</div><div>params = {&quot;model&quot;:&quot;text-davinci-003&quot;,&quot;prompt&quot;:arguments,&quot;temperature&quot;:0.4,&quot;top_p&quot;:1,&quot;max_tokens&quot;:256,&quot;frequency_penalty&quot;:0,&quot;presence_penalty&quot;:0,&quot;stop&quot;:{&quot; Human:&quot;,&quot; AI:&quot;}};</div><div>fetchCompletions = invokeurl</div><div>[</div><div>url :&quot;https://api.openai.com/v1/completions&quot;</div><div>type :POST</div><div>parameters:params.toString()</div><div>headers:header</div><div>detailed:true</div><div>];</div><div>info &quot;Fetch completions: &quot; + fetchCompletions;</div><div>if(fetchCompletions.get(&quot;responseCode&quot;) == 200)</div><div>{</div><div>answer = fetchCompletions.get(&quot;responseText&quot;).get(&quot;choices&quot;).getJSON(&quot;text&quot;);</div><div>response.put(&quot;text&quot;,answer);</div><div>}</div><div>else if(fetchCompletions.get(&quot;responseCode&quot;) == 429)</div><div>{</div><div>response = {&quot;text&quot;:&quot;Oops! I can't help with this. Try asking something else :wink:&quot;};</div><div>}</div><div>// Adding response to the card</div><div>response.put(&quot;card&quot;,card);</div><div>//</div><div>return response;</div></div></div></div></div></div>
</div></div></div></div></div></div></div> ]]></content:encoded><pubDate>Sat, 25 Feb 2023 11:03:58 -0800</pubDate></item><item><title><![CDATA[Send SMS automatically from Zoho CRM (using SMS Magic)]]></title><link>https://www.blungo.com/blogs/post/send-sms-automatically-from-zoho-crm-using-sms-magic</link><description><![CDATA[<img align="left" hspace="5" src="https://www.blungo.com/Blogpost/Thumbnails/Send SMS automatically from Zoho CRM.png"/>In this tutorial we are going to go over how to setup the SMS Magic extension for Zoho CRM, so you can send text messages to your CRM records. We will also send our first text message.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_8IviC7roTWy1pB8T5m2pag" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_QTBrCAUDSOyFRlCdpLN1GQ" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"> [data-element-id="elm_QTBrCAUDSOyFRlCdpLN1GQ"].zprow{ border-radius:1px; } </style><div data-element-id="elm_VoIP_gLFRbaPD-J1OwS1cA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"> [data-element-id="elm_VoIP_gLFRbaPD-J1OwS1cA"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_bRVbBGk9i3TT6dbFoC6RPg" data-element-type="iframe" class="zpelement zpelem-iframe "><style type="text/css"> [data-element-id="elm_bRVbBGk9i3TT6dbFoC6RPg"].zpelem-iframe{ border-radius:1px; } </style><div class="zpiframe-container zpiframe-align-center"><iframe class="zpiframe " src="https://www.youtube.com/embed/kRBVL5sBBWM" width="560" height="315" align="center" allowfullscreen frameBorder="0"></iframe></div>
</div><div data-element-id="elm__bttFMMbQBeQgsOADxw2gg" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm__bttFMMbQBeQgsOADxw2gg"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">What we are going to do</h2></div>
<div data-element-id="elm_FZnVjR5LTqSOKJv9JmBOGQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_FZnVjR5LTqSOKJv9JmBOGQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>In this tutorial&nbsp;<span style="color:inherit;">we are going to show you how to automatically send text messages from Zoho CRM using SMS Magic. We are going to do it in 2 different ways: sending the message after the stage changes, as well as based on a date/time field.</span></p><p><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">To be more specific:&nbsp;</span><span style="color:inherit;">First, we are going to create a webhook that, when called, will send all the information to SMS Magic. Then, we are going to use the webhook as an action in our workflows. So, when the workflows are triggered, they will call the webhook, and it will send all the information needed to SMS Magic, which will send the text message.</span></p><p><br></p><p>This is part 3 of the SMS Magic - Zoho CRM Integration series, so make sure to check out the other two tutorials where we go over how to configure the SMS Magic extension.</p></div>
</div><div data-element-id="elm_DiNwxandSxP56pZ4iGSklA" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_DiNwxandSxP56pZ4iGSklA"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Pre-requisites</h2></div>
<div data-element-id="elm_Xxk_NPeah5V5w4v05pp0BQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_Xxk_NPeah5V5w4v05pp0BQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ul><li>SMS Magic extension set up in Zoho CRM (<a href="https://www.blungo.com/blogs/post/setting-up-the-sms-magic-zoho-crm-integration" rel="">https://www.blungo.com/blogs/post/setting-up-the-sms-magic-zoho-crm-integration</a>)<br></li></ul></div>
</div><div data-element-id="elm_ciq0YZMJ43EG0UdZ9rjivg" data-element-type="box" class="zpelem-box zpelement zpbox-container zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_ciq0YZMJ43EG0UdZ9rjivg"].zpelem-box{ background-color:#A1CBE8; background-image:unset; border-style:solid; border-color:#1D90E2 !important; border-width:1px; border-radius:5px; padding:20px; } </style><div data-element-id="elm_KmFzfv5GP7K1sB8gq6TcFg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_KmFzfv5GP7K1sB8gq6TcFg"].zpelem-text { border-radius:1px; padding:0px; margin:0px; } </style><div class="zptext zptext-align-left " data-editor="true"><div><div><span style="font-size:20px;">For this example, we are going to use the Deals module, where we already added 2 fields to the layout:</span><br></div></div><div><span style="font-size:20px;">1) A phone field where the phone number is going to be located</span></div><div><span style="font-size:20px;">2) A &quot;date/time&quot; field that we are going to use to send the tex message based on a date</span></div></div>
</div></div><div data-element-id="elm_qQGrfB2Sl8Sn6lgzL7Je6w" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_qQGrfB2Sl8Sn6lgzL7Je6w"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Creating a webhook in Zoho CRM</h2></div>
<div data-element-id="elm_TFRPDqt8lz3vXWSnA1aVhQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_TFRPDqt8lz3vXWSnA1aVhQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ol><li>In Zoho CRM, go to the Setup.</li><li>The go to Actions &gt; Webhooks &gt; and click on &quot;Configure Webhook&quot;.</li><li>Name the webhook.</li><li>The method is going to be POST.</li><li>Go to your SMS Magic account and click on Automation, on the &quot;Get Started&quot; page.</li><li>Copy the URL to notify.</li><li>Back in the CRM, paste the URL in the field &quot;URL to notify&quot;.</li><li>Select &quot;deals&quot; as the module</li><li>Go to the &quot;body&quot; section, and select &quot;form data&quot; as the &quot;type&quot;.</li><li>Under &quot;user defined format&quot;, click on &quot;add parameter&quot;.</li><li>The Parameter name is going to be &quot;text&quot;.</li><li>The parameter value is in SMS Magic. Go back to your SMS Magic account.</li><ol><li>Click on &quot;Generate JSON&quot;.</li><li>The module is going to be Deals.</li><li>Then, select the Sender ID.</li><li>Select a phone field that you want to use to send the text message to.</li><li>On &quot;message body&quot; type the text message (you can use merge fields from the CRM).</li><li>Now click on &quot;generate JSON&quot;.</li></ol><li>Click on &quot;copy to clipboard&quot;.</li><li>Back in the CRM. And paste the value in the &quot;parameter value&quot; box.</li><li>Save the webhook.</li></ol></div>
</div><div data-element-id="elm_nCT50oEQZeycdGfmn-UU6g" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_nCT50oEQZeycdGfmn-UU6g"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Triggering the webhook with a workflow</h2></div>
<div data-element-id="elm_e0m6fJJtS0-w2cLvSue6vg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_e0m6fJJtS0-w2cLvSue6vg"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><div><div style="color:inherit;"><div style="color:inherit;"><ol><li>In Zoho CRM, go to the Setup.</li><li>Go to &quot;workflow rules&quot;, and click on the button &quot;create rule&quot;.</li><li>Select Deals as the module.</li><li>Name it &quot;SMS Notification&quot;.</li><li>Click on Next.</li><li>The execution is &quot;on a record action&quot;.</li><li>Set up the criteria. For this example we are going to use:</li><ol><li>When we edit the record.</li><li>Specific field gets modified.</li><li>The field is &quot;stage&quot;. Modified to &quot;the value&quot;. Select &quot;proposal/price quote&quot;.</li></ol><li>Click on Next.</li><li>Set up the conditions. For this example we are going to apply the rule to &quot;all deals&quot;.</li><li>Click on Next.</li><li>On &quot;instant actions&quot; choose &quot;webhook&quot;.</li><li>Select the webhook created in the previous step.</li><li>Click on &quot;Associate&quot;.</li><li>Save the Workflow.</li></ol></div></div><br><div><span style="color:inherit;">The workflow has been created, so you can test it out by </span>modifying<span style="color:inherit;">&nbsp;a Deal's stage, if you set the same conditions we set on this example.</span></div><div style="color:inherit;"><span style="color:inherit;"><br></span></div><div style="color:inherit;"><span style="color:inherit;text-decoration-line:underline;">If you would like to send the text messages based on a date time field:</span></div><div style="color:inherit;"><ol><li><span style="color:inherit;">Go to the Zoho CRM Setup and click on</span>&nbsp;&quot;workflow rules&quot;.</li><li><span style="color:inherit;">Create Rule.</span></li><li><span style="color:inherit;">Select &quot;deals&quot; as the module, add a name, and click on Next.</span></li><li><span style="color:inherit;">Choose &quot;on a date/time&quot; as the trigger.</span></li><li><span style="color:inherit;">Choose the date time field you want to trigger this workflow.</span></li><li><span style="color:inherit;">Configure the other parameters: Execution date and execution time.</span></li><li><span style="color:inherit;">Click on next.</span></li><li><span style="color:inherit;">Add a condition if needed.</span></li><li><span style="color:inherit;">Click on Next.&nbsp;</span></li><li><span style="color:inherit;">The instant action is &quot;webhook&quot;.</span></li><li><span style="color:inherit;">In the new window, choose the webhook we created earlier.<br></span><span style="background-color:rgb(178, 234, 121);">If you want to send different text messages, you have to create one webhook per template. There are ways to automate this, but we are not going to cover it in this tutorial.</span></li><li><span style="color:inherit;">Click on associate.</span><br></li><li><span style="color:inherit;">Save the Workflow.</span></li></ol></div></div></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Fri, 24 Feb 2023 12:48:38 -0800</pubDate></item><item><title><![CDATA[Send SMS with custom button in Zoho CRM (using SMS Magic)]]></title><link>https://www.blungo.com/blogs/post/send-sms-with-custom-button-in-zoho-crm-using-sms-magic</link><description><![CDATA[<img align="left" hspace="5" src="https://www.blungo.com/Blogpost/Thumbnails/Send SMS with button from Zoho CRM.png"/>In this tutorial we are going to go over how to setup the SMS Magic extension for Zoho CRM, so you can send text messages to your CRM records. We will also send our first text message.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_8IviC7roTWy1pB8T5m2pag" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_QTBrCAUDSOyFRlCdpLN1GQ" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"> [data-element-id="elm_QTBrCAUDSOyFRlCdpLN1GQ"].zprow{ border-radius:1px; } </style><div data-element-id="elm_VoIP_gLFRbaPD-J1OwS1cA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"> [data-element-id="elm_VoIP_gLFRbaPD-J1OwS1cA"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_EAO1fVhMIViWzQlrtLHzJA" data-element-type="iframe" class="zpelement zpelem-iframe "><style type="text/css"> [data-element-id="elm_EAO1fVhMIViWzQlrtLHzJA"].zpelem-iframe{ border-radius:1px; } </style><div class="zpiframe-container zpiframe-align-center"><iframe class="zpiframe " src="https://www.youtube.com/embed/f7U_ct9PX6Y" width="560" height="315" align="center" allowfullscreen frameBorder="0"></iframe></div>
</div><div data-element-id="elm__bttFMMbQBeQgsOADxw2gg" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm__bttFMMbQBeQgsOADxw2gg"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">What we are going to do</h2></div>
<div data-element-id="elm_FZnVjR5LTqSOKJv9JmBOGQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_FZnVjR5LTqSOKJv9JmBOGQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>In this tutorial we are going to go over how to create a button in Zoho CRM that will send text messages to our CRM records using SMS Magic. This is part 2 of the SMS Magic - Zoho CRM Integration series, so make sure to check out the first tutorial where we go over how to configure the SMS Magic extension.</p></div>
</div><div data-element-id="elm_DiNwxandSxP56pZ4iGSklA" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_DiNwxandSxP56pZ4iGSklA"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Pre-requisites</h2></div>
<div data-element-id="elm_Xxk_NPeah5V5w4v05pp0BQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_Xxk_NPeah5V5w4v05pp0BQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ul><li>SMS Magic extension set up in Zoho CRM (<a href="https://www.blungo.com/blogs/post/setting-up-the-sms-magic-zoho-crm-integration" rel="">https://www.blungo.com/blogs/post/setting-up-the-sms-magic-zoho-crm-integration</a>)<br></li></ul></div>
</div><div data-element-id="elm_qQGrfB2Sl8Sn6lgzL7Je6w" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_qQGrfB2Sl8Sn6lgzL7Je6w"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Adding the button to Zoho CRM</h2></div>
<div data-element-id="elm_ciq0YZMJ43EG0UdZ9rjivg" data-element-type="box" class="zpelem-box zpelement zpbox-container zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_ciq0YZMJ43EG0UdZ9rjivg"].zpelem-box{ background-color:#A1CBE8; background-image:unset; border-style:solid; border-color:#1D90E2 !important; border-width:1px; border-radius:5px; padding:20px; } </style><div data-element-id="elm_KmFzfv5GP7K1sB8gq6TcFg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_KmFzfv5GP7K1sB8gq6TcFg"].zpelem-text { border-radius:1px; padding:0px; margin:0px; } </style><div class="zptext zptext-align-left " data-editor="true"><div><div><span style="font-size:20px;">For this example, we are going to add a button to the Contacts module, but you can add it to any module, as long as there's a phone field in the module.</span><br></div></div></div>
</div></div><div data-element-id="elm_TFRPDqt8lz3vXWSnA1aVhQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_TFRPDqt8lz3vXWSnA1aVhQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ol><li>In Zoho CRM, go to the Setup.</li><li>Click on &quot;Modules and Fields&quot;.</li><li>Open the Contacts module.</li><li>Go to the &quot;Links and Buttons&quot; tab.</li><li>Click on &quot;New Button&quot;.</li><ol><li>Name it &quot;SMS to Phone&quot;</li><li>Select &quot;View Page&quot; on the &quot;where would you like to place the button?&quot; dropdown.</li><li>Select &quot;Invoke URL&quot; on the &quot;what action would you like the button to perform?&quot; dropdown.</li></ol><li>Go to your SMS Magic account, to the &quot;Get Started&quot; page.</li><li>Click on &quot;Button Configuration&quot;.</li><ol><li>Select the Contacts module.</li><li>Select the phone field you would like to send the text messages to.</li><li>Click on the &quot;Generate Send SMS URL&quot; button.</li><li>Copy the URL that has been generated.</li></ol><li>Back in the CRM, paste the URL in the URL box.</li><li>Save the button.</li><li>Change the button permissions if necessary.</li></ol><div><br></div><div>The button has been created! Open any contact profile to test it out.</div><div><br></div><div><span style="color:inherit;"><img src="/Sun%20Feb%2019%202023.png" alt=""></span><br></div></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Sun, 19 Feb 2023 12:19:11 -0800</pubDate></item><item><title><![CDATA[Setting up the SMS Magic - Zoho CRM Integration]]></title><link>https://www.blungo.com/blogs/post/setting-up-the-sms-magic-zoho-crm-integration</link><description><![CDATA[<img align="left" hspace="5" src="https://www.blungo.com/Blogpost/Thumbnails/Zoho CRM-SMS Magic integration.png"/>In this tutorial we are going to go over how to setup the SMS Magic extension for Zoho CRM, so you can send text messages to your CRM records. We will also send our first text message.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_8IviC7roTWy1pB8T5m2pag" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_QTBrCAUDSOyFRlCdpLN1GQ" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"> [data-element-id="elm_QTBrCAUDSOyFRlCdpLN1GQ"].zprow{ border-radius:1px; } </style><div data-element-id="elm_VoIP_gLFRbaPD-J1OwS1cA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"> [data-element-id="elm_VoIP_gLFRbaPD-J1OwS1cA"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_EAO1fVhMIViWzQlrtLHzJA" data-element-type="iframe" class="zpelement zpelem-iframe "><style type="text/css"> [data-element-id="elm_EAO1fVhMIViWzQlrtLHzJA"].zpelem-iframe{ border-radius:1px; } </style><div class="zpiframe-container zpiframe-align-center"><iframe class="zpiframe " src="https://www.youtube.com/embed/MXGT4zmVnfY" width="560" height="315" align="center" allowfullscreen frameBorder="0"></iframe></div>
</div><div data-element-id="elm__bttFMMbQBeQgsOADxw2gg" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm__bttFMMbQBeQgsOADxw2gg"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">What we are going to do</h2></div>
<div data-element-id="elm_FZnVjR5LTqSOKJv9JmBOGQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_FZnVjR5LTqSOKJv9JmBOGQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>In this tutorial we are going to go over how to setup the SMS Magic extension for Zoho CRM, so you can send text messages to your CRM records. We will also send our first text message. When the contacts respond back to the messages you send, you will receive them in the &quot;Converse Desk&quot; located inside the SMS Magic app. We will add the Converse Desk to Zoho CRM for direct access.</p></div>
</div><div data-element-id="elm_DiNwxandSxP56pZ4iGSklA" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_DiNwxandSxP56pZ4iGSklA"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Pre-requisites</h2></div>
<div data-element-id="elm_Xxk_NPeah5V5w4v05pp0BQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_Xxk_NPeah5V5w4v05pp0BQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ul><li>An SMS Magic account.</li><li>A phone number, also called Sender ID, assigned to your account. If you don't have a Sender ID yet, contact SMS Magic support.</li></ul></div>
</div><div data-element-id="elm_ciq0YZMJ43EG0UdZ9rjivg" data-element-type="box" class="zpelem-box zpelement zpbox-container zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_ciq0YZMJ43EG0UdZ9rjivg"].zpelem-box{ background-color:#A1CBE8; background-image:unset; border-style:solid; border-color:#1D90E2 !important; border-width:1px; border-radius:5px; padding:20px; } </style><div data-element-id="elm_KmFzfv5GP7K1sB8gq6TcFg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_KmFzfv5GP7K1sB8gq6TcFg"].zpelem-text { border-radius:1px; padding:0px; margin:0px; } </style><div class="zptext zptext-align-left " data-editor="true"><div><div><span style="font-size:20px;">To check that you have a Sender ID already, open your SMS Magic account, and go to &quot;SMS Services&quot; on the &quot;Settings&quot; tab. Your number should be listed there.</span><br></div></div></div>
</div></div><div data-element-id="elm_qQGrfB2Sl8Sn6lgzL7Je6w" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_qQGrfB2Sl8Sn6lgzL7Je6w"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Installing the SMS Magic extension</h2></div>
<div data-element-id="elm_TFRPDqt8lz3vXWSnA1aVhQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_TFRPDqt8lz3vXWSnA1aVhQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ol><li>In Zoho CRM, go to the Setup.</li><li>Click on &quot;All&quot; under Marketplace.</li><li>Search for &quot;SMS Magic&quot; and click on the result.</li><li>Click on &quot;Install&quot;.</li><li>Follow the wizard to install the extension:</li><ol><li>Accept the terms and conditions and authorize SMS Magic.</li><li>Select if you want to install it for admins only, or for all users.</li></ol><li>Finally, click on &quot;install&quot;.</li></ol><div><br></div><div>The extension has been installed, and there are several features that have been added to Zoho CRM, like a button to send SMS to Contacts, as well as some other modules used by SMS Magic.</div></div>
</div><div data-element-id="elm_KeLLX98_CvputMb1INmu8A" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_KeLLX98_CvputMb1INmu8A"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Adding a Sender ID to Zoho CRM</h2></div>
<div data-element-id="elm_HgKHqzMlyLRFf0srvnx6Kg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_HgKHqzMlyLRFf0srvnx6Kg"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ol><li>Open the module &quot;SMS Sender ID&quot;.</li><li>To add a new record, click on the create button.</li><li>Go back to your SMS Magic account, and copy the Sender ID (AKA phone number).</li><li>In the CRM, paste the value in the fields &quot;SMS Sender ID Name&quot; and &quot;SenderID.</li><li>Save the record.</li></ol></div>
</div><div data-element-id="elm_1jctI-J1lJnhrIE6XeStEw" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_1jctI-J1lJnhrIE6XeStEw"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Sending our first SMS to a Contact</h2></div>
<div data-element-id="elm_75pcWOdATZDgq5ZJJ-cggg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_75pcWOdATZDgq5ZJJ-cggg"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ol><li>Open the Contacts module in CRM</li><li>Make sure you are on the list view</li><li>Select a contact (you can select multiple contacts if you want to send the same text message to all of them)</li><ol><li>Make sure the contact has a phone number on the phone field</li></ol><li>Click on the button &quot;Send SMS&quot;</li><li>The SMS Magic website will open</li><li>Select the Sender ID</li><li>Write your message</li><li>Click on &quot;Send&quot;</li><li>Finally click on &quot;Send&quot; again</li></ol><div><br></div><div>You have sent your first text message! You can open the Converse Desk in SMS Magic to chat with contacts that respond back to you.</div></div>
</div><div data-element-id="elm_XuwatqdttEC16RHlDDYOcQ" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_XuwatqdttEC16RHlDDYOcQ"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-left " data-editor="true">Adding the Converse Desk to Zoho CRM</h2></div>
<div data-element-id="elm_p4ZKCE8IXSCyEZbYwR4Fnw" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_p4ZKCE8IXSCyEZbYwR4Fnw"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><ol><li>In Zoho CRM, go to the Setup</li><li>Then click on &quot;Modules and Fields&quot;</li><li>Click on &quot;Web Tabs&quot;.</li><li>Click on &quot;+ New Tab&quot;</li><li>On the name field, type &quot;Converse Desk&quot;</li><li>Select &quot;link&quot; as the source</li><li>Copy the link below and paste it in the source<br>Converse Desk Link: <span style="background-color:rgb(161, 232, 161);">https://app.sms-magic.com/app/#/converse-desk?userId=${Users.User Id}&amp;state=${SMSMagic.User Token}</span></li><li>Assign the profiles that will have access to the Converse Desk</li><li>Click on &quot;Save&quot;</li></ol><div><br></div><div>Now you can open the Converse Desk from the CRM. Keep in mind that for a user to use the Converse Desk, it has to have an SMS Magic account. You can add users to your SMS Magic account from the settings.</div></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Fri, 10 Feb 2023 16:53:59 -0800</pubDate></item></channel></rss>