Extension Pointers #9: Configure a Webhook to handle real-time updates between Zoho CRM and SurveyMonkey

Extension Pointers #9: Configure a Webhook to handle real-time updates between Zoho CRM and SurveyMonkey

While seamless data exchange is possible between Zoho CRM and third-party applications using connectors or custom variables as the binding knot, managing data updates in real-time lies a step ahead. Webhooks can help with this, as they serve as web callbacks to provide real-time data updates between applications on the occurrence of an event. To learn about Webhooks in more detail, please refer here.

In this post, we'll look at an example that depicts a Zoho CRM inbound webhook. This webhook sends data updates to Zoho CRM in real time, based on the occurrence of an event in the integrated third-party application, SurveyMonkey.

Let's assume a scenario where a survey created with SurveyMonkey will be sent to the Zoho CRM contact after successful completion of a deal in order to obtain their feedback. The inbound webhook in our example would be configured to trigger a post action whenever the contact responds to and completes the survey. This response will be updated in real-time to the Zoho CRM account, which could be used to make further data manipulations as per business requirements.

Let's take a look at the major pointers that will be explained in this example to create an inbound webhook and achieve the above mentioned functionality:

➤ Establish a connection between Zoho CRM and SurveyMonkey
➤ Define a REST API function that needs to be subscribed with SurveyMonkey
➤ Create and test your webhook

Establishing Connection between Zoho CRM and SurveyMonkey
  • Create a connector to integrate SurveyMonkey with Zoho CRM. SurveyMonkey supports OAuth method for user authentication. Please refer here to find the detailed steps involved in creating a connector.
  • Define the webhook API of SurveyMonkey with the specified parameters to create a webhook, along with the other essential API's (Get all survey details, Get survey details by ID).


SurveyMonkey Connector's API details:

Refer to the API documentation of SurveyMonkey for header and body parameter specifications of the APIs. After creating the connector and adding the API, publish and associate it with your respective extension.

Note: SurveyMonkey Webhooks can be configured for various events. For our example, we have subscribed the event "response-completed" for Surveys. Whenever a user completes responding to a survey, callback will happen, which in turn will trigger the REST API function.

Defining a Rest API function

SurveyMonkey webhook requires a subscription URL to be constructed as one of the parameters for the Create Webhook API. In order to obtain this URL, we need to define a REST API function that is capable of being triggered from the SurveyMonkey application during callback. The Survey Monkey webhook that will be configured (steps included in the upcoming parts of the post) will deliver the response to the subscribed REST API function. You can access this response through the REST API function input parameter and handle them as per your business process requirements.

1. Log in to Zoho Sigma, then go to the Extension Details page.
2. Choose Functions under Automate from the left panel of the Zoho Developer console under Build, then click New Function.
3. Enter the name of the function. Choose Yes for the Invoke as REST API option to create the function as a REST API function.



4. Click Next, then enter the code in the Deluge editor.

Note: Once the webhook is created successfully, this REST API function will also be successfully subscribed with the third party. When the subscribed event (survey completion) occurs, the third-party will perform the callback and the response will be sent to this function. The response format may vary between third-party applications. Based on the third-party application that you integrate with, extract the required data from the response using the input parameter, crmAPIRequest of the REST API function. The value can be acquired using the different data types as mentioned in this post. After retrieving the required values, data manipulations can be performed according to business logic.



5. Click Save & Close.

After defining the code for the REST API function, click Invoke as REST API button to obtain the URL. The sandbox URL provided with the zapi key value can be used to test the functionality locally in the sandbox environment. The production URL displayed along with the value of zapi key will serve as the subscription URL while creating the Webhook. The zapi key acts as the REST API function's method of authentication.



Creating the webhook

Create a webhook by passing the required values needed for the Webhook API. In our example, we have chosen to create the webhook and subscribe the REST API function during the authorization of the connector.

Note: You have the option to perform actions through custom function while installing an extension, uninstalling an extension, authorizing a connector, or revoking a connector. You can choose the best option that fits your needs.

1. Choose Connectors under Install Actions from the left panel of the Zoho Developer console under Build.
 


