Skip to product menu
close
  • Recent Launches
    Press Space or Enter to display list of options
EXPLORE ALL PRODUCTS

Recent Launches

New

Payroll software with automated tax payments and filing.

Try now
New

Robotic process automation software to automate high-volume, rule-based tasks.

Try for free
New

Low-code IoT platform and solutions for connected businesses.

Try now
New

Business formation service to launch and grow your businesses.

Try now
New

Privacy-friendly application analytics solution.

Try for free

Sales

 
CRM

Comprehensive CRM platform for customer-facing teams.

CRM
 
Bigin

Simple CRM for small businesses moving from spreadsheets.

Bigin
 
Forms

Build online forms for every business need.

Forms
 
SalesIQ

Live chat app to engage and convert website visitors.

SalesIQ
 
Bookings

Appointment scheduling app for consultations with customers.

Bookings
 
Sign

Digital signature app for businesses.

Sign
 
RouteIQ

Comprehensive sales map visualization and optimal route planning solution.

RouteIQ
 
Thrive

Complete loyalty and affiliate management platform.

Thrive
 
Voice

Cloud Contact Center Software for businesses.

Voice
 
Suites
CRM Plus

Unified platform to deliver top-notch customer experience.

CRM Plus

Marketing

 
Social

All-in-one social media management software.

Social
 
Campaigns

Create, send, and track targeted email campaigns that drive sales.

Campaigns
 
Forms

Build online forms for every business need.

Forms
 
Survey

Design surveys to reach and interact with your audience.

Survey
 
Sites

Online website builder with extensive customisation options.

Sites
 
PageSense

Website conversion optimization and personalisation platform.

PageSense
 
Backstage

End-to-end event management software.

Backstage
 
Webinar

Webinar platform for webcasting online webinars.

Webinar
 
Marketing Automation

All-in-one marketing automation software.

Marketing Automation
 
LandingPage

Smart landing page builder to increase conversion rates

LandingPage
 
Publish

Manage all your local business listings on a single platform.

Publish
 
SalesIQ

Live chat app to engage and convert website visitors.

SalesIQ
 
Sign

Digital signature app for businesses.

Sign
 
Thrive

Complete loyalty and affiliate management platform.

Thrive
 
Voice

Cloud Contact Center Software for businesses.

Voice
 
NEW
LeadChain

Sync, manage, and convert leads across channels seamlessly.

LeadChain
 
NEW
CommunitySpaces

Online community platform for individuals and businesses to grow their network and brand.

CommunitySpaces
 
Suites
Marketing Plus

Unified marketing platform for marketing teams.

Marketing Plus

Commerce

 
Commerce

eCommerce platform to manage and market your online store.

Commerce

Service

 
Desk

Helpdesk software to deliver great customer support.

Desk
 
Assist

Remote support and unattended remote access software.

Assist
 
Lens

Interactive remote assistance software with augmented reality.

Lens
 
FSM

End-to-end field service management platform for service businesses.

FSM
 
SalesIQ

Live chat app to engage and convert website visitors.

SalesIQ
 
Voice

Cloud Contact Center Software for businesses.

Voice
 
NEW
Solo

The all-in-one toolkit for solopreneurs.

Solo
 
Bookings

Appointment scheduling app for consultations with customers.

Bookings
 
Suites
Service Plus

Unified platform for customer service and support teams.

Service Plus

Finance

 
Books

Powerful accounting platform for growing businesses.

Books
 
FREE
Invoice

100% Free invoicing solution.

Invoice
 
Expense

Effortless expense reporting platform.

Expense
 
Inventory

Powerful stock management and inventory control software.

Inventory
 
Billing

End-to-end billing solution for your business.

Billing
 
Checkout

Collect payments online with custom branded pages.

Checkout
 
NEW
Payroll

Payroll software with automated tax payments and filing.

Payroll
 
NEW
Solo

The all-in-one toolkit for solopreneurs.

Solo
 
Practice

Practice management software for accounting firms.

Practice
 
Sign

Digital signature app for businesses.

Sign
 
Commerce

eCommerce platform to manage and market your online store.

Commerce
 
Suites
Finance Plus

All-in-one suite to manage your operations and finances.

Finance Plus

Email and Collaboration

 
Mail

Secure email service for teams of all sizes.

Mail
 
Meeting

Online meeting software for all your video conferencing & webinar needs.

Meeting
 
Writer

Word processor for focused writing and discussions.

Writer
 
Sheet

Spreadsheet software for collaborative teams.

Sheet
 
Show

Create, edit, and share slides with a sleek presentation app.

Show
 
Notebook

Beautiful home for all your notes.

Notebook
 
Cliq

Stay in touch with teams no matter where you are.

Cliq
 
Connect

Employee experience platform to communicate, engage, and build positive employee relations.

Connect
 
Bookings

Appointment scheduling app for consultations with customers.

Bookings
 
TeamInbox

Shared inboxes for teams.

TeamInbox
 
WorkDrive

Online file management for teams.

WorkDrive
 
Sign

Digital signature app for businesses.

Sign
 
Office Suite

