Building a GoToMeeting Extension

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 you can keep track of your meetings in just a single place. This guide includes the following topics.
  1. GoToMeeting Extension with ZohoCRM
  2. Create Meeting
  3. Delete Meeting
  4. Update Meeting
  5. Upcoming Meetings
  6. Extension definition Procedures


GoToMeeting Extension with ZohoCRM

This extension enables a user to host a meeting or attend the meetings hosted by other users. This extension is created as a third party extension to ZohoCRM such that the ZohoCRM users can host or attend the meetings. A developer can use Zoho developer console to build this extension. Basically a developer needs to know what type user authentication is followed by GoToMeeting.

GoToMeeting extension with ZohoCRM is built with  OAuth2.0 type of authentication using  Connectors. Connector APIs are created , added with the respective Extension and published.

To create a connector, follow the below steps:
  1. Navigate to the Zoho Developer Console, and click the Access Console of CRM Connectors.
  2. Click Create Connector button, located in the Connectors tab in the left pane.
  3. Fill int he necessary information.
    1. Connector Name : GoToMeeting
    2. Description : Creation of connector to conduct meetings online.
    3. Service name : GoToMeeting
    4. Sign Up URL : https://www.gotomeeting.com/
    5. Request Token URL : https://api.citrixonline.com/oauth/authorize
    6. Access Token URL : https://api.citrixonline.com/oauth/access_token
  4. Click Save.
  5. To obtain the Client Id and Client Secret Key, please visit this URL https://developer.citrixonline.com/how-get-access-token-and-organizer-key.
  6. In the GoToMeeting Credentials page, fill out the Client Id and Client Secret Key obtained through the previous step.
    1. Redirect URL : https://platform.zoho.com/auth/conns/newcon/redirect
  7. Click Save.
A connector named  GoToMeeting will be created. Using this connector, various APIs are built to create, update and delete meetings. After creating connector APIs, the connector must be authorized or re-authorized each time using either the  Authorize Connector or  Re-Authorize Connector button located in the GoToMeeting connector page whenever the client credentials are updated.

Create Meeting

A Create Meeting connector API allows a developer to schedule a meeting using mandatory information to host a meeting. Several tokens are passed as parameters in the request body to create such a meeting. Set up a Create Meeting connector using the following steps.

  1. In the Zoho Developer Console, click CRM Connectors.
  2. Select GoToMeeting connector (located in the left pane).Instructions for creating this connector can be found in the previous section of this article.
  3. Provide the following information:
    1. Specify Connector API Name : Create Meeting
    2. Choose the method type : Enable the option button POST
    3. Specify the URL : https://api.citrixonline.com/G2M/rest/meetings
    4. Specify Header fields : Content-Type : application/json
    5. Request Body : { "subject": "${subject}", "starttime": "${start_time_unix_format}", "endtime": "${end_time_in_unix_format}", "passwordrequired":"${passwordrequired}", "conferencecallinfo": "${conferencecallinfo}", "timezonekey": "${timezonekey}" , "meetingtype": "${type}" }
  4. Click Create.
  5. Click Execute.
  6. Enter the input values for the tokens as shown below and click Set & Execute.


The following API response is created with a generated Meeting ID.


Delete Meeting

A Delete Meeting connector API will delete the scheduled meetings based on the Meeting ID value. The Meeting ID is passed as a parameter to the API in order to delete the respective meeting information. Use the following steps to create this API:
  1. In the Zoho Developer Console, click CRM Connectors.
  2. Select the GoToMeeting connector (located in the left pane).Instructions for creating this connector can be found in the previous section of this article.
  3. Fill in the necessary information,
    1. Specify Connector API Name : Delete Meeting
    2. Choose the method type : enable the option button DELETE
    3. Specify the URL : https://api.citrixonline.com/G2M/rest/meetings
    4. Specify Header fields : Content-Type : application/json
  4. Click Create
  5. Click Execute after entering the Meeting ID as shown in the following image.
Upon execution, an empty response will be created, showing that the meeting information has been deleted.


Update Meeting

