Kaizen #159 - Configuring Telephony Extension Widget in Zoho CRM

Kaizen #159 - Configuring Telephony Extension Widget in Zoho CRM




Hello Developers! 

Welcome back to the Widgets fold in our Kaizen series.

In this post, we will learn how to build a custom telephony extension widget for call centers and deploy it within a Zoho CRM organization. This helps in establishing unified communication support without leaving the platform.

Why configure a Telephony?

Telephony integration with Zoho CRM is vital for businesses that rely heavily on customer communication and sales. Following are a few key reasons for its vitality:
  • Centralized Communication: Make and receive calls directly within the CRM, streamlining the communication process.
  • Automatic Call Logging: Calls are automatically logged, helping businesses track communication history without manual effort.
  • Enhanced Collaboration: Sales, marketing, and customer service teams can access shared communication logs for improved teamwork.
  • Automated Follow-Ups: After each call, you can trigger follow-up tasks or emails, ensuring no lead is forgotten.
While the Zoho Marketplace within Zoho CRM offers a variety of telephony extensions, we will look at how to create a private extension that allows you to customize the integration to suit your specific needs.

Info
Note:

For this demonstration, we will use RingCentral as our telephony platform. Although RingCentral is available in the marketplace, we will assume it is a private connected app in this scenario.

Business Scenario

Imagine that you are running a sales agency and you want a widget that lets your sales reps make calls directly from Zoho CRM while tracking all call details seamlessly within CRM records.

The private extension should allow you to control the user interface, customize call-related actions, and manage data flow directly into the CRM, optimizing your sales process.

Creating a Private Telephony Extension

Start by logging into your Zoho CRM account and follow the below steps to build a private extension powered by Zoho Sigma. 

Set Up a Private Extension

1. Navigate to Setup > Marketplace > Extension Builder.

2. Create a workspace in the new tab and click on the New Extension button.Provide the necessary details as shown in the image and choose the service as Zoho CRM.


3. Provide the necessary details as shown in the image and choose the service as Zoho CRM.



4. Click Create.

5. The private extension that you have created will be listed in the Extensions page. Choose your extension and click the edit icon. 
You will be redirected to the Zoho Developer Console



Configure the Telephony Widget 

6. In the console, go to Utilities > Connected Apps on the left-side menu.

7. Follow the steps provided in this kaizen to create a new Zoho CRM widget for this use case. 

8. Fill in the details of the application as shown in this image. 



We have chosen External Hosting for the demo, as our sample widget code is hosted on Amazon Web Service (AWS).

Refer to the 'Code Logic for Integration' section below to see how the widget code should be handled.

9. Click Save.

Code Logic for Integration

10. Here is the core logic for handling telephony events like Dial and DialerActive using the Zoho CRM JS SDK:

DialerActive Event Listener:
  • This listener is triggered when the softphone icon at the bottom of your screen is toggled.
  • It makes a call to the dialed number using Ring Central SDK.
Dial Event Listener:
  • The listener is activated when a user initiates a call from a Zoho CRM record using the phone icon next to the Phone fields.
  • The phone button passes the specific record data to the widget, allowing Ring Central to display the record name and dial the number. Following it, the Ring Central SDKs play the role to execute call related functions.
Call Completion and Notes Update:
  • Once a call ends, the widget opens a note section.
  • The text added to the widget is fed to the Notes Related List of the corresponding record using the Add Notes SDK.
For detailed instructions and to get started, the demo code is available on our GitHub page. Ensure to replace your telephony app credentials, SDKs, and its versions in the rc.js and handler.js files to suit your production needs.

Configure the Call Center

11. Navigate to Build > Telephony in the left menu. 

12. Provide a Name and the Resource Path of your widget. 



13. Click Save.

Packaging and Publishing

14. Go to Package > Publish on the left-side menu and publish the extension. 

15. You will receive a prompt asking if you would like to submit your extension to the Marketplace and avail it like other telephony platforms. 
Once submitted, the review process will take from three weeks to one month for approval.



Instead of waiting for approval, we will proceed with deploying the extension using the private plugin deployment link.

Deploy in your Organization

16. Log into your Zoho CRM organization.

17. Replace the URL of your Zoho CRM page with the deployment link from the Developer Console to install the widget extension.

18. Approve the addition of this extension to your CRM.

19. Once installed, refresh the page and check for the softphone icon at the bottom of your screen.



