Developing Third-party Integrations - Custom Variables

Developing Third-party Integrations - Custom Variables

The guide will help you with the following:
  1. Create a custom variable
    1. The Variable VariableMap
    2. Example
  2. Create a Read-only custom variable
  3. Create a Hidden custom variable

Custom variables are global variables that store information in your CRM. These allow you to replace certain key values - such as username or brand - in various elements of CRM, allowing customers to easily make system-wide changes and personalizations.

Custom variables can also be used to update important organization-specific integration data such as auth tokens, usernames, and passwords, enabling users to add or update their security information in a single step. The different types of organization variables provide ways to handle these data in the desired manner. For example, if account-specific values are in question which cannot be entered by the developer during the design process, then custom organization variables make it easy for the end user to enter this information themselves then populate it throughout the system automatically. This delivers a seamless integration experience and eliminates unnecessary system maintenance.

Create a custom variable

Characteristic Details
Value
Property in CRM
Read-write
Will changes made to its value from the Developer Console affect existing users?
No
Can its value be modified programmatically?
Yes

To set up a custom variable:
  1. Log in to Zoho Developer Console and click Sigma and select a workspace.
  2. Select the extension to modify and click the Edit Extension [] icon.
  3. Click Custom Properties in the left pane, then click Create.
  4. Provide the following details:
    1. A suitable Field Name.
    2. An API Name.
    3. Value for the variable.
      This is not mandatory, but you will be prompted to fill in a value when the extension is installed.
  5. Click Save.


Note The system will append an appropriate prefix to make it unique. For example: If the  Extension Name is  Leads ScoreField Name is  Authtoken, and  API Name is Authtoken, when the variable is saved, the API name will be set as  leadsscore__Authtoken.

The Variable VariableMap

The variableMap variable can be used only in the  Field Value - On change action to obtain the old and new values of a custom variable from Zoho CRM. Click the  Write Script in the  Field Value-On Change option to write the script.

The syntax for getting the old value of the custom variable is
  1. <oldvalue> = input.variableMap.get("oldvalue");

The syntax for getting the new value of the custom variable is

  1. <newvalue> = input.variableMap.get("newvalue");

The sample script to be written in the editor is

  1. oldzwsid = input.variableMap.get("oldvalue");
  2. newzwsid = input.variableMap.get("newvalue");


Example
Consider an extension that will integrate your Zoho CRM account with Zillow - an online real estate database company. This integration will help fetch details about properties in the lead's preference location and display in the 'Properties' module of the CRM automatically using a Zillow-specific ID called  zws-id, whenever a new lead is added into the solution. This zwid must be provided as a custom variable to facilitate this integration. This custom variable can then be invoked using a custom function to help us extract the data from Zillow and display it as related list.

To integrate Zillow with Zoho CRM
  1. Create an extension named Zillow.
  2. Create a custom variable with the following parameter values:
    1. Field Name is zws-id.
    2. API Name is zws-id.
      The API Name will automatically be modified as zillow__zws-id.
    3. Provide a Value in the space provided.
    4. Click Save.
  3. Create a workflow to trigger a function whenever a new lead is created. The script for the function is given below.
