Extension pointers #14: Extend end-user benefits and allow personalization by implementing extensions with custom actions

Extension pointers #14: Extend end-user benefits and allow personalization by implementing extensions with custom actions

From our earlier post on custom actions, we know that we can create templated actions, share them with end users, and allow them to reuse those actions to achieve personalized outcomes. In this post, we'll look at how custom actions make it easy for users to carry out these templated tasks to get customized results.
 
Consider the following scenario: a hardware company that already uses Zoho CRM then utilizes Zoho Projects to implement and work on the deals they've won. Assume that the Zoho Projects portal has two projects: one for handling smaller revenue deals that require minimum development and less time, and the other for managing larger revenue dealsthat will eventually demand more time and resources for execution.
 
As an end user processing deals in Zoho CRM, it would be extremely convenient for the company to have the deals automatically fall into the appropriate projects, such as a task based on the expected revenue. Furthermore, it would be ideal to send emails to the customer with whom they have made the deal to request anything needed from their end in order to move forward with the implementation of the deal. Let's see how we can achieve this with the help of custom actions.
 
We have detailed posts on the steps to create a custom action along with a live example. Now, let's reiterate and go over the steps to achieving the above use case. 
 

Developer activities 

1. Create a connector for Zoho Projects.
2. Create a custom user interface (widget-connected app) that allows the user to select the project where the deal should be created as a task, as well as add the personalized email subject and body that will be sent to the user. 
3. Create a custom action in the Zoho Developer console. 
  • Associate the custom user interface to the custom action. 
  • Define an action that creates a task in the selected project and also sends an email to the customer based on the values entered by the end user in the custom UI. 

Extension/end-user activities 

4. Create workflows as an end-user (i.e., set criteria on expected revenue; provide personalized values for email subject and body, and choose the project in which the deal fulfilling the set criteria should be created as a task) and assign a custom action to them. 

Developer activities

1. Creating a connector 

  • Create a new connector in your extension for Zoho Projects using the Connectors feature under Utilities in the left panel of the Zoho Developer console. 
Note: Zoho Projects follows the OAuth 2.0 protocol for its authentication mechanism. You can refer to this post to learn more about the steps to register Zoho Projects and retrieve your client credentials.
  • Add the necessary connector APIs for your functionality. 
  • The Zoho Projects REST APIs added for our example are mentioned below.
Connector API Name
Method type
URL
Get Projects
GET
https://projectsapi.zoho.com/restapi/portal/${portalid}/projects/
Create project task
POST
https://projectsapi.zoho.com/restapi/portal/${portalid}/projects/${projectid}/tasks/?name=${name}&description=${description}
 
Please refer to the Zoho Projects REST API guide for details. 

2. Create a custom user interface: 

1. Create a custom user interface that allows the end user to select the project in which they want to create the deal as a task, as well as enter the email subject and body that should be sent to the contact associated with the deal.
2. You can find the HTML code for the custom UI as an attachment to the post.
  • In the HTML code, we have two text fields to get the user inputs for the email subject and body.
  • We have also invoked the connector API to get projects from a portal. The response is then populated and displayed as a dropdown list to allow the user to select the project in which they want the deal to be created as a task.
  • In the HTML code snippet, we have hard coded a static value for the Zoho Projects portal.
Note: Depending on your business use case requirements, you can create custom variables to prompt the user to input their Zoho Project portal ID, or you can create a setting widget that displays the user's portals, allowing the user to choose the portal in which they want to have the deals created as tasks as well.
  • ZOHO.CRM.ACTION.setConfig - In this example, we have utilized the setConfig method. This method can be used to set values to variables which can be retrieved later through the widget's page load response
