Building a Real Estate CRM

Building a Real Estate CRM

Zoho Developer Console allows developers to transform your CRM into an industry specific CRM solution. A real estate CRM needs to manage comprehensive and comparative details about properties, offer ease in handling Buyer and Client data and provide the convenience of effortlessly pulling out information corelated to one or more module(s). Integration with other real estate specific third party application(s) further enhances the usability of a real estate CRM. Property Pro is a real estate CRM which embodies all these features and much more, thereby giving customers the competitive market advantage.

This guide will help you with the following:
  1. Setup a CRM application 
  2. Configure the Organization Variables 
  3. Rename the preset modules 
  4. Create a Custom Module 
  5. Add new fields to the new custom module 
  6. Add a Custom Function 
  7. Create a Connected App with Related List widget 

Setup a CRM application

The first step in building your vertical CRM is to configure certain basic settings and choose the application modules you'd like to include.

To create and setup a new application
  1. Log in to your Zoho Developer account and click CRM for Verticals.
  2. In the Vertical CRM page, click Create App.
  3. In the New CRM for Verticals page, input the name of your application, appropriate to the industry, for e.g. "Property Pro" and your URL as "propertypro.zohoplatform.com".
    Note: Your URL can be mapped to your custom domain later when you are branding your application.
  4. Select Realestate from the Select Category dropdown.
    The category denotes the industry (Automobile, Insurance, Health care, etc.) for which your application is being developed
  5. The modules Leads, Contacts, Potentials, Documents, Reports, Activities, Forecasts and Social alone should be selected. Uncheck the rest of the modules.
  6. Provide a Short Description about your application.
  7. Click  Create. A new application is created. 


Configure the Organization Variables

  1. Select your application and click Company Settings in the left pane and click Org Settings.
  2. Click  Create and set up the custom variables: 


Rename the preset modules

The preset modules can be renamed to suit the real estate lingo and they can be mapped as explained below:

1. Click  Modules in the left pane.
2. Hover over the module which you want to rename and click 'Rename' as shown below: 

3. Provide the module name in  Enter Module Name dialog box

4. Some of the preset modules have been renamed as mentioned in the below table


Create a Custom Module

  1. Click Modules in the left pane.
  2. In the Modules page, click Create New Module.
  3. To enter the module name details, click on the edit symbol [].
  4. Enter the singular and plural form of the module name in the Module Details dialog box as "Property" and "Properties" respectively. 
  5. Click Save Layout.
  6. Select the profile "Administrator". Users in the selected profile(s) will have access to the custom module. 


  7. Click Save Layout.

Add new fields to the new custom module

  1. Click Modules in the left pane.
  2. In the List of Modules page, click Properties module.
  3. In order to add fields into sections, drag and drop the New Section into the layout and rename it. Subsequently, add the fields listed below: 

Add a Custom Function

Fetch Properties Rule - Custom Function