Once the integration is authorized, the data will be pulled from Zillow and the records added to  'Properties' module. A related list of the properties will also be displayed in the Leads module.

  1. //Replace the identifiers highlighted in bold with your extension-specific values
  2. LeadId = lead.get("Leads.ID");
  3. datamap = Map:String();
  4. datamap.put("module","Leads");
  5. datamap.put("id",LeadId);
  6. resp = zoho.crm.invokeConnector("crm.get",datamap);
  7. respMap = resp.get("response")._toMap();
  8. users = respMap.get("data");
  9. temp = users.subString(1,users.length() - 1);
  10. usersVal = temp._toMap();
  11. street = usersVal.get("Street");
  12. city = usersVal.get("City");
  13. state = usersVal.get("State");
  14. street1 = street.replaceAll(" ","+",false);
  15. street2 = city + "%2C+" + state;
  16. zwsId = zoho.crm.getOrgVariable("zillow.zws-id");
  17. detail = getUrl("http://www.zillow.com/webservice/GetSearchResults.htm?zws-id=%22 + zwsId + "&address=" + street1 + "&citystatezip=" + street2);
  18. zpid = detail.executeXPath("/SearchResults:searchresults/response/results/result/zpid/text()");
  19. ZillowPropertyId = zpid.toLong();
  20. newDetail = getUrl("http://www.zillow.com/webservice/GetComps.htm?zws-id=%22 + zwsId + "&zpid=" + ZillowPropertyId + "&count=5");
  21. newzpidsList = newDetail.executeXPath("/Comps:comps/response/properties/comparables/comp/zpid/text()").toList("-|-");
  22. for each newzpids in newzpidsList
  23. {
  24.      detail = getUrl("http://www.zillow.com/webservice/GetUpdatedPropertyDetails.htm?zws-id=%22 + zwsId + "&zpid=" + newzpids);
  25.      zpid1 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/editedFacts/useCode/text()");
  26.      zpid2 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/editedFacts/bedrooms/text()");
  27.      zpid3 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/editedFacts/bathrooms/text()");
  28.      zpid4 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/editedFacts/finishedSqFt/text()");
  29.      zpid6 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/editedFacts/yearBuilt/text()");
  30.      zpid12 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/editedFacts/parkingType/text()");
  31.      zpid13 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/editedFacts/heatingSources/text()");
  32.      createMap = Map:String();
  33.      //Ensure that the "Properties" module has the fields mentioned as keys in the map.
  34.      createMap.put("No_of_Bathrooms",zpid3);
  35.      createMap.put("No_of_Bedrooms",zpid2);
  36.      createMap.put("CustomModule1_Name","Zillow Property Id " + newzpids);
  37.      createMap.put("Built_up_Area",zpid4);
  38.      createMap.put("Heating_Sources",zpid13);
  39.      createMap.put("Parking_Type",zpid12);
  40.      createMap.put("Year_Built",zpid6);
  41.      createMap.put("zillow__Lead",LeadId);
  42.      l = List();
  43.      l.add(createMap);
  44.      dataMapzz = Map:String();
  45.      dataMapzz.put("module","zillow__Properties");
  46.      dataMapzz.put("data",l);
  47.      response = zoho.crm.invokeConnector("crm.create",dataMapzz);
  48.      info response;
  49. }
The value of the custom variable can be modified from the Extension Details page of the CRM.


Create a Read-only custom variable

Characteristic detail
Value
Property in CRM
Read-only
Will changes made to its value from the Developer Console affect existing users?
No
Can its value be modified programmatically?
Yes

To set up a custom variable:
  1. Log in to Zoho Developer Console and click Sigma and select a workspace.
  2. Select the extension to modify and click the Edit Extension [] icon.
  3. Click Custom Properties in the left pane, then click Create.
  4. Provide the following details:
    1. A suitable Field Name.
    2. An API Name.
    3. Value for the variable.
    4. Select ReadOnly from the drop-down.
  5. Click Save

Note The system will append an appropriate prefix to make it unique. For example: If the  Extension Name is  Leads ScoreField Name is  Authtoken, and  API Name is  Authtoken, when the variable is saved, the API name will be set as  leadsscore__Authtoken.

The value of the custom variable can be viewed from the Extension Details page of the CRM.


Create a Hidden custom variable

Characteristic detail
Value
Property in CRM
Hidden
Will changes made to its value from the Developer Console affect existing users?
No
Can its value be modified programmatically?
Yes

To set up a custom variable:
  1. Log in to Zoho Developer Console and click Sigma and select a workspace.
  2. Select the extension to modify and click the Edit Extension [] icon.
  3. Click Custom Properties in the left pane, then click Create.
  4. Provide the following details:
    1. A suitable Field Name.
    2. An API Name.
    3. Value for the variable.
    4. Select Hidden from the drop-down.
  5. Click Save.

Note : The system will append an appropriate prefix to make it unique. For example: If the Extension Name is Leads Score, Field Name is Authtoken, and API Name is Authtoken, when the variable is saved, the API name will be set as leadsscore__Authtoken.

Example
Use a hidden custom variable ' authtoken' to set an organization-specific value during  extension installation.
  1. val = installParamMap.get("organizationId");
  2. valueMap = Map();
  3. valueMap.put("apiname","leadsscore__Authtoken");
  4. valueMap.put("value",val);
  5. resp = zoho.crm.invokeConnector("crm.set",valueMap);
  6. info resp;





      Create. Review. Publish.

      Write, edit, collaborate on, and publish documents to different content management platforms.

      Get Started Now


        Access your files securely from anywhere

          Zoho CRM Training Programs

          Learn how to use the best tools for sales force automation and better customer engagement from Zoho's implementation specialists.

          Zoho CRM Training
            Redefine the way you work
            with Zoho Workplace

              Zoho DataPrep Personalized Demo

              If you'd like a personalized walk-through of our data preparation tool, please request a demo and we'll be happy to show you how to get the best out of Zoho DataPrep.

              Zoho CRM Training

                Create, share, and deliver

                beautiful slides from anywhere.

                Get Started Now


                  Zoho Sign now offers specialized one-on-one training for both administrators and developers.

                  BOOK A SESSION







                              Quick LinksWorkflow AutomationData Collection
                              Web FormsRetailOnline Data Collection Tool
                              Embeddable FormsBankingBegin Data Collection
                              Interactive FormsWorkplaceData Collection App
                              CRM FormsCustomer ServiceForms for Solopreneurs
                              Digital FormsMarketingForms for Small Business
                              HTML FormsEducationForms for Enterprise
                              Contact FormsE-commerceForms for any business
                              Lead Generation FormsHealthcareForms for Startups
                              Wordpress FormsCustomer onboardingForms for Small Business
                              No Code FormsConstructionRSVP tool for holidays
                              Free FormsTravelFeatures for Order Forms
                              Prefill FormsNon-Profit
                              Forms for Government
                              Intake FormsLegal
                              Mobile App
                              Form DesignerHR
                              Mobile Forms
                              Card FormsFoodOffline Forms
                              Assign FormsPhotographyMobile Forms Features
                              Translate FormsReal EstateKiosk in Mobile Forms
                              Electronic FormsInsurance
                              Drag & drop form builder

                              Notification Emails for FormsAlternativesSecurity & Compliance
                              Holiday FormsGoogle Forms alternative GDPR
                              Form to PDFJotform alternativeHIPAA Forms
                              Email FormsWufoo alternativeEncrypted Forms
                              Accessible FormsTypeform alternativeSecure Forms

                              WCAG

                                          Create. Review. Publish.

                                          Write, edit, collaborate on, and publish documents to different content management platforms.

                                          Get Started Now






                                                            You are currently viewing the help pages of Qntrl’s earlier version. Click here to view our latest version—Qntrl 3.0's help articles.




                                                                Manage your brands on social media

                                                                  Use cases

                                                                  Make the most of Zoho Desk with the use cases.

                                                                   
                                                                    

                                                                  eBooks

                                                                  Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho Desk.

                                                                   
                                                                    

                                                                  Videos

                                                                  Watch comprehensive videos on features and other important topics that will help you master Zoho Desk.

                                                                   
                                                                    

                                                                  Webinar

                                                                  Sign up for our webinars and learn the Zoho Desk basics, from customization to automation and more

                                                                   
                                                                    
                                                                  • Desk Community Learning Series


                                                                  • Meetups


                                                                  • Ask the Experts


                                                                  • Kbase


                                                                  • Resources


                                                                  • Glossary


                                                                  • Desk Marketplace


                                                                  • MVP Corner



                                                                    Zoho Sheet Resources

                                                                     

                                                                        Zoho Forms Resources


                                                                          Secure your business
                                                                          communication with Zoho Mail


                                                                          Mail on the move with
                                                                          Zoho Mail mobile application

                                                                            Stay on top of your schedule
                                                                            at all times


                                                                            Carry your calendar with you
                                                                            Anytime, anywhere




                                                                                  Zoho Sign Resources

                                                                                    Sign, Paperless!

                                                                                    Sign and send business documents on the go!

                                                                                    Get Started Now




                                                                                            Zoho TeamInbox Resources





                                                                                                      Zoho DataPrep Demo

                                                                                                      Get a personalized demo or POC

                                                                                                      REGISTER NOW


                                                                                                        Design. Discuss. Deliver.

                                                                                                        Create visually engaging stories with Zoho Show.

                                                                                                        Get Started Now









                                                                                                                            • Related Articles

                                                                                                                            • Developing Third-party Integrations - Connectors

                                                                                                                              The guide will help you with the following: Oauth 2.0 Create a connector  Add APIs  Publish the connector  Associate to an extension  Invoke connectors  Sample Connector   Zoho offers integration support for a wide range of third-party applications, ...
                                                                                                                            • Integrating with third-party applications

                                                                                                                              Each industry comes with a unique set of problems to solve. To accommodate this diversity within the business world, we've created the Zoho Developer console, which allows you to integrate almost any third-party application with your CRM ...
                                                                                                                            • Variables

                                                                                                                              Variables in Zoho Vertical Solutions platform acts as a container to store data, which can be reused across different parts of our platform. It helps in automating mundane processes, tailoring user experiences, and integrating with other ...
                                                                                                                            • Connectors

                                                                                                                              Connectors power up your solution and add functionalities by Integrating with other services through its APIs (OAuth 2.0). Getting Started with Connectors Connectors enable the process of establishing integrations between the solutions built over ...
                                                                                                                            • Custom Functions

                                                                                                                              The guide will help you with the following: Create Custom Functions Program Custom Functions  Test Custom Functions  Associate with Workflow Rules  Manage Custom Functions  Custom functions help in automation where procedural logic is required, which ...
                                                                                                                              Wherever you are is as good as
                                                                                                                              your workplace

                                                                                                                                Resources

                                                                                                                                Videos

                                                                                                                                Watch comprehensive videos on features and other important topics that will help you master Zoho CRM.



                                                                                                                                eBooks

                                                                                                                                Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho CRM.



                                                                                                                                Webinars

                                                                                                                                Sign up for our webinars and learn the Zoho CRM basics, from customization to sales force automation and more.



                                                                                                                                CRM Tips

                                                                                                                                Make the most of Zoho CRM with these useful tips.



                                                                                                                                  Zoho Show Resources