An Update Meeting connector will modify the meeting information based on the Meeting ID generated. The Meeting ID is passed as a parameter to the API in order to update the respective meeting information. Use the following steps to create this API:

  1. In the Zoho Developer Console, click CRM Connectors.
  2. Select the GoToMeeting connector (located in the left pane). Instructions for creating this connector can be found in the previous section of this article.
  3. Provide the following information,
    1. Specify Connector API Name : Update Meeting
    2. Choose the method type : Enable the option button PUT
    3. Specify the URL : https://api.citrixonline.com/G2M/rest/meetings
    4. Specify Header fields : Content-Type : application/json
    5. Request Body : { "subject": "${subject}", "starttime": "${start_time_unix_format}", "endtime": "${end_time_in_unix_format}", "passwordrequired":"${passwordrequired}", "conferencecallinfo": "${conferencecallinfo}", "timezonekey": "${timezonekey}" , "meetingtype": "${type}" }
  4. Click Create.
  5. Click Execute.
  6. Enter the Meeting ID that you want to update the meeting information to (as given below) and click Set & Execute.


Upon execution, an empty response will be created with the meeting details of the respective Meeting ID having been updated.

Upcoming Meetings

An Upcoming Meetings connector will display the list of upcoming meeting details that are scheduled on later dates. Use the following steps to create this API.
  1. In the Zoho developer console, click CRM Connectors.
  2. From the Connectors page, select GoToMeeting connector (located in the left pane)which is already created through the previous steps.
  3. Provide the following information:
    1. Specify Connector API Name : Upcoming Meetings
    2. Choose the method type : enable the option button GET
    3. Specify the URL : https://api.citrixonline.com/G2M/rest/meetings
    4. Specify Header fields : Content-Type : application/json
  4. Click Create.
  5. Click Execute.
The following API response will be generated and all the upcoming meeting details will be returned as a response.


Extension definition Procedures

This section covers the Customize and Automate tabs of the Zoho Developer Console. The connector is added to the new extension and can be tested for its features.

Creating a new extension

  1. Login to Zoho Developer Console and click Build Extensions for Zoho CRM
  2. Click Create extension.
  3. Fill in the following information in the Create Extensionpage
    1. Extension Name: GoToMeeting
    2. Unique Namespace: GoToMeeting(Choose a unique namespace which cannot be changed later)
    3. Short Description: To schedule and reschedule meetings.
  4. Click Create. Your new extension will appear in the Extensionspage of your Zoho Developers Console.

Add the Connector

  1. In the Zoho Developer Console of the GoToMeeting extension, click CRM Connectors located in the left pane.
  2. Click the Add Connector button. A dialog box named Add Connector will open.
  3. Select the GoToMeeting connector from the dropdown list and click Add.
Published connectors will only appear in the Select Connector dropdown list.

The  GoToMeeting connector will be added to the extensions. The Connector APIs will be viewable by clicking View all API's.

Create Custom Buttons

Custom Buttons named Schedule meeting are created in the Leads, Contacts and Accounts modules to create meetings.
  1. In the Zoho Developer Console, click Customize
  2. Select Links and Buttons tab.
  3. Click Create New Button.
  4. Provide the following details:
    1. In which module would you like to create a new button?,Select Contacts
    2. What would you like to name the button?,type Schedule meeting
    3. Where would you like to place the button?,Select List View Page
    4. What action would you like the button to perform? select Invoke a URL
    5. In Construct Your URL, enter https://crm.zoho.com/crm/gotomeeting/createmeeting?module=Contacts&rec_id=${Contacts.Contact Id}&rec_name=${Contacts.Email}
    6. Where do you want to show the content of the button action? New Window
  5. Click Save.
Repeat the same steps to place Schedule meeting button in the Leads and Accounts modules by constructing the appropriate URL information.

Create Custom fields in Events Module

  1. In the Zoho developer console,click Customize in the Left pane.
  2. Select the Fields tab.
  3. Select Events from the Module List and click New Custom Field.
  4. Create the following custom fields in Events : Create Custom Field


Work flow for Delete meeting

  1. In the Zoho Developer Console, click Automate  in the left pane and select Workflow.
  2. Select the Rules tab and click the Create Rule button
  3. Fill the details as listed below,
Basic Information
  1. Module: Events
  2. Rule Name: Delete meeting
  3. Description: Delete a meeting using the Meeting ID
  4. Click Next 

Rule Trigger
  1. Execute Based on : Select A Record Action
  2. Select Delete and click Next

Rule Criteria
  1. Select Meeting Id and is not empty from the respective list boxes.
  2. Click Next

Actions
Under Instant Actions
  1. Navigate to Call Custom Functions and click  +
In the function editor section
  1. Workflow Custom Function : type DeleteMeeting in the text box provided on  select Events.
Write the following custom function given in Deluge script into the editor area and click the Save&Associate button.
  1. gmeetingId = input.event.get("gotomeeting4.Meeting_ID");
  2. deleteResp ={"meetingId": gmeetingId.toLong()};
  3. respMap=zoho.crm.invokeConnector("Gotomeeting.gotomeeting.deletemeeting", deleteResp);}
      4. Click  Execute and enter the Event ID and Meeting ID created through previous steps and Submit.