➤ For our example, we have used the setConfig method to set various Zoho CRM deal and email (subject and body) user input values to variables. We have later obtained these saved values through the widget's page load response, which contains a configdata key with these set data as its values. 
➤ Sample page load response when ZOHO.CRM.ACTION.setConfig is used in our example:
"module": "Deals",
"configdata": {
DealTest: "Sample Digital Marketing Project"
Dealdescription: "${!Deals.Description}"
Dealname: "${!Deals.Deal_Name}"
Message: "Sample Message"
Subject: "Deal Won!"
To: "${!Deals.Contact_Name.Email}"
➤ We have then used the preset saved values available in the configdata key to prepopulate the widget UI every time it loads. 

3. Create a custom action

  • Go to the Zoho Developer console and select the extension in which you want to create the custom action.
  • Create a custom action by navigating through Automate - > Custom Actions, under the Build section in the left panel. Click Create Action.
  • Enter the Custom Action Name and Description. Click Next.

  • Provide the location of the html file (widget UI) to complete the resource path. Click Next, then click Create Function.

  • Enter the Deluge function to perform our use case functionality.
  • Click Save & Close, then click Save.
Deluge function code snippet:
 
dynamic_map = Map();
dynamic_map.put("portalid","xxxxxx");
dynamic_map.put("projectid",input.config.get("Dealproject"));
dynamic_map.put("name",input.config.get("Dealname"));
dynamic_map.put("description",input.config.get("Dealdescription"));
response = zoho.crm.invokeConnector("xxxxx.zohoprojects.createprojecttask",dynamic_map);
sendmail
[
from :zoho.adminuserid
to :input.config.get("To")
subject :input.config.get("Subject")
message :input.config.get("Message")
]
  • In the above Deluge code, we have performed the functionality of creating the deal as a task in Projects and sending an email to the deal's contact with the input provided by the end user in their CRM account while associating the custom action to a workflow. 

Custom action in effect (End-user):

Create workflows:

  • As an end user who has the extension which features the custom action installed in the Zoho CRM account, go ahead and create workflows to define criteria and associate the custom action.
  • In our case, we have two workflows:
➤ One for smaller deals where the expected revenue is less than 1000 USD


➤ One for larger deals where the expected revenue is greater than or equal to 1000USD


 
  • Upon choosing the custom action, the custom UI appears where-in you can provide user specific input for email body and subject and also choose the project where you want deal to be created as a task in Zoho Projects. 
Smaller revenue deals:
                                                       
Larger revenue deals:
                                                      
  • When a deal with the necessary criteria is satisfied, an email is sent out to the deal's contact with the subject and body provided by the end user. A task is also created in Zoho Projects with some specific deal details. 
This is one business case where you can use custom action. As a parallel use case to the above example itself, say you have multiple projects in Zoho Projects, each used to work on different case categories (bugs, issues, feature request, etc.). You could develop the same kind of template and allow end users to configure the criteria and outcomes accordingly. 
 
You could also use custom actions feature to perform templated actions to obtain personalized outcomes depending on your business needs. We hope you found this information helpful. Keep following this space for more information!
 
 SEE ALSO:
 

    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





                                                          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 Writer

                                                                                            Get Started. Write Away!

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

                                                                                              Zoho CRM コンテンツ











                                                                                                Nederlandse Hulpbronnen


                                                                                                    ご検討中の方




                                                                                                          • Recent Topics

                                                                                                          • File Upload in Creator's Subfrom

                                                                                                            Hello Sir/Madam, Here is a Problem......... Scenario: In CRM One Custom Module (Payments) have one File Upload Field now we have to Upload that File into Creator's Custom Form (Documents) have one Subform (Documents) in Document Upload Field using Deluge
                                                                                                          • Zoho Desk app update - Initiate WhatsApp chat with pre-approved templates from ticket and contact details screen

                                                                                                            Hello, everyone! We are excited to introduce an option to send WhatsApp messages via IM(Instant Messages) using pre-approved templates directly from the ticket and contact details screen of the Zoho Desk app. In the ticket details screen, we have enhanced
                                                                                                          • Where to view user feedback on answer bot's "was this helpful?"

                                                                                                            We are trialing answer bot in our knowledge base and like what we see so far. One of the things we like is that upon answering a query, answer bot asks "Was this helpful?" (see attached). As part of our trial we've been responding to this by clicking
                                                                                                          • Is there a way to have a "Time only" field?

                                                                                                            I need a field that only captures the time.  I don't like the Date-Time field.  It is very clumsy for the user to input AND I need to sort by time separately.  PLEASE add a new field that is dedicated only for inputting time.  I don't need seconds just hours and minutes.  Bonus would be to change it from AM/PM to military/international time. What do we need to do to make this a separate field???   I don't want a work-around, I just need the field.  Is there someone out there that knows how to create
                                                                                                          • Having issues with creator, flow and calendar

                                                                                                            So I have made a creator app when engineer puts in the date and time for when they are going to out on site , this then passes the calendar data to flow and then should populate the inputed data to the calendar. So If use${system.zf_current_date_time}.
                                                                                                          • CRM Mail Merge Template copies OLDER version of the document instead of most recent version

                                                                                                            I have to make 60+ Mail merge templates in ZOHO CRM to use for editing in WRITER and then sending on to sign for signatures. So I have been working on 1, setting all the styling and automatisation right, and I want to use this one as a master template
                                                                                                          • Zoho Sprints Mobile 2.0 : La gestion de projet, réinventée pour vos déplacements

                                                                                                            Nous avons le plaisir de vous annoncer la sortie de Zoho Sprints Mobile 2.0 : une version revisitée de notre application, avec une interface modernisée, de nouvelles fonctionnalités puissantes et une navigation optimisée. Grâce à cette mise à jour, gérer
                                                                                                          • Fetching whole month availability via API

                                                                                                            We are currently building a custom calendar component that books directly into our client's Zoho Bookings instance. The challenge we are facing is that your API only allows fetching availability one day at a time, which is problematic. Our second workaround
                                                                                                          • Zoho Booking > Enquiry Status change automatically

                                                                                                            Hello, We have a Zoho Booking link, we want the following to happen when it is complete: 1) it finds the person in Zoho CRM who submitted the booking and updates the Enquiry Status Column to 'Self Booked'. 2) is it possible to customise the booking form
                                                                                                          • Allow Portal Users to log in using their mobile number.

                                                                                                            I want to allow portal users to log in using their mobile number. I referred to below documentation, but it mentions that this is only supported for Indian mobile numbers. Is it possible to enable login using a Singapore mobile number? https://help.
                                                                                                          • Zoho Webinar Android app update - Organizer chat

                                                                                                            Hello everyone! In the latest version(v1.4.0) of the Zoho Webinar app update, we have brought in support for the 'Organizers' chat feature. In addition to the existing public chat, co-organizers now have access to chat separately with organizers and attendees,
                                                                                                          • How to send Messages to Leads/customers

                                                                                                            I’d like to inquire about the process for sending messages or follow-up communications to customers directly from Zoho CRM. Could you please guide me on the best way to do this—whether via email, SMS, or any integrated messaging feature? Additionally,
                                                                                                          • Task Due Time - Unable to Add

                                                                                                            I have taken a trial version to test, I could not find “Due Time” feature. Only Due date is given
                                                                                                          • Custom Function : Copy multilookup field to text field

                                                                                                            Hi, I'm a newbie on function programming, I try to copy text from a multi lookup field named "societe" to a text field named "societe2". I've used this code. In deluge script it seems to work, but when I trigger this function it doesn't work (Societe2
                                                                                                          • Sign - Introduce a feature to make fields required based on conditions

                                                                                                            Add "Required" to conditional options for fields. Example: A Sign document contains 2 fields Company Type (picklist) Company Registration Number When "Limited Company" is selected from the Company Type, the Company Registration Number should become
                                                                                                          • Announcing Early Access to "Zoho CRM for Everyone" — A new and exciting update to Zoho CRM

                                                                                                            Zoho CRM For Everyone is now officially available to all customers, and the Early Access Program has come to a close. We want to extend our sincere thanks to everyone who participated in the program. Your valuable feedback played a key role in shaping
                                                                                                          • Kaizen #192 - Implementing Custom Token Persistence in Python SDK

                                                                                                            Welcome back to another week of Kaizen! Last week, we discussed how to implement Login with Zoho using OAuth 2.0 and saw how to bring it to life in a real-world application with the Zoho CRM Python SDK. We also discussed how Zylker Academy built a custom
                                                                                                          • Connect Zoho Creator on on prem database with databridge.

                                                                                                            Hi im new to zoho creator. Been through many forums and training clips but cant find a solution. 1. I have an on prem mssql server called "Sales" with a tabel called "Monthly" the server address is 10.0.0.10 2.i have Databridge installed on the server
                                                                                                          • Add a URL to a note

                                                                                                            I enter a lot of notes onto Account and Contact records. For example, I would like to add a note to a person with a link to their blog. When I paste the link into the note, it pastes ok, but it's not a "clickable" link. Is there a way to maintain the
                                                                                                          • Zoho webinar iOS app update: Introducing a dark theme, organizer's chat, emoji reactions, recording consent, and live answer on questions list.

                                                                                                            Hello everyone! In the latest version(v1.1) of the Zoho Webinar app, we have brought in support for the following features: Dark theme. Organizer's chat. Emoji reactions. Recording consent prompt for attendees. Live answer on questions list. 1. Dark theme:
                                                                                                          • Image Quality Issue on Zoho Assist

                                                                                                            Hello, For the past two days, I've been experiencing a significant image quality issue on Zoho Assist when connecting to one of my computers. I’ve tried reinstalling the application, but the issue persists across multiple devices. The internet connection
                                                                                                          • Cookies

                                                                                                            Hey Guys, being a EU based company, we're forced to show the cookie banner, providing easy to read information about the cookies we use and giving the choice to select which cookies the accept. I know in Zoho Marketing Hub, SalesIQ and Sites there are
                                                                                                          • Unveiling the next iteration of Ask Zia in Zoho CRM: An all-new chat interface, conversation history, actions, and much more

                                                                                                            Your CRM assistant just leveled up. Zoho CRM's Ask Zia functionality now offers a more conversational and context-aware experience to help you not just understand your data, but act on it—all from one chat window. With its redesigned interface and expanded
                                                                                                          • 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
                                                                                                          • Field of Lookup in CRM

                                                                                                            Last modified on 04/04/2023: Field of lookup is now available for all Zoho CRM users in all DCs. Note that it was an early access feature available only upon request. Hello All, We're thrilled to talk about a much-awaited enhancement to lookup fields—now
                                                                                                          • [Free webinar series] Get to know Deluge: Zoho’s powerful scripting language

                                                                                                            Hello Everyone, We are much elated to invite you all to our upcoming session in Zoho Deluge! Bringing on to your table - Get to know Deluge: Zoho’s powerful scripting language Understanding Deluge Zoho’s suite of applications offers robust solutions for
                                                                                                          • Integrate with WooCommerce using Wordpress Plugin

                                                                                                            We’re thrilled to announce a powerful update to the Zoho Marketing Automation WordPress plugin with WooCommerce integration! This enhancement enables new possibilities for businesses running online stores using WooCommerce, empowering them to merge seamless
                                                                                                          • Can't find field from ZCRM for a trigger

                                                                                                            Hello, Currently I am revamping our CRM system and we have created second layouts from to try out new processes while not disrupting the old one. Moreover, we want to use different layouts for different processes. The issue is that when creating the ZCRM
                                                                                                          • How do I add an all ready created module, to an page

                                                                                                            So I have created a list of equipment in a module and want to add it to some of the customer accounts, but not all of them, how do I do this? Thanks :)
                                                                                                          • The 3.1 biggest problems with Kiosk right now

                                                                                                            I can see a lot of promise in Kiosk, but it currently has limited functionality that makes it a bit of an ugly duckling. It's great at some things, but woeful at others, meaning people must rely on multiple tools within CRM for their business processes.
                                                                                                          • Integrate Zoho CRM and Zoho Workdrive

                                                                                                            I am having some trouble with my workdrive connection in zoho crm. What I want to do is this: 1) Create a folder for each account record in workdrive team folder, name it after the account name field 2) For each upload to a record in the deals module,
                                                                                                          • 5名限定 課題解決型ワークショップイベント Zoho ワークアウト開催のお知らせ(5/28)

                                                                                                            ユーザーの皆さま、こんにちは。Zoho ユーザーコミュニティチームの藤澤です。 5月開催のZoho ワークアウトについてお知らせします。 今回はZoomにてオンライン開催します。 ▷▷登録はこちら:https://us02web.zoom.us/meeting/register/l6xddhOoR--8rroMIgKWyA ━━━━━━━━━━━━━━━━━━━━━━━━ Zoho ワークアウトとは? Zoho ユーザー同士で交流しながら、サービスに関する疑問や不明点の解消を目的とした「Zoho
                                                                                                          • Zoho people - holidays apear on zoho calender?

                                                                                                            holidays that are stored within zoho people holidays can they be subscribed to within zoho calender?
                                                                                                          • Contact and Deal details in Company Module

                                                                                                            Hello, We would like to set up Zoho CRM based on Account/Company centric approach. We are using several Templates for each company in the Group. And the Account/Company module shall be available to all Templates. The Account/Company module will have all
                                                                                                          • Anone know how to add email body text in Button Properties ?

                                                                                                            When adding a button there is an option use a "Link to Email Address" which triggers an email addresses to the To: email and with the Subject as per the Subject field. I want to add some text in the body of the email, such as My contact details are: Name:
                                                                                                          • Multi-language Support Expanded!

                                                                                                            We are delighted to share some exciting news following our previous announcement about multi-language support! Our multi-language capabilities have been significantly enhanced to better serve our growing and diverse user base. Below is the complete list
                                                                                                          • Dynamic Dashboard for CRM Flyout/Widget

                                                                                                            Hello, Apologies if this has been answered before—it's possible I'm just not searching the community with the right terms. I'm trying to create a dashboard in Zoho Analytics that pulls together reports from several datasets (e.g., CRM Deals, Books Invoices,
                                                                                                          • LinkedIn Inbox Auto-Responder

                                                                                                            How do I set up an auto-responder message from my LinkedIn's company inbox?
                                                                                                          • Zoho Projects for Departments

                                                                                                            We’re currently using Zoho Projects across multiple departments in our company (e.g., Marketing and Project Implementation), and we’re trying to figure out the best way to keep each department's projects and templates completely separate. Here’s what
                                                                                                          • Getting daily summary report from SalesIQ

                                                                                                            Why am I suddenly getting a daily summary report from SalesIQ when I'm not even using it nor signed up to it knowingly?
                                                                                                          • Next Page