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

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

    • Recent Topics

    • The present is a "present"

      The conversation around mental health has been gaining attention in recent years. Even with this awareness, we often feel stuck; the relentless pace of modern life makes us too busy to pause, reflect, and recharge. In the world of customer support, this
    • Cliq iOS can't see shared screen

      Hello, I had this morning a video call with a colleague. She is using Cliq Desktop MacOS and wanted to share her screen with me. I'm on iPad. I noticed, while she shared her screen, I could only see her video, but not the shared screen... Does Cliq iOS is able to display shared screen, or is it somewhere else to be found ? Regards
    • Kaizen# 209 - Answering Your Questions | All About Client Script

      Hello everyone! Welcome back to another exciting Kaizen post! Thanks for all your feedback and questions. In this post, let's see the answers to your questions related to Client Script. We took the time to discuss with our development team, carefully
    • Email Integration - Zoho CRM - OAuth and IMAP

      Hello, We are attempting to integrate our Microsoft 365 email with Zoho CRM. We are using the documentation at Email Configuration for IMAP and POP3 (zoho.com) We use Microsoft 365 and per their recommendations (and requirements) for secure email we have
    • Search in Zoho Community Not Working

      I realize this is a bit of a meta topic, but the search for the various Zoho Communities appears to not be working. I'm under the impression that they run on some version of the Zoho Desk platform, so I'm posting this here.
    • I need to do crud with snippet html

      I need to implement a form with an improved user interface. I would like to use snippets to build a CRUD that allows me to create and update records. How could I achieve this using snippets?
    • Allow Stripe Credit Card and Stripe ACH payment methods to be enabled separately on an invoice.

      I need to be able to pick at the invoice level whether Stripe Credit Card and/or Stripe ACH payment methods are available. Currently, I'm not able to select from the two Stripe payment methods individually on an invoice. However, there are some larger
    • Enhancements to finance suite integrations

      Update: Based on your feedback, we’ve updated the capabilities for integration users. In addition to the Estimates module, they can now create, view, and edit records in all the finance modules including Sales Order, Invoices, Purchase Order. We're also
    • Meeting impossible to use when sharing screen

      he Meeting tool in Brazil is practically unusable when sharing anything, whether it’s a presentation or simple navigation. When accessed via Cliq, the situation gets even worse: even basic calls fail to work properly, constantly freezing. And as you are
    • Connecting two modules - phone number

      Hi, I’d like some guidance on setting up an automation in Zoho CRM that links records between the Leads module and a custom module called Customer_Records whenever the phone numbers match. Here’s what I’m trying to achieve: When a new Lead is created
    • Resume Harvester: New Enhancements for Faster Sourcing

      We’re excited to share a set of enhancements to Resume Harvester that make sourcing faster and more flexible. These updates help you cut down on repetitive steps, manage auto searches more efficiently, and review candidate profiles with ease. Why we built
    • Incorrect “correct” password on email client apple mail

      I have troubleshot this account several times. I have deleted and re added account. It keeps saying incorrect password. Can you check that it is not locked on your end?
    • Is it possible to lock editing subform rows?

      Ideally editing would only be locked after the form has been updated but I still want them to be able to add new subform records at any time and they should be able to delete rows from the subform. It is a named subform if that's relevant however the
    • "Spreadsheet Mode" for Fast Bulk Edits

      One of the challenges with using Zoho Inventory is when bulk edits need to be done via the UI, and each value that needs to be changed is different. A very common use case here is price changes. Often, a price increase will need to be implemented, and
    • What is the maximum file size of a video upload in Zoho chat?

      Can I upload a 20 mb video file and share it with my colleagues? 
    • The Social Wall: September 2025

      Hello everyone, As we step into the fall season, some major updates are on the horizon. Meanwhile, here are the exciting updates we rolled out this September. Approvals in iOS Managing approvals just got more seamless on mobile. With this update, the
    • Update a field in ALL all calls under a contact

      HI guys! I have written some deluge code to update a field in my calls after i have comepleted the call, i need this field to update in all my scheduled calls as well that are comeing up. I just cant seem to get it to work, i have put teh code below,
    • MS Teams Meeting to Zoho CRM

      Has anyone figured out a good way to push MS Teams meeting info on a trigger of "meeting end" to Zoho CRM? We're looking for a way to take attendees of a meeting and meeting duration and push it into Zoho CRM after the meeting has ended. If I can just
    • In place field editing for candidates

      Wondering about any insight/best practices for efficiently updating candidate records while reviewing them in a Job Opening pipeline. We can do in-field editing (e.g. update job title or City) only when we have the full candidate record open, however
    • Automatic Matching from Bank Statements / Feeds

      Is it possible to have transactions from a feed or bank statement automatically match when certain criteria are met? My use case, which is pretty broadly applicable, is e-commerce transactions for merchant services accounts (clearing accounts). In these
    • Verifying Zoho Mail Functionality After Switching DNS from Cloudflare to Hosting Provider

      I initially configured my domain's (https://roblaxmod.com/) email with Zoho Mail while using Cloudflare to manage my DNS records (MX, SPF, etc.). All services were working correctly. Recently, I have removed my site from Cloudflare and switched my domain's
    • Fat Download of Ulaa Browser

      I just observed that Ulaa Browser is offering an one-capsule big download. These days it is a custom to offer a small bootstrap downloader and based on user customization options an appropriate download completes. And this is particularly common with
    • Zoho Creator customer portal limitation | Zoho One

      I'm asking you all for any feedback as to the logic or reasoning behind drastically limiting portal users when Zoho already meters based on number of records. I'm a single-seat, Zoho One Enterprise license holder. If my portal users are going to add records, wouldn't that increase revenue for Zoho as that is how Creator is monetized? Why limit my customer portal to only THREE external users when more users would equate to more records being entered into the database?!? (See help ticket reply below.)
    • Changing the Default Search Criteria for Finding Duplicates

      Hey everyone, is it possible to adjust the default search criteria for finding and merging duplicate records? Right now, CRM uses some (in my opinion nonsensical) fields as search criteria for duplicate records which do nothing except dilute the results.
    • Billing Management: #8 Usage Billing in Logistics & Delivery Services

      The logistics and delivery industry thrives on movement and precision. Every delivery completed, every kilometre driven, and every ton transported is a measurable activity. However, billing often lags behind. Many logistics companies still rely on fixed-rate
    • Create custom rollup summary fields in Zoho CRM

      Hello everyone, In Zoho CRM, rollup summary fields have been essential tools for summarizing data across related records and enabling users to gain quick insights without having to jump across modules. Previously, only predefined summary functions were
    • Zoho sheet for desktop

      Hi is zoho sheets available for desktop version for windows
    • Tags for New Tickets

      Hi there, When creating a new ticket, there is currently no way to choose a tag you would like to associate with the new ticket. Being able to associate a tag while creating a new ticket will be very beneficial as it will save time and flow well with
    • Default Sorting on Related Lists

      Is it possible to set the default sorting options on the related lists. For example on the Contact Details view I have related lists for activities, emails, products cases, notes etc... currently: Activities 'created date' newest first Emails - 'created
    • Experience effortless record management in CRM For Everyone with the all-new Grid View!

      Hello Everyone, Hope you are well! As part of our ongoing series of feature announcements for Zoho CRM For Everyone, we’re excited to bring you another type of module view : Grid View. In addition to Kanban view, List view, Canvas view, Chart view and
    • Zoho Desk: No Incoming email

      Is Zoho Desk services down? No incoming email reflect to desk tickets.
    • 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
    • Zoho CRM - Widgets | Update #3 : Introducing SDK V1.5 along with new ZDK Methods and ZRC Support

      Hello everyone! Widgets in Zoho CRM just got a big upgrade! With the release of SDK v1.5, developers can now create more immersive widget experiences. This update elevates Widget development with new ZDK methods for easier interactivity and ZRC support
    • How to update "Lead Status" to more than 100 records

      Hello Zoho CRM, How do I update "Lead Status" to more than 100 records at once? To give you a background, these leads were uploaded or Imported at once but the lead status record was incorrectly chosen. So since there was a way to quickly add records in the system no matter how many they are, we are also wondering if there is a quicker way to update these records to the correct "Lead Status". I hope our concern makes sense and that there will be a fix for it. All the best, Jonathan
    • Unusual activity detected, account blocked

      I am unable to send emails and am getting the error "Outgoing blocked: Unusual activity detected. To unblock your account, please and submit a request. Learn more.". I am unsure as to why this is happening since all my activity is legitimate, mainly confirmation
    • Unlock agreement intelligence with Zoho Sign's latest AI updates

      Hello! If you've been struggling with long, complex agreements and spending way too much time on them, here's exactly what you'll want to hear: Zoho Sign now integrates with OpenAI's ChatGPT to make agreement management smarter and simpler. Acting like
    • Unable to Send Emails – Outgoing Mail Blocked (Error 554 5.1.8)

      Description: Hello Zoho Support Team, I am facing an issue with my Zoho Mail account ( admin@osamarahmani.tech ). Whenever I try to send an email, I get the following error: 554 5.1.8 Email Outgoing Blocked I would like to clarify that I have not done
    • Issue connecting Zoho Mail to Thunderbird (IMAP/SMTP authentication error)

      Dear Zoho Support, I am trying to configure my Zoho Mail account on Thunderbird, but I keep getting authentication errors. Account: info@baktradingtn.com Domain: baktradingtn.com Settings used: IMAP: imap.zoho.com, Port 993, SSL/TLS, Normal Password SMTP:
    • Payment issue with Mail Lite plan – personal NIF not accepted as payment info

      Hello, I have already contacted Zoho Support by email regarding this, but since I haven’t received any reply yet, I’m sharing it here as well to see if the community can help. I’m facing a payment issue for my Mail Lite plan. I have a personal account
    • Customer payment alerts in Zoho Cliq

      For businesses that depend on cash flow, payment updates are essential for operational decision-making and go beyond simple accounting entries. The sales team needs to be notified when invoices are cleared so that upcoming orders can be released. In contrast,
    • Next Page