2. Choose On Authorization. Enter the code functionality to be performed during the connector authorization.



Code snippet

// Fetching the value of the ZAPI key to be appended in the subscription url
m = {"nameSpace":"xxx.surveymonkey4"};
apikeyresp = zoho.crm.invokeConnector("crm.zapikey",m);
zapikey = apikeyresp.get("response");

// Invoking the Get Surveys API call
resp = zoho.crm.invokeConnector("surveymonkey4.surveymonkeyconnector.getsurveys",dynamic_map1);
response = resp.get("response");
data = response.get("data");
for each dataa in data
{

// Retrieving the survey ID from response of the Get Surveys API call 
id = dataa.get("id");
info id;
dynamic_map = Map();

// Assigning the ID retrieved to the object_id parameter
dynamic_map.put("object_id",id);

// Assigning the combined value of url and zapikey obtained to URL parameter 
dynamic_map.put("url",{REST API URL} + zapikey);

// Invoking Create webhook API to subscribe the webhook with SurveyMonkey
resp = zoho.crm.invokeConnector("surveymonkey4.surveymonkeyconnector.createwebhook",dynamic_map);
}
return "";



➤ The Zapi keyvalue is obtained and stored in a variable called zapikey.
➤ The Get Surveys API call of the SurveyMonkey connector is invoked, and the survey ID is obtained from its response. The retrieved ID is assigned to the object_id parameter required for the Create Webhook API.
➤ Similarly, the url parameter required for the Create Webhook API call is assigned with the value obtained by appending the url (Production URL) and zapikey variable values fetched earlier.
➤ The Create Webhook API of the connector is invoked using zoho.crm.invokeConnector after constructing the required parameters.
➤ The webhook will be subscribed with SurveyMonkey when the connector is authorized and real-time updates can flow in from SurveyMonkey to Zoho CRM.

You can choose to further enhance the functionality by performing data manipulations on the response received from a third-party application via the REST API function, according to your business needs. For more information on extension, keep following this space.