Click the icon to log in to your telephony platform, such as RingCentral.

Try it Out! 

Once the softphone is installed, try out the following features:
  • The softphone icon opens an iframe dialer pad.
  • You will see a phone icon near the Phone data fields, enabling quick calls directly from the record.
  • After calls, you can take notes and log them as a related list for the CRM record.

Additional Components

Consider adding these components to enhance the functionality of your telephony extension widget:
  • Call Recordings Widget: Create a related list widget that automatically stores all call recordings for future reference. Refer to this page for help. 
  • Call Analytics: Using Ring Central SDKs support users can integrate call duration, frequency, and outcomes into a CRM dashboard Widget for performance tracking.
  • Custom Workflow Triggers: With the help of Insert Records SDK in the extension widget, you can automatically log the call details into the Calls module. This enables you to trigger workflow rules for follow-up tasks, notifications, or actions based on call outcomes. 
From managing call center operations to automating task follow-ups, the potential of widgets is vast and adaptable to a variety of business needs. We encourage you to explore the complete potential of widgets to build custom solutions that elevate your workflows. 

For further assistance, explore our Widget fold in the Kaizen collection or reach out to us at support@zohocrm.com. You can also drop your questions in the comments below. 

Cheers! 

-----------------------------------------------------------------------------------------------------------------------------------

Related Reading

