Building a Client Side Application

Building a Client Side Application

This guide will help you with the following:
  1. Create a Connected App
    1. Internal Hosting 
    2. External Hosting 
  2. Create the "Helloworld" Widget 
  3. Setup the files structure for "HelloWorld" Widget 
  4. Register the Event Listeners 

This guide will furnish you with details that will help you in building a client-side application. For ease of understanding, we have chosen a simple "Helloworld" widget to explain the steps involved. Embed this widget in a related list that will display the API response for user and record information of a particular record in your CRM's Leads module.
To know more about Connected Apps and widgets, go  here.
 

Create a Connected App

To configure a widget in your extension, you need to create a connected app. The following steps will guide you through the process in detail:
  1. Log in to developer.zoho.com which is the Zoho CRM’s developer console.
  2. Navigate to an existing extension or create a new one inside which you wish to configure your "Helloworld" widget.
  3. Click Connected Apps located in the left pane.
  4. Provide a name and description for the Connected App.
  5. Choose Hosting
There are two ways in which the application can be hosted - Internal and External. Zoho cli is the command line interface which uses Zoho's servers to host the App internally. Similarly, the app can be hosted externally using any other web hosting site and made ready for production.
 

Internal Hosting

The application's static contents can be hosted with Zoho. Zoho's widget development cli helps you to develop, test and package your widgets. 

To Host Internally
  1. In the Connected Apps page, select the option 'Internal Hosting' for Choose Hosting.
  2. Make use of the commands provided in Zoho cli, to create a "helloworld" project using the command $ zet init.
  3. Select "Zoho CRM" from the list of services and provide the project name as "helloworld". This initializes your project directory and downloads all the dependencies.
  4. All the files that are required for rendering your widget needs to be placed inside the "app" folder of your helloworld project.
  5. Validate and pack the application using appropriate commands (as indicated in Zoho cli). This will create a "hellowworld.zip" file under the folder "dist" of your project directory.
  6. Start your server using $ zet run command in the port number 5000 (as indicated in Zoho cli). This will help you to start a local HTTP Server that will allow you to run your app locally and test it in your extension's sandbox.
  7. Upload the zip file "helloworld.zip" by clicking on 'Upload app package'.
  8. Click Save.


External Hosting

Simple client-side applications can be hosted with Zoho. To integrate complex applications, in-house tools using widgets, choose external hosting.

To Host Externally
  1. In the Connected Apps page, select the option 'External Hosting' for Choose Hosting.
  2. Specify the Sandbox URL and Production URL where the source files of your application are available.
  3. Click Save.
  4. Start the external server and check the listing of all the source files.


Create the "Helloworld" Widget

This section explains the creation of a sample "Helloworld" Related List Widget in the Lead's Module.

The steps to create the widget are as given below:
  1. Click Components located in the left pane.
  2. Select Related Details tab.
  3. Click on Add Widgets button.=
  4. In the Create Custom Widget page, provide the following details:
    1. Name - helloworldwidget
    2. Module - Leads
    3. SandBox URL - provide a resource path for the widget. Resource path is the relative path to the main view page of your widget. In this case, it is “/html/main.html”.


      5. If the App is hosted internally, the widget is created and associated with the Connected App as shown below:

      6. If the App is hosted externally, the widget associated with the Connected App appears as shown below:Upon successful creation of the related list widget,

      7. click Test your Extension in the top right corner of your console.      
Note
      To allow mixed content:
  1. Click the shield icon in the far right of the address bar.
  2. In the pop-up window, click Load anyway or Load unsafe script.

      8. Open an existing record from the Leads module and scroll down to view the Related List created as part of your "Helloworld" widget.

Setup the files structure for "HelloWorld"  Widget

The source code for a simple “helloworld” widget is available here.

The “HelloWorld” application consist of the following files:




Let’s take a look at the detailed description for these files.
main.html
Primary user interface of the app where SDK library, custom js and style sheets are included.

style.css
Custom style sheet for the app is defined here.

custom.js
Custom script file where the app's business logic is defined and the SDK is initialized along with event listeners.

ZohoEmbededAppSDK.min.js*
Javascript SDK that allows you to control zoho CRM’s UI and manipulate data on the logged in user’s context. You can find the latest version of our SDK  here.

"HelloWorld" application returns the User information and Record information of a particular lead record in Zoho CRM as the API response.The output is rendered in a Related List widget.
 

Register the Event Listeners

And in some cases where contextual data should be passed to the connected app, you need to register for the appropriate events. Registering an event means defining a function that will be executed when a certain event is triggered by your application. Event can be something that the browser does or something a user does. Following are examples of some events:

  1. DialerActive - Triggered everytime softphone window is toggled
  2. Dial - Triggered when Call icon inside ZohoCRM is clicked
  3. PageLoad - Triggered when ever an entity Page (Detail page) is loaded
Below given sample code can be used to subscribe to a PageLoad event in your widget:
  1. ZOHO.embeddedApp.on("PageLoad",function(data){
  2.         console.log("Page Loaded with data");
  3.         console.log(data);
  4. })

The below code snippet is used to initialize your widget and start listening to events in your CRM application:
  1. ZOHO.embeddedApp.init()

ZOHO.CRM.CONFIG.getCurrentUser() is the API that returns the user infomation such as name, Id, role, profile etc.The code to invoke an API is
  1. ZOHO.CRM.CONFIG.getCurrentUser().then(function(data){
  2. console.log(data);
  3. });
Our Javascript SDK provides a collection of APIs which can be used to manipulate your CRM application's data and UI. The complete documentation of all the available API wrappers can be found here.

Some of the other sample widgets are available in our  github page.


      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 Server Side Application

                                                                                                                              You can create an extension to provide single sign-on using Zoho CRM to a number of web and mobile applications using SAML and OAuth 2.0 protocols. Read this link to know more about creating a connected application with any third-party web service. ...
                                                                                                                            • 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 ...
                                                                                                                            • 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 GoToMeeting Extension

                                                                                                                              The GoToMeeting extension enables users to schedule meetings, invite users, and keep track of the meetings when they have joined within Zoho CRM. With GoToMeeting you can utilize HD video conferencing and screen sharing. With this extension installed ...
                                                                                                                            • Getting Started with Connected Apps

                                                                                                                              A Connected App provides you with the means to integrate Zoho CRM with other applications, using APIs. This allows you to incorporate capabilities offered by external applications, thereby extending the feature set of your CRM. The data exchange ...
                                                                                                                              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