An empty response will be generated showing that the meeting information with the respective meeting gets deleted. To test this, execute the Delete Meeting connector first, then execute the Upcoming Meeting connector, then check to see if the meeting details have been deleted from the list of scheduled meetings.

Work flow for Update Meeting

  1. In the Zoho Developer Console, click Automate in the left pane  and select Workflow.
  2. Select the Rules tab and click Create Rule button
  3. Fill in the details as listed below,
Basic Information
  1. Module: Events
  2. Rule Name: Update Meeting
  3. Description: Update a meeting's information using the Meeting ID
  4. Click Next 
Rule Trigger
  1. Execute Based on : Select A Record Action
  2. Select Edit and click Next

Rule Criteria
  1. Select Meeting Id and is not empty from the respective list boxes.
  2. Click Next
Actions
Under Instant Actions
  1. Navigate to Call Custom Functions and click  +
In the Function editor area give
  1. Workflow Custom Function : type UpdateMeeting in the text box provided on  select Events.
Write the following custom function given in Deluge script into the editor area and Click the  Save&Associate button.
  1. getEventID = input.event.get("Events.ID");
  2. getRecordInfo = zoho.crm.getRecordById("Events",( getEventID).toLong());
  3. meetingId =(getRecordInfo).get("Meeting ID");
  4. if((meetingId !=null)&&(meetingId !=""))
  5. {
  6. joinURL =(getRecordInfo).get("Meeting Join URL");
  7. callInformation =(getRecordInfo).get("Meeting Call Information");
  8. startTime =(getRecordInfo).get("Start DateTime");
  9. endTime =(getRecordInfo).get("End DateTime");
  10. subject =(getRecordInfo).get("Subject");
  11. meetingType =(getRecordInfo).get("Meeting Type");
  12. a = startTime.toTime();
  13. Time= a.toString("yyyy-MM-dd'T'hh:mm:ss'Z'","Etc/UTC");
  14. b = endTime.toTime();
  15. Time1= b.toString("yyyy-MM-dd'T'hh:mm:ss'Z'","Etc/UTC");
  16. passwordrequired =(getRecordInfo).get("Password Required");
  17. timeZone =(getRecordInfo).get("Time Zone");
  18. meetingAudioType =(getRecordInfo).get("Meeting Audio Type");
  19. if(meetingAudioType =="VoIP Only")
  20. {
  21. conferencecallinfo ="VoIP";}
  22. elseif(meetingAudioType =="Conference Only")
  23. {
  24. conferencecallinfo ="Hybrid";}
  25. elseif(meetingAudioType =="Both")
  26. {
  27. conferencecallinfo ="Free";
  28. }
  29. elseif(meetingAudioType =="Private")
  30. {
  31. conferencecallinfo ="Private";
  32. }
  33. updateResp ={"meetingId": meetingId.toLong(),"subject": subject,"start_time_unix_format":Time,"end_time_in_unix_format":Time1,"passwordrequired":passwordrequired,"conferencecallinfo": conferencecallinfo,"timezonekey": timeZone,"type": meetingType };
  34. respMap = zoho.crm.invokeConnector("Gotomeeting.gotomeeting.updatemeeting", updateResp);
  35. info respMap;
  36. }
  37. Map=zoho.crm.invokeConnector("Gotomeeting.gotomeeting.deletemeeting", deleteResp);
      
      4. Click  Execute
      5. Enter the Event ID and Meeting ID created through previous steps and choose  Submit.

A response will be generated with updated meeting details.To test this, execute the Update Meeting connector first, then the Upcoming Meeting connector, then find the updated meeting details for that respective Meeting ID.



    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









                                            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

                                                  Zoho Desk Resources

                                                  • Desk Community Learning Series


                                                  • Digest


                                                  • Functions


                                                  • Meetups


                                                  • Kbase


                                                  • Resources


                                                  • Glossary


                                                  • Desk Marketplace


                                                  • MVP Corner


                                                  • Word of the Day


                                                    Zoho Marketing Automation

                                                      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 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 ...
                                                                                                              • 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 ...
                                                                                                              • Publishing an Extension

                                                                                                                Once you've finished building your extension, it must be published to make it available for customers. The Zoho Developer Console gives you two options to publish your extension  Publish your extension privately   List it publicly on the Zoho ...
                                                                                                              • 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. ...
                                                                                                                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