SEE ASLO



    Access your files securely from anywhere







                            Zoho Developer Community




                                                  • Desk Community Learning Series


                                                  • Digest


                                                  • Functions


                                                  • Meetups


                                                  • Kbase


                                                  • Resources


                                                  • Glossary


                                                  • Desk Marketplace


                                                  • MVP Corner


                                                  • Word of the Day


                                                  • Ask the Experts



                                                            • 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


                                                            Manage your brands on social media



                                                                  Zoho TeamInbox Resources



                                                                      Zoho CRM Plus Resources

                                                                        Zoho Books Resources


                                                                          Zoho Subscriptions Resources

                                                                            Zoho Projects Resources


                                                                              Zoho Sprints Resources


                                                                                Qntrl Resources


                                                                                  Zoho Creator Resources



                                                                                      Zoho CRM Resources

                                                                                      • CRM Community Learning Series

                                                                                        CRM Community Learning Series


                                                                                      • Kaizen

                                                                                        Kaizen

                                                                                      • Functions

                                                                                        Functions

                                                                                      • Meetups

                                                                                        Meetups

                                                                                      • Kbase

                                                                                        Kbase

                                                                                      • Resources

                                                                                        Resources

                                                                                      • Digest

                                                                                        Digest

                                                                                      • CRM Marketplace

                                                                                        CRM Marketplace

                                                                                      • MVP Corner

                                                                                        MVP Corner









                                                                                          Design. Discuss. Deliver.

                                                                                          Create visually engaging stories with Zoho Show.

                                                                                          Get Started Now


                                                                                            Zoho Show Resources

                                                                                              Zoho Writer

                                                                                              Get Started. Write Away!

                                                                                              Writer is a powerful online word processor, designed for collaborative work.

                                                                                                Zoho CRM コンテンツ



                                                                                                  Nederlandse Hulpbronnen


                                                                                                      ご検討中の方




                                                                                                              • Recent Topics

                                                                                                              • Zoho Directory 2025: New Features | Security Enhancements | Enriched UI

                                                                                                                Hello everyone, Greetings from the Zoho Directory team! 2025 has been a highly successful year for Zoho Directory. We are delighted to introduce a fresh set of features, an enriched UI, and major product enhancements. These updates aim to deliver a smoother
                                                                                                              • zoho people 5 report

                                                                                                                How do I customize my report in Zoho People Report? I understand that I can get the results of multi-table queries through SQL join statements, but I don't know the relationship between each table. I tried to create a report using Attendance User Report
                                                                                                              • Leave Report Emailed Weekly

                                                                                                                I am wondering if someone knows how to have a report generated either weekly or monthly or both for department heads and ownership of upcoming employee leave. For instance, it would be nice to get an emailed report on Friday for the upcoming week of who
                                                                                                              • Zoho Flow Decision Continuing Despite Not Meeting Conditions

                                                                                                                I have a picklist field called Lead Status in the leads module, with the following lead Statuses: New Lead Attempted Contact - 1 Attempted Contact - 2 Attempted Contact - 3 Attempted Contact - 4 Attempted Contact - 5 Attempted Contact - 6 Attempted Contact
                                                                                                              • Tip #55- Accessibility Controls in Zoho Assist: Exploring Vision Settings- 'Insider Insights'

                                                                                                                As we approach the end of the year, it’s a good moment to reflect on how we can make our tools more inclusive and easier to use for everyone. Remote support often involves long hours in front of screens, varied lighting conditions, and users with different
                                                                                                              • Zoho Recruit Slow and Freezing on all screens

                                                                                                                We have had an issue with Zoho Recruit for weeks being extremely slow and at times freezing.  We have 100 mega internet, and I went into each computer and updated the virtual memory so there is more available.  Also restarted all computers daily.  Still having the issues.  Almost unable to work.
                                                                                                              • Credit Management: #2 Configuring Right Payment Terms for Credit Control

                                                                                                                Think about the last time you ordered something online and saw that little note at the checkout, "Pay on Delivery" or "Pay later". It's simple, but it actually sets the tone. As a business owner, you know exactly when payment is expected. Now, imagine
                                                                                                              • Dependent (Conditional) Fields in Zoho Bookings Forms

                                                                                                                Hello Zoho Bookings Team, Greetings, We would like to request the ability to create dependent (conditional) fields in Zoho Bookings registration forms. Current Limitation: There is currently no way to make one field’s available options depend on the value
                                                                                                              • Bug Report: Search fails to find existing notes after Evernote import

                                                                                                                Hello, I recently migrated from Evernote (~2600 notes across 23 notebooks), but the search functionality is currently broken. The Issue: I can manually browse to a specific note and see it exists. However, when I type the exact or partial title of that
                                                                                                              • Marketing Tip #13: Win repeat customers with post-purchase emails

                                                                                                                The relationship with your customer doesn’t end after the sale; that’s when it begins. A thoughtful post-purchase message shows customers you appreciate them, keeps your brand top of mind, and can even lead to another sale. You can thank them, ask for
                                                                                                              • Zoho Form

                                                                                                                I have problem with Zoho Form. One of form i don't received the PDF version. Others okay except this one. W904533
                                                                                                              • Create & Update Zoho Vault Passwords via Zoho Flow

                                                                                                                Hi Zoho Flow / Zoho Vault Team, We’d like to request an enhancement to the Zoho Vault integration in Zoho Flow. Current Limitation: At the moment, Zoho Flow supports only the following selected Zoho Vault actions, such as: Fetch passwords, Share passwords
                                                                                                              • Custom Related List Inside Zoho Books

                                                                                                                Hello, We can create the Related list inside the zoho books by the deluge code, I am sharing the reference code Please have a look may be it will help you. //..........Get Org Details organizationID = organization.get("organization_id"); Recordid = cm_g_a_data.get("module_record_id");
                                                                                                              • Migrate different zoho subscription to zoho one

                                                                                                                Dear We have different zoho subscription we need to migrate it to zoho one. Currently we are paying for zoho email, zoho expense, zoho payroll etc under different admin We need to move it too zoho one flexlible plan for all my employees
                                                                                                              • Features, Feedback and Votes

                                                                                                                We’re launching the Feedback Forum for our customers. This is 'THE' place where you can add everything you’d like to see in Zoho Books. If you don't find the specific feature you need, simply add it so others can also vote for it. While we cannot promise
                                                                                                              • Payment system for donations management

                                                                                                                I manage an organization where we receive donations from payers. Hence, there is no need to first create invoices and then create payments received against the invoices. What are the recommended best practices to do this in ZohoBooks?
                                                                                                              • There Might Be A Glitch in Determining If A String Represents A URL

                                                                                                                I suspect there might be a glitch in determining if a string represents a URL or not. For example, I cannot embed the following URL. Perhaps the exclamation mark or parentheses are the culprit? https://en.wikipedia.org/wiki/How_the_Grinch_Stole_Chri
                                                                                                              • Customer Management: #4 Enhance Customer Journey

                                                                                                                When Neha started DefineOps, a growing IT support and consulting firm, most of her work was straightforward. A client would sign up for a free version, decide whether the service works for them, and then either continue or discontinue. Billing was simple,
                                                                                                              • Android app sync problem - multiple devices have same problem

                                                                                                                Hello, I am having a problem with synchronization in the Android app. When I create a drawing, the data does not sync correctly—only a blank note is created without the drawing. I tested this on multiple devices, including phones and tablets, and the
                                                                                                              • Marketing Tip #1: Optimize item titles for SEO

                                                                                                                Your item title is the first thing both Google and shoppers notice. Instead of a generic “Leather Bag,” go for something detailed like “Handcrafted Leather Laptop Bag – Durable & Stylish.” This helps your items rank better in search results and instantly
                                                                                                              • Territory Assignment Issues (Lead to Account + Contact)

                                                                                                                1. Lead → Account & Contact Territory Assignment on Conversion A Lead is automatically assigned one or more territories using a workflow and Lead Assignment Rules. This works as expected, and we are able to assign multiple territories to a Lead automatically.
                                                                                                              • Marketer's Space: Proven tips to improve open rates – Part II

                                                                                                                Hello Marketers! Welcome back to another post in Marketer's Space! We're continuing from where we left off a fortnight ago. We ended the previous post discussing the subject line, and we'll continue from there. Let's dive right in. Pre-header Pre-header
                                                                                                              • SQL Table slowed to a crawl

                                                                                                                Hi all - I seem to have noticed an update. Now whenever I am typing in the script field for the SQL tables there is a huge delay and it is all very slow. This has never been the case for me in over 5 years of using Analytics - I really hope it's fixed
                                                                                                              • Deluge Events/search API works in user environment but not in sandbox – why?

                                                                                                                I am creating an Extension for Zoho CRM using Zoho Sigma Platform I’m using the following Deluge code to search Events in Zoho CRM based on Start_DateTime: criteria = "(Start_DateTime:greater_than:2025-12-20T00:00:00+00:00)"; url = "crm/v8/Events/search?criteria="
                                                                                                              • Ensure Consistent Service Delivery with Comprehensive Job Sheets

                                                                                                                We are elated to announce that one of the most requested features is now live: Job Sheets. They are customizable, reusable forms that serve as a checklist for the services that technicians need to carry out and as a tool for data collection. While on
                                                                                                              • What are Zoho Meeting capabilities included in Zoho Workplace Standard?

                                                                                                                I am evaluating using Zoho Meeting for my organization, but it is not clear what Zoho Meeting capabilities are already included in Zoho Workplace Standard. - Are meeting recordings included in Workplace Standard? - Can we invite external meeting participants
                                                                                                              • How can I get the participant list of a reoccurring meeting afterwards?

                                                                                                                I'm trying to use the Meeting Participant Report from the API docs but when I call it on a reoccurring meeting it returns that there are no participants because it thinks I'm talking about the meeting in the future. Is there a way to use webhooks or some
                                                                                                              • Function #50: Send Mass emails to your customers

                                                                                                                Hello everyone, and welcome back to our series! We have reached a milestone of 50 Functions, which means that we have automated 50 different tasks in Zoho Books. Every Friday, we have shared a nifty function aimed at either automating a task or streamlining
                                                                                                              • Full Hebrew Language Support for Client-Side Zoho Assist Interface

                                                                                                                Dear Zoho Assist Team, We would like to request an enhancement to Zoho Assist's client-side interface to support full Hebrew language customization, including all popups, notifications, and session-related messages. Current Limitation The Join page allows
                                                                                                              • Add Hebrew & RTL Support to Feedback Widget

                                                                                                                Hello Zoho Desk Team, How are you? We are using Zoho Desk and would like to utilize the Feedback Widget. While Zoho Desk itself supports Hebrew and RTL, the Feedback Widget unfortunately does not. We kindly request that Hebrew and full RTL support be
                                                                                                              • Merge Tickets Directly from Contact Page in Zoho Desk

                                                                                                                Dear Zoho Desk Support Team, We are writing to request a new feature that would allow users to easily merge tickets directly from the contact page in Zoho Desk. Currently, the only option to merge tickets is from the Tickets list view page, which can
                                                                                                              • Different languages for users

                                                                                                                Hello, Do you plan to enable individual users to select their languages for interface? Currently language can be changed for everyone - it looks like a settings for a whole portal, which is not good when you are working internationally. Best regards,
                                                                                                              • 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
                                                                                                              • 2025年 Zoho コミュニティ 活動の振り返り 🎉

                                                                                                                ユーザーの皆さん、こんにちは!コミュニティチームの中野です。 2025年も多くの学びと出会いがあったZoho コミュニティ。 本記事では今年の活動を振り返りながら、フォーラムの投稿・参加者の皆さん・イベントのハイライトをご紹介していきます。 目次 フォーラム:注目の投稿 フォーラム:多くの貢献をしてくださった方々 ユーザー交流会振り返り ワークアウト振り返り その他のトピックス 1. フォーラム:注目の投稿 本フォーラムでは様々な議論と知識の共有が行われました。 ユーザーの皆さんが日々の業務で直面する課題を投稿し、経験豊富なユーザーさん達が実践的な解決策を提供してくださいました。
                                                                                                              • Customer Management: #3 Giving Customers Control & Privilege

                                                                                                                Rio, the founder of RenoTech Solutions, a fast-growing digital service company, found itself juggling a dozen different services for its clients. They handled one-time setup fees, recurring monthly invoices, and custom milestone-based billing for projects.
                                                                                                              • Can I use a Standalone CRM Function as the Callback URL For Async Export Data API?

                                                                                                                I am creating an export job using this API https://www.zoho.com/analytics/api/v2/bulk-api/export-data-async/create-export/view-id.html There is a "callbackUrl" key in the CONFIG object. I tried copying the URL for a standalone function in CRM which can
                                                                                                              • Add RTL (Right-to-Left) Text Direction Support Across All Zoho Learn Editing Interfaces

                                                                                                                Hi Zoho Learn Team, Hope you're doing well. We would like to request an important enhancement to Zoho Learn regarding support for right-to-left (RTL) languages such as Hebrew and Arabic. 🔹 Current Issue While the Knowledge Base Article editor provides
                                                                                                              • Add Hebrew Support for Meeting Transcripts Provided by ZIA in Zoho Cliq

                                                                                                                Hi Zoho Cliq Team, Hope you're doing well. We would like to request the addition of Hebrew language support for the Meeting Transcript and Summary feature in Zoho Cliq. Currently the transcript and summary feature is available for recorded meetings and
                                                                                                              • Remote Control Functionality During Screen Sharing in Zoho Cliq

                                                                                                                Hello Zoho Cliq Team, We would like to request the addition of remote control functionality during screen sharing sessions in Zoho Cliq. Currently, while screen sharing in Cliq is very useful, it lacks the ability for another participant to take control
                                                                                                              • Centralized Organization Information Management in Zoho One

                                                                                                                Dear Zoho One Support, I'm writing to propose a feature that would significantly improve the user experience and streamline data management within Zoho One. Current Challenge: Currently, managing organization information across various Zoho One apps requires
                                                                                                              • Next Page