Powerful collaborative work platform for teams.

Office Suite
 
Office Integrator

Built in document editors for web apps.

Office Integrator
 
ZeptoMail

Secure and reliable transactional email sending service.

ZeptoMail
 
Calendar

Online business calendar to manage events and schedule appointments.

Calendar
 
Learn

Knowledge and learning management platform.

Learn
 
Voice

Cloud Contact Center Software for businesses.

Voice
 
ToDo

Collaborative task management for individuals and teams.

ToDo
 
Tables

Work management tool to connect people, processes, and information.

Tables
 
FREE
PDF Editor

Collaborative online PDF editing tool.

PDF Editor
 
Suites
Workplace

Application suite built to improve team productivity and collaboration.

Workplace

Human Resources

 
People

Organize, automate, and simplify your HR processes.

People
 
Recruit

Intuitive recruiting platform built to provide hiring solutions.

Recruit
 
Expense

Effortless expense reporting platform.

Expense
 
Workerly

Manage temporary staffing with an employee scheduling solution.

Workerly
 
NEW
Payroll

Payroll software with automated tax payments and filing.

Payroll
 
Shifts

Employee scheduling and time tracking app.

Shifts
 
Sign

Digital signature app for businesses.

Sign
 
Suites
People Plus

Comprehensive HR platform for seamless employee experiences.

People Plus

Security and IT Management

 
Creator

Build custom apps to simplify business processes.

Creator
 
Directory

Workforce identity and access management solution for cloud businesses.

Directory
 
FREE
OneAuth

Secure multi-factor authenticator (MFA) for all your online accounts.

OneAuth
 
Vault

Online password manager for teams.

Vault
 
Catalyst

Pro-code platform to build and deploy your apps.

Catalyst
 
Toolkit

Complete resource for any admin-related lookup queries.

Toolkit
 
Lens

Interactive remote assistance software with augmented reality.

Lens
 
Assist

Remote support and unattended remote access software.

Assist
 
QEngine

Test automation software to build, manage, execute, and report testcases.

QEngine
 
NEW
RPA

Automate manual, tedious, and repetitive tasks easily.

RPA

BI and Analytics

 
Analytics

Modern self-service BI and analytics platform.

Analytics
 
Embedded BI

Embedded analytics and white label BI solutions, tailored for your needs.

Embedded BI
 
DataPrep

AI-powered data preparation service for your data-driven organization.

DataPrep
 
NEW
IoT

Harnessing IoT analytics for real-time operational intelligence.

IoT

Project Management

 
Projects

Manage, track, and collaborate on projects with teams.

Projects
 
Sprints

Planning and tracking tool for scrum teams.

Sprints
 
BugTracker

Automatic bug tracking software for managing bugs.

BugTracker
 
NEW
Solo

The all-in-one toolkit for solopreneurs.

Solo

Developer Platforms

 
Creator

Build custom apps to simplify business processes.

Creator
 
Flow

Automate business workflows by creating smart integrations.

Flow
 
Catalyst

Pro-code platform to build and deploy your apps.

Catalyst
 
Office Integrator

Built in document editors for web apps.

Office Integrator
 
ZeptoMail

Secure and reliable transactional email sending service.

ZeptoMail
 
QEngine

Test automation software to build, manage, execute, and report testcases.

QEngine
 
Tables

Work management tool to connect people, processes, and information.

Tables
 
NEW
RPA

Automate manual, tedious, and repetitive tasks easily.

RPA
 
NEW
Apptics

Application analytics for all apps.

Apptics
 
Embedded BI

Embedded analytics and white label BI solutions, tailored for your needs.

Embedded BI
 
NEW
IoT

Build, deploy, and scale IoT solutions for connected businesses.

IoT
 
DataPrep

AI-powered data preparation service for your data-driven organization.

DataPrep

IoT

 
NEW
IoT

Low-code IoT platform and solutions for connected businesses.

IoT

Search Result

 
CRM Plus

Unified platform to deliver top-notch customer experience.

Try now
CRM Plus
 
Service Plus

Unified platform for customer service and support teams.

Try now
Service Plus
 
Finance Plus

All-in-one suite to manage your operations and finances.

Try now
Finance Plus
 
People Plus

Comprehensive HR platform for seamless employee experiences.

Try now
People Plus
 
Workplace

Application suite built to improve team productivity and collaboration.

Try now
Workplace
 
Marketing Plus

Unified marketing platform for marketing teams.

Try now
Marketing Plus
 
All-in-one suite

Zoho One

The Operating System for Business

Run your entire business on Zoho with our unified cloud software, designed to help you break down silos between departments and increase organizational efficiency.

TRY ZOHO ONE
Zoho One
Zoho Marketplace

With over 2000 ready-to-use extensions across 40+ categories, connect your favorite business tools with the Zoho products you already use.

EXPLORE MARKETPLACE
Marketplace
Skip to main content

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.

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.
    • Connector Name : GoToMeeting
    • Description : Creation of connector to conduct meetings online.
    • Service name : GoToMeeting
    • Sign Up URL : https://www.gotomeeting.com/
    • Request Token URL : https://api.citrixonline.com/oauth/authorize
    • 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.
    • Redirect URL : https://platform.zoho.com/auth/conns/newcon/redirect
  7. Click Save.