-----------------------------------------------------------------------------------------------------------------------------------

    • Sticky Posts

    • Kaizen #226: Using ZRC in Client Script

      Hello everyone! Welcome to another week of Kaizen. In today's post, lets see what is ZRC (Zoho Request Client) and how we can use ZRC methods in Client Script to get inputs from a Salesperson and update the Lead status with a single button click. In this
    • Kaizen #222 - Client Script Support for Notes Related List

      Hello everyone! Welcome to another week of Kaizen. The final Kaizen post of the year 2025 is here! With the new Client Script support for the Notes Related List, you can validate, enrich, and manage notes across modules. In this post, we’ll explore how
    • Kaizen #217 - Actions APIs : Tasks

      Welcome to another week of Kaizen! In last week's post we discussed Email Notifications APIs which act as the link between your Workflow automations and you. We have discussed how Zylker Cloud Services uses Email Notifications API in their custom dashboard.
    • Kaizen #216 - Actions APIs : Email Notifications

      Welcome to another week of Kaizen! For the last three weeks, we have been discussing Zylker's workflows. We successfully updated a dormant workflow, built a new one from the ground up and more. But our work is not finished—these automated processes are
    • Kaizen #152 - Client Script Support for the new Canvas Record Forms

      Hello everyone! Have you ever wanted to trigger actions on click of a canvas button, icon, or text mandatory forms in Create/Edit and Clone Pages? Have you ever wanted to control how elements behave on the new Canvas Record Forms? This can be achieved
    • Recent Topics

    • Rich Text For Notes in Zoho CRM

      Hello everyone, As you know, notes are essential for recording information and ensuring smooth communication across your records. With our latest update, you can now use Rich Text formatting to organize and structure your notes more efficiently. By using
    • Implement Meeting Polls in Zoho Bookings

      Dear Zoho Bookings Support Team, We'd like to propose a feature enhancement related to appointment scheduling within Zoho Bookings. Current Functionality: Zoho Bookings excels at streamlining individual appointment scheduling. Users can set availability
    • Zoho Bookings and Survey Integration through Flow

      I am trying to set up flows where once an appointment is marked as completed in Zoho Bookings, the applicable survey form would be sent to the customer. Problem is, I cannot customise flows wherein if Consultation A is completed, Survey Form A would be
    • Service Account Admin for API Calls and System Actions

      Hello, I would like to request the addition of a Service Account Admin option in Zoho product. This feature would allow API calls and system actions to be performed on behalf of the system, rather than an active user. Current Issue: At present, API calls
    • How to apply customized Zoho Crm Home Page to all users?

      I have tried to study manuals and play with Zoho CRM but haven't found a way how to apply customized Zoho CRM Home Page as a (default) home page for other CRM users.. How that can be done, if possible? - kipi Moderation Update: Currently, each user has
    • Please can the open tasks be shown in each customer account at the top.

      Hi there This has happened before, where the open tasks are no longer visible at the top of the page for each customer in the CRM. They have gone missing previously and were reinstated when I asked so I think it's just after an update that this feature
    • How to Customize Task Creation to Send a Custom Alert Using JavaScript in Zoho CRM?

      Hello Zoho CRM Community, I’m looking to customize Zoho CRM to send a custom alert whenever a task is created. I understand that Zoho CRM supports client scripts using JavaScript, and I would like to leverage this feature to implement the alert functionality.
    • Send Whatsapp with API including custom placeholders

      Is is possible to initiate a session on whatsapp IM channel with a template that includes params (placeholders) that are passed on the API call? This is very usefull to send a Utility message for a transactional notification including an order number
    • Configurable Zoho Cliq Notifications for Zoho People Alerts

      Hello Zoho People Product Team, Greetings and hope you are doing well. We would like to request an enhancement to Zoho People notifications, enabling a native delivery via Zoho Cliq with admin-level control, similar to the notification settings available
    • Add Israel & Jewish Holidays to Zoho People Holidays Gallery

      Greetings, We hope you are doing well. We are writing to request an enhancement to the Holidays Gallery in Zoho People. Currently, there are several holidays available, but none for Israel and none for Jewish holidays (which are not necessarily the same
    • Keep Zoho People Feature Requests in the Zoho People Forum

      Hello Zoho People Product Team, Greetings. We would like to submit a feature request regarding the handling of feature requests themselves, specifically for Zoho People. Issue: Feature Requests Being Moved to Zoho One Zoho People feature requests are
    • ZO25: The refreshed, more unified, and intelligent OS for business

      Hello all, Greetings from Zoho One! 2025 has been a remarkable year, packed with new features that will take your Zoho One experience to the next level! From sleek, customizable dashboards to an all-new action panel for instant task management, we’ve
    • Introducing Multi-Asset Support in Work Orders, Estimates, and Service Appointments

      We’re excited to announce a highly requested enhancement in Zoho FSM — you can now associate multiple assets with Work Orders, Estimates, and Service Appointments. This update brings more clarity, flexibility, and control to your field service operations,
    • [Product Update] Locations module migration in Zoho Books integration with Zoho Analytics

      Dear Customers, As Zoho Books are starting to support an advance version of the Branches/Warehouses module called the Locations module, users who choose to migrate to the Locations module in Zoho Books will also be migrated in Zoho Analytics-Zoho Books
    • Introducing Schedules for smarter availability management

      Greetings from the Zoho Bookings team! We’re excited to introduce Schedules, a powerful enhancement to manage availability across your workspace. Schedules are reusable working-hour templates that help you define and maintain consistent availability across
    • Why Zoho Contracts Prefers Structured Approvals Over Ad-hoc Approvals

      Approvals are one of the most important stages in a contract’s lifecycle. They determine whether a contract moves forward, gets revised, or needs further discussion. The approval process also defines accountability within the organization. Zoho Contracts
    • Whatsapp Connection Status still "Pending" after migration

      Hello, I migrated my WhatsApp API to Zoho from another provider a day ago. So far the connection status is still “Pending”. There is a problem? How long does it usually take?
    • Kaizen #226: Using ZRC in Client Script

      Hello everyone! Welcome to another week of Kaizen. In today's post, lets see what is ZRC (Zoho Request Client) and how we can use ZRC methods in Client Script to get inputs from a Salesperson and update the Lead status with a single button click. In this
    • How to Filter timewise question to check uploaded one month or two months before in these community question ?

      i want to find the question that is asked some month or before any particular year, so how can i filter it ?
    • Proposal for Creating a Unique "Address" Entity in Zoho FSM

      The "Address" entity is one of the most critical components for a service-oriented company. While homeowners may change and servicing companies may vary, the address itself remains constant. This constancy is essential for subsequent services, as it provides
    • Workflow Down/Bug

      We have a workflow that sends an email to one of our internal departments 10 minutes after a record is created in a custom module. The workflow actually works correctly. However, we have now noticed that on January 8, between 3:55 p.m. and 4:33 p.m.,
    • Service Locations: Designed for Shared Sites and Changing Customers

      Managing service addresses sounds simple—until it isn’t. Large facilities, shared sites, and frequently changing customers can quickly turn address management into an operational bottleneck. This is where Service Locations deliver clarity and control.
    • Can I re-send the Customer Satisfaction Survey after a ticket closure?

      Hello, Some customers does not answer the survey right after closure, is it possible to re-send after a few days or weeks? Best Regards!
    • Account blocked

      Yesterday I got my Zeptomail account blocked due to too many hard bounces. My account is used exclusively for sending transactional emails (eg. your order has been shipped, a form has been filled, etc) and the sudden blocking impacted hundreds of websites
    • Filter contacts based on selected category in Zoho Desk ticket

      Hello community, I’m setting up the Tickets module in Zoho Desk and I need help implementing the following: When a category is selected in a ticket, I want the Contact field to be filtered so that it only displays contacts that are related to that category.
    • Mapping a new Ticket in Zoho Desk to an Account or Deal in Zoho CRM manually

      Is there any way for me to map an existing ticket in Zoho desk to an account or Deal within Zoho CRM? Sometimes people use different email to put in a ticket than the one that we have in the CRM, but it's still the same person. We would like to be able
    • Assign Income to Project Without Invoice

      Hello, Fairly new user here so apologies if there is a really obvious solution here that I am just missing... I have hundreds of small deposits into a bank account that I want to assign to a project but do not want to have to create an invoice every time
    • Tracking Non-Inventory Items

      We have several business locations and currently use zoho inventory to track retail items (sales and purchase orders). We were hoping to use zoho inventory to track our non-inventory items as well (toilet paper, paper towels, etc). I understand that we
    • Profile Page View Customization

      I need to change the fields, sections from the profile view of an emplyoyee.
    • Zoho Desk Android app update: Filter, Sort and Saved filters Enhancements

      Hello everyone! We are excited to introduce the below features on the Android version Zoho Desk mobile app: 1. Filter & Sort support has been introduced for the Contacts and Accounts modules. 2. Sort options is now available in Custom Modules as well.
    • Accessing shared mailboxes through Trident (Windows)

      Hi, I have a created a couple of shared mailboxes. The mailboxes are showing up on the browser based Zoho workplace, but I cannot seem to figure out how to access my shared inboxes through Trident (Windows). Am I missing something or is this feature not
    • Feature Request: Ability to set Default Custom Filters and apply them via URL/Deluge

      I've discovered a significant gap in how Zoho Creator handles Custom Filters for reports, and I'm hoping the Zoho team can address this in a future update. This limitation has been raised before and continues to be requested, but remains unresolved. The
    • Closing the Loop: Why Lookup Asymmetry is Harming Data Integrity in Creator

      TL;DR: Lookup fields allow users to add new related records inline via the "+" icon, but there's no equivalent ability to edit an existing related record without navigating away and losing form context. Adding a native "Edit" icon—with automatic User
    • filtering lookup field options based on information in another module.

      In our CRM system. We have the standard Accounts and Deals modules. We would like to introduce the ability to classify Accounts by Sector. Our desired functionality is to have a global list of all sectors that an Account can select, with the ability to
    • Service op locatie organiseren met Zoho FSM: waar lopen organisaties tegenaan?

      Bij organisaties met service teams op locatie merken we vaak dat de complexiteit niet zozeer in de planning zelf zit, maar in wat er rond die planning gebeurt. Denk aan opvolging na interventies, consistente servicerapporten, en het bijhouden van installaties
    • Introducing Assemblies and Kits in Zoho Inventory

      Hello customers, We’re excited to share a major revamp to Zoho Inventory that brings both clarity and flexibility to your inventory management experience! Presenting Assemblies and Kits We’re thrilled to introduce Assemblies and Kits, which replaces the
    • Does the ability exist to make tax on the customer profile mandatory?

      I am reaching out to inquire about the possibility of making the "Customer Tax" field mandatory when creating a new customer in Zoho. We want to ensure that all customers have their tax information recorded to maintain compliance with our internal processes.
    • email association with CRM

      Why is it 2024 (almost 2025) and Zoho has not figured out how to integrate email with CRM? It is so inconsistent at associating emails within CRM. I am an attorney. I have clients and work with other attorneys. Attorney John Doe is associated with multiple
    • Fix the speed

      It takes ages to load on every step even though my dataset is quite small.
    • Credit Note for Shipped and Fatoora pushed invoices

      We have shipped a Sales Order and created an Invoice. The Invoice is also pushed to Fatoora Now we need to create a credit note for the invoice When we try it, it says we need to create a Sales Return in the Zoho Books, we have already created a Sales
    • Next Page