Whenever a new buyer is added into the CRM system, details about properties in the buyer's preference location are fetched and displayed in the 'Properties' module.
To create the  Fetch Properties custom function, perform the following:
  1. Click Automate in the left pane.
  2. Select Workflow
  3. Under Rules tab, click Create Rule.
  4. Provide the following details:
  5. Basic Information
  6. Module: Buyers
  7. Rule Name: Fetch Properties
  8. Provide a Description
  9. Rule Trigger
  10. Execute based on: Select A Record Action.
  11. Select Create.
  12. Click Next.
  13. Rule Criteria
  14. Select All Records.
  15. Click Next.
  16. Under Actions, click [] in Call Custom Functions.
  17. The Deluge Scripting Editor gets opened. 
  18. Function Name: CreateProperties
  19. Copy the below code into the editor:
  1. LeadId= input.buyer.get("Leads.ID");
  2. datamap = map();
  3. datamap.put("module","Leads");
  4. datamap.put("id",LeadId);
  5. resp = zoho.crm.invokeConnector(("crm.get"), datamap);
  6. respMap =(resp.get("response")).toMap();
  7. users = respMap.get("data");
  8. temp = users.subString(1,(users.length()-1));
  9. usersVal = temp.toMap();
  10. street = usersVal.get("Street");
  11. city = usersVal.get("City");
  12. state = usersVal.get("State");
  13. street1 = street.replaceAll(" ",("+"),false);
  14. street2 = city +"%2C+"+ state;
  15. zwsId = zoho.crm.getOrgVariable("Zillow ZWSID");
  16. detail = getUrl("http://www.zillow.com/webservice/GetSearchResults.htm?zws-id=%22+ zwsId +"&address="+ street1 +"&citystatezip="+ street2);
  17. zpid = detail.executeXPath("/SearchResults:searchresults/response/results/result/zpid/text()");ZillowPropertyId= zpid.toLong();
  18. newDetail = getUrl("http://www.zillow.com/webservice/GetComps.htm?zws-id=%22+ zwsId +"&zpid="+ZillowPropertyId+"&count=5");
  19. newzpidsList = newDetail.executeXPath("/Comps:comps/response/properties/comparables/comp/zpid/text()").toList("-|-");
  20. for each newzpids in newzpidsList
  21. {
  22. detail = getUrl("http://www.zillow.com/webservice/GetUpdatedPropertyDetails.htm?zws-id=%22 + zwsId + "&zpid=" + newzpids);
  23. zpid1 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/editedFacts/useCode/text()");
  24. zpid2 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/editedFacts/bedrooms/text()");
  25. zpid3 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/editedFacts/bathrooms/text()");
  26. zpid4 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/editedFacts/finishedSqFt/text()");
  27. zpid5 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/editedFacts/lotSizeSqFt/text()");
  28. zpid6 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/editedFacts/yearBuilt/text()");
  29. zpid7 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/editedFacts/yearUpdated/text()");
  30. zpid8 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/editedFacts/numFloors/text()");
  31. zpid9 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/editedFacts/basement/text()");
  32. zpid10 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/editedFacts/roof/text()");
  33. zpid11 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/editedFacts/view/text()");
  34. zpid12 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/editedFacts/parkingType/text()");
  35. zpid13 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/editedFacts/heatingSources/text()");
  36. zpid14 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/editedFacts/heatingSystem/text()");
  37. zpid15 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/editedFacts/rooms/text()");
  38. zpid16 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/neighborhood/text()");
  39. zpid17 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/schoolDistrict/text()");
  40. zpid18 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/elementarySchool/text()");
  41. zpid19 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/middleSchool/text()");
  42. zpid20 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/address/street/text()");
  43. zpid21 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/address/zipcode/text()");
  44. zpid22 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/address/city/text()");
  45. zpid23 = detail.executeXPath("/UpdatedPropertyDetails:updatedPropertyDetails/response/address/state/text()");
  46. createMap = map();
  47. createMap.put("Basement", zpid9);
  48. createMap.put("No_of_Bathrooms", zpid3);
  49. createMap.put("No_of_Bedrooms", zpid2);
  50. createMap.put("City", zpid22);
  51. createMap.put("CustomModule1_Name", "Zillow Property Id " + newzpids);
  52. createMap.put("District_School", zpid17);
  53. createMap.put("Elementary_School", zpid18);
  54. createMap.put("Built_up_Area", zpid4);
  55. createMap.put("Heating_Sources", zpid13);
  56. createMap.put("Heating_System", zpid14);
  57. createMap.put("Property_Area", zpid5);
  58. createMap.put("Middle_School", zpid19);
  59. createMap.put("Neighbourhood", zpid16);
  60. createMap.put("No_of_Floors", zpid8);
  61. createMap.put("Parking_Type", zpid12);
  62. createMap.put("No_of_Floors", zpid10);
  63. createMap.put("Rooms", zpid15);
  64. createMap.put("State", zpid23);
  65. createMap.put("Street", zpid20);
  66. createMap.put("View", zpid11);
  67. createMap.put("Year_Built", zpid6);
  68. createMap.put("Year_Updated", zpid7);
  69. createMap.put("Zip_Code", zpid21);
  70. createMap.put("Buyer", LeadId);
  71. l = List();
  72. l.add(createMap);
  73. dataMapzz = map();
  74. dataMapzz.put("module", "Properties");
  75. dataMapzz.put("data", l);
  76. response = zoho.crm.invokeConnector("crm.create", dataMapzz);
  77. info response;
  78. }
  1. Click Save & Associate.
  2. To save the workflow rule, click Save.
To ensure correctness of custom function, perform the following:
  1. Click Automate in the left pane.
  2. Select Workflow.
  3. Click Custom Functions.
  4. Hover over the name of the function 'CreateProperties' and click the edit icon [].
  5. In the Deluge Scripting Editor, click Execute
  6. Provide the Buyer ID of a record and click Submit.
  7. The following API response is obtained: 


  1. Click Connected Apps in the left pane.
  2. Click the New Connected App button
  3. Provide the following details:
  1. Connected App Name: Property Pro
  2. Provide Description.
  3. Choose Hosting: External Hosting
  4. Specify Base URL: SandBox : "http://localhost:8000/"
  5. Click Save
  1. Download the Zillow Source Code to your desktop and extract the folder.
  2. Go to https://github.com/ZohoDevelopers/embeddedApp-js-sdk/releases/.
  3. Download the latest  ZohoEmbededAppSDK.min.js and save in the "lib" folder of your source code directory.
  4. Any file hosting server can be used to host the application.
Note: An example of how the application can be hosted using Python server is given below:
  1. Go to the website https://www.python.org/download/releases/2.7.6/
  2. Choose Windows x86 MSI Installer (2.7.6) (sig) to download.
  3. Once Python is installed, run the server using the following steps:
For Windows:
  1. Open Command Prompt and go to the location where you had downloaded and kept the unzipped source code for the embedded app.
  2. Start the Python server in HTTP mode with the following command
    1. C:Python27/python.exe -m SimpleHTTPServer 8000
For Mac:
  1. The python module already exists in the mac OS. So you need not download it again. Go to the location where you have saved the source code for the embedded app.
  2. Open up the Terminal and start Python by executing the following command
    1. python -m SimpleHTTPServer 8000
  3. Execute http://localhost:8000 on the browser tab to verify the host from local machine.
You can now view the list of files in the source folder.

  1. Click Components in the left pane.
  2. Go to Related List tab in the Components page
  3. Click Add Widgets under Custom tab.
  4. In the Create Custom Widget page provide the following details:
    1. Name: Property Details
    2. Module: Select Properties
    3. Resource Path: zillow/html/relatedListSearch.html
    4. Click Save.
  5. Provide all Permissions to the connected app by following the below steps:
    1. Click Connected Apps in the left pane.
    2. Click the Connected App 'Property Pro'
    3. Click the Permissions button. 

    4. In the Permissions dialog window, provide all data access permissions.

  1. Click Test your Application located at the top right corner of your application.
  2. Click Properties module.
  3. Select a Property record.
  4. In the left pane, under Related List, click Property Details. You will be able to see the following details:





      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

                                                                                                                            • Building a Twilio Extension

                                                                                                                              Twilio is a cloud communication platform that allows developers to integrate their application programmatically to make and receive voice calls and text messages using its Web service API. The following core topics will assist developers in ...
                                                                                                                            • Building a Client Side Application

                                                                                                                              This guide will help you with the following: Create a Connected App Internal Hosting  External Hosting  Create the "Helloworld" Widget  Setup the files structure for "HelloWorld" Widget  Register the Event Listeners  This guide will furnish you with ...
                                                                                                                            • Getting started with Zoho CRM Extensions

                                                                                                                              This guide is designed to help you get started with Zoho Developer Console and complete the basic setup required to build your own extensions. The guide will help you with the following: Accessing the Zoho Developer Console  Creating and Managing ...
                                                                                                                            • Publishing your CRM

                                                                                                                              This guide helps you with the following: Publish your solution Deactivate a solution Restrict New Sign ups Publish Your Solution Your solution will be live only if it is published. Only then your subscribers will be able to sign up and start using ...
                                                                                                                            • Setting up your CRM Application

                                                                                                                              The first step in building your vertical CRM is to configure certain basic settings and choose the application modules you'd like to include. To create and setup a new application: Log in to your Zoho Developer account and click CRM for Verticals. In ...
                                                                                                                              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