A connector named GoToMeeting will be created. Using this connector, variouAPIs 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:
    • Specify Connector API Name : Create Meeting
    • Choose the method type : Enable the option button POST
    • Specify the URL : https://api.citrixonline.com/G2M/rest/meetings
    • Specify Header fields : Content-Type : application/json
    • 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,
    • Specify Connector API Name : Delete Meeting
    • Choose the method type : enable the option button DELETE
    • Specify the URL : https://api.citrixonline.com/G2M/rest/meetings
    • 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,
    • Specify Connector API Name : Update Meeting
    • Choose the method type : Enable the option button PUT
    • Specify the URL : https://api.citrixonline.com/G2M/rest/meetings
    • Specify Header fields : Content-Type : application/json
    • 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:
    • Specify Connector API Name : Upcoming Meetings
    • Choose the method type : enable the option button GET
    • Specify the URL : https://api.citrixonline.com/G2M/rest/meetings
    • 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 toZoho Developer Console and click Build Extensions for Zoho CRM
  2. ClickCreate extension
  3. Fill in the following information in theCreate Extensionpage
    • Extension Name: GoToMeeting
    • Unique Namespace: GoToMeeting(Choose a unique namespace which cannot be changed later)
    • 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 Consoleof 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 theZoho Developer ConsoleclickCustomize
  2. SelectLinks and Buttonstab.
  3. ClickCreate New Button.
  4. Provide the following details:
    • In which module would you like to create a new button?,SelectContacts
    • What would you like to name the button?,typeSchedule meeting
    • Where would you like to place the button?,SelectList View Page
    • What action would you like the button to perform?,selectInvoke a URL
    • In Construct Your URL, enter https://crm.zoho.com/crm/gotomeeting/createmeeting?module=Contacts&rec_id=${Contacts.Contact Id}&rec_name=${Contacts.Email}
    • 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

  • Module : Events
  • Rule Name : Delete meeting
  • Description : Delete a meeting using the Meeting ID
  • Click Next 

Rule Trigger

  • Execute Based on  : Select A Record Action
  • Select Delete and click Next

Rule Criteria

  • Select Meeting Id and is not empty from the respective list boxes.
  • Click Next

Actions

Under Instant Actions

  • Navigate to Call Custom Functions and click  +

In the function editor section

  • 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.

gmeetingId = input.event.get("gotomeeting4.Meeting_ID");
  deleteResp = { "meetingId" : gmeetingId.toLong() };
  respMap=zoho.crm.invokeConnector("Gotomeeting.gotomeeting.deletemeeting", deleteResp);
  }
  1. 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

  • Module : Events
  • Rule Name : Update Meeting
  • Description :Update a meeting's information using the Meeting ID
  • Click Next 

Rule Trigger

  • Execute Based on  : Select A Record Action
  • Select Edit and click Next

Rule Criteria

  • Select Meeting Id and is not empty from the respective list boxes.
  • Click Next

Actions

UnderInstant Actions

  • Navigate to Call Custom Functions and click  +

In the Function editor area give

  • 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.

getEventID = input.event.get("Events.ID");
  getRecordInfo = zoho.crm.getRecordById("Events",( getEventID).toLong());
  meetingId = (getRecordInfo).get("Meeting ID");
  if ((meetingId != null) && (meetingId != ""))
  {
  joinURL = (getRecordInfo).get("Meeting Join URL");
  callInformation = (getRecordInfo).get("Meeting Call Information");
  startTime = (getRecordInfo).get("Start DateTime");
  endTime = (getRecordInfo).get("End DateTime");
  subject = (getRecordInfo).get("Subject");
  meetingType = (getRecordInfo).get("Meeting Type");
  a = startTime.toTime();
  Time = a.toString("yyyy-MM-dd'T'hh:mm:ss'Z'", "Etc/UTC");
  b = endTime.toTime();
  Time1 = b.toString("yyyy-MM-dd'T'hh:mm:ss'Z'", "Etc/UTC");
  passwordrequired = (getRecordInfo).get("Password Required");
  timeZone = (getRecordInfo).get("Time Zone");
  meetingAudioType = (getRecordInfo).get("Meeting Audio Type");
  if (meetingAudioType == "VoIP Only")
  {
  conferencecallinfo = "VoIP";
  }
  else if (meetingAudioType == "Conference Only")
  {
  conferencecallinfo = "Hybrid";
  }
  else if (meetingAudioType == "Both")
  {
  conferencecallinfo = "Free";
  }
  else if (meetingAudioType == "Private")
  {
  conferencecallinfo = "Private";
  }
  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 };
  respMap = zoho.crm.invokeConnector("Gotomeeting.gotomeeting.updatemeeting", updateResp);
  info respMap;
  }
  Map=zoho.crm.invokeConnector("Gotomeeting.gotomeeting.deletemeeting", deleteResp);
  1. Click Execute
  2. 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.