Automation#32:Auto Add New Portal Users to the Help Center User Groups

Automation#32:Auto Add New Portal Users to the Help Center User Groups

Hello Everyone,
Introducing a custom function that automates the process of adding new portal users to Help Center user groups, making user management effortless!
By default, Zoho Desk allows you to assign new portal users to groups manually. But with this custom function, the process is completely automated, ensuring seamless categorization.


Why User Groups?

Zylker Techfix was dedicated to helping customers through their Help Center. While they actively supported users, there was one challenge: everyone received the announcements, irrespective of their requirements.
Zylker Techfix wanted a smarter way to engage their users by sending targeted announcements based on individual interests, such as gadgets, office equipment, and operations.
To make this happen, they created user groups and assigned new users accordingly. But manually adding users to the right groups was time-consuming.
So, they automated the process! With a custom function, they streamlined operations, ensuring every new portal user was automatically assigned to the right Help Center user group. More relevance, better engagement, zero manual effort.
Let’s walk through the steps to incorporate this custom function into your workflow.

Prerequisites

1. Create a connection
  1.1 Go to Setup(S) and choose Connections under Developer Space.
  1.2 Click Create Connection.
  1.3 Select Zoho OAuth under Default Connection.
  1.4 Set the connection name as zohodesk.
  1.5 Disable the toggle for User Credentials of Login User. 
  1.6 Under Scope, choose the below scope values:
Desk.contacts.READ
Desk.contacts.UPDATE
  1.7 Click Create and Connect.
  1.8 Click Connect and click Accept.
Connection is created successfully.

Create a Workflow Rule

1. Go to Setup, choose Workflows under Automation. 
2. Under Workflows, click Create Rule.

In the Basic Information section,
3. Select Contacts from the drop-down menu under Module.
4. Enter a Rule Name and Description for the rule.
5. If you want to activate the rule right away, select the Active checkbox. Else, create the rule and activate it later.
6. Click Next

In the Execute on section, follow these steps:
7. Select Field Update. Select field isPortalUser. 
8. Click Next.
9. In the Criteria section, add isPortalUser is and select the checkbox. click Next. 
10. In the Actions section, click the + icon and select New next to Custom Functions.
11. Enter a Name and Description for the custom function. Choose Contacts under Module.
12. Under Argument Mapping, give a desired Method Name. Map the arguments as below:
      12.1 In the Argument Name field, type contactId and select Contact ID under the Contacts Section.
13. In the script window, insert the Custom Function given below:
  1. // ---------------User inputs------------------------------------------
  2. deskUrl = "https://desk.zoho.com/api/v1/"; // replace based on user dc
  3. groupId = "<<GROUP ID>>"; // replace the group id in your desk portal
  4. //---------------------------------
  5. logs = Map();
  6. try 
  7. {
  8. getContactStatus = invokeurl
  9. [
  10. url :deskUrl + "contacts/" + contactId + "/helpCenters"
  11. type :GET
  12. connection:"zohodesk"
  13. ];
  14. contactUserId = getContactStatus.get("data").get(0).get("userId");
  15. if(contactUserId != null)
  16. {
  17. addUserToGroup = invokeurl
  18. [
  19. url : deskUrl + "groups/" + groupId + "/users/add"
  20. type :POST
  21. parameters:"" + {"users":{{"id":contactUserId}}}
  22. headers:{"Content-Type":"application/json"}
  23. detailed:true
  24. connection:"zohodesk"
  25. ];
  26. info "addUserToGroup" + addUserToGroup;
  27. }
  28. }
  29. catch (errorInfo)
  30. {
  31. logs.insert("errorInfo":errorInfo);
  32. }
  33. info "logs: \n" + logs;
  34. if(logs.containKey("errorInfo"))
  35. {
  36. throws "Error happen in the CF execution";
  37. }
User Inputs
a. In Line 2, replace .com in the URL based on your DC. 
b. In Line 3, enter the group ID to which you would like to add your new portal users. To access group ID, go to Setup >> Help Center >> Select the Department having your preferred User group >> choose User Groups on the left panel >> Select the user group >> The Id in the address bar is the required Group ID. 
Notes
Note: Configure the Workflow for the contacts module in the respective department where you want to add portal users to be added to the User group. 
14. Click Save to save the custom function.
15. Click Save again to save the workflow.

Share with us how this custom function helps you in your operations! Drop a comment below or reach out to us at support@zohodesk.com, we’re just an email away!

Meet you in the next post!
Regards,
Lydia | Zoho Desk


      • Sticky Posts

      • Register for Zoho Desk Beta Community

        With the start of the year, we have decided to take a small step in making the life of our customers a little easier. We now have easy access to all our upcoming features and a faster way to request for beta access. We open betas for some of our features
      • Share your Zoho Desk story with us!

        Tell us how you use Zoho Desk for your business and inspire others with your story. Be it a simple workflow rule that helps you navigate complex processes or a macro that saves your team a lot of time; share it here and help the community learn and grow with shared knowledge. 
      • Tip #1: Learn to pick the right channels

        Mail, live chat, telephony, social media, web forms—there are so many support channels out there. Trying to pick the right channels to offer your customers can get pretty confusing. Emails are most useful when the customer wants to put things on record. However, escalated or complicated issues should not be resolved over email because it's slow and impersonal.  When you need immediate responses, live chat is more suitable. It's also quick and convenient, so it's the go-to channel for small issues. 
      • Welcome to Zoho Desk Community - Say hello here!

        Hello everyone! Though we have been here for a while, it’s time to formally establish the Zoho Desk Community; we’re really happy to have you all here! This can be the place where you take a moment to introduce yourself to the rest of the community. We’d love to hear all about you, what you do, what company or industry you work for, how you use Zoho Desk and anything else that you will like to share! Here’s a little about me. I am Chinmayee. I have been associated with Zoho since 2014. I joined here
      • Webinar 1: Blueprint for Customer Service

        With the launch of a host of new features in Zoho Desk, we thought it’ll be great to have a few webinars to help our customers make the most of them. We’re starting off with our most talked about feature, Blueprint in Zoho Desk. You can register for the Blueprint webinar here: The webinar will be delivered by our in-house product experts. This is a good opportunity to ask questions to our experts and understand how Blueprint can help you automate your service processes. We look forward to seeing

        • Recent Topics

        • Does Zoho Docs have a Line Number function ?

          Hi, when collaborating with coding tasks, I need an online real time share document that shows line numbers. Does Zoho's docs offer this feature ? If yes, how can I show them ? Regards, Frank
        • Setting Default Views for Custom, List and Detail Views

          Hey, Is it possible to set a default custom view, list view and detail view for a module for every user? We are onboarding a lot of non technical people that struggle with these things. Setting the views as default would really help. Btw: also setting
        • Custom function return type

          Hi, How do I create a custom deluge function in Zoho CRM that returns a string? e.g. Setup->Workflow->Custom Functions->Configure->Write own During create or edit of the function I don't see a way to change the default 'void' to anything else. Adding
        • Filter Based API request in Zoho Books using POSTMAN

          How do I GET only specified CONTACTS based on created time or modified time in Zoho Books using POSTMAN. In the api documentation, it is written we can apply filters but I need a sample request.
        • URL validation

          We use an internal intranet site which has a short DNS name which Zoho CRM will not accept.   When attempting to update the field it says "Please enter a valid URL". The URL I am trying to set is http://intranet/pm/ Our intranet is not currently setup with a full DNS name and given the amount of links using the shortname probably isn't a feasible change for us.
        • Has anyone been experiencing slow issues?

          Dear all, I just want to ask if anyone has been experiencing slow issues with Zoho Creator in the past two weeks? I worked with the ISP to improve network quality by changing routes and upgrading bandwidth, but nothing changed. I am in Vietnam.
        • Zoho Projects Roadshows 2025 - USA

          Dear Users, After an amazing response to our roadshows in 2024, we are excited to be back for the second year in a row! Join our team of experts as they walk you through the most-used features in Zoho Projects, explore powerful automation capabilities,
        • Billing Management: #6 Usage Billing in SaaS

          Imagine a customer shuffling across multiple subscriptions, a streaming service, a music app, cloud storage, and a design tool. Each one charges a flat monthly fee, regardless of how much or how little they use. Some months, the customer barely opens
        • Is there anyone who has been experiencing issues regarding the Zoho Creator Certification Website in the past 2 weeks?

          Dear all , I just wanted to ask is there anyone who was planning on taking the Zoho Creator Developer Certification Test in the past 2 weeks and have been facing errors stating that the website is under maintennance and also not allowed to access the
        • Directly Edit, Filter, and Sort Subforms on the Details Page

          Hello everyone, As you know, subforms allow you to associate multiple line items with a single record, greatly enhancing your data organization. For example, a sales order subform neatly lists all products, their quantities, amounts, and other relevant
        • Allow syncing Activities from other applications

          Marketing Automation could be a much more powerful platform if you were able to sync activities into the platform (e.g. purchase, donation, etc) outside of a user doing something on your website. I'd love it if you could sync Custom CRM Modules as activities,
        • Create static subforms in Zoho CRM: streamline data entry with pre-defined values

          Last modified on (9 July, 2025): This feature was available in early access and is currently being rolled out to customers in phases. Currently available for users in the the AU, CA, and SA DCs. It will be enabled for the remaining DCs in the next couple
        • Global Sets for Multi-Select pick lists

          When is this feature coming to Zoho CRM? It would be very useful now we have got used to having it for the normal pick lists.
        • Integración Books para cumplir la ley Crea y Crece y Ley Antifraude (VeriFactu)

          Hola: En principio, en julio de 2025, entra en vigor la ley Crea y Crece y Ley Antifraude (VeriFactu). ¿Sabéis si Zoho va a cumplir con la ley para cumplir con la facturación electrónica conectada a Hacienda? Gracias
        • Ask the Experts #1

          Hello everyone! It’s time to transform how you manage projects. Define the processes. Automate the tasks. Streamline the workflows. Let us dive into automation in Zoho Projects — from configuring workflows and custom functions to building triggers, using
        • How to overcome Zoho Deluge's time limit?

          I have built a function according to the following scheme: pages = {1,2,3,4,5,6,7,8,9,10}; for each page in pages { entriesPerPage = zoho.crm.getRecords("Accounts",page,200); for each entry in entriesPerPage { … } } Unfortunately, we have too many entries
        • Checking if Creator has Change History

          Like zForms - whenever an entry was updated there's an option to attached change history to email notif. Trigger -> Successful form submission
        • how to use validation rules in subform

          Is it possible to use validation rules for subforms? I tried the following code: entityMap = crmAPIRequest.toMap().get("record"); sum = 0; direct_billing = entityMap.get("direct_billing_details"); response = Map(); for each i in direct_billing { if(i.get("type")
        • Adding contact role to a specific deal js sdk malfunctioning

          i was trying to add the contact role to a specific deal contact but repeatedly i am getting this error: { "code": "SUCCESS", "details": { "statusMessage": { "code": "INVALID_DATA", "details": { "expected_data_type": "jsonobject" }, "message": "body",
        • Q3 Updates from Bigin!

          Hey Biginners, Hope you’re doing great! As we approach the end of 2025, we truly hope Bigin has been a part of helping you build your dream business this year! We've been busy working behind the scenes to bring you features that make running your business
        • New Series Announcement - Ecommerce Marketing Tips

          Running an online business is more than just having a website. It’s about getting the right customers to discover you, trust you, and keep coming back. To support your growth journey, we’re launching a weekly Marketing Tips series right here on Zoho Commerce
        • Client Script | Update - Introducing Subform Events and Actions

          Are you making the most of your subforms in Zoho CRM? Do you wish you could automate subform interactions and enhance user experience effortlessly? What if you had Client APIs and events specifically designed for subforms? We are thrilled to introduce
        • {"errors":[{"id":"500","title":"Servlet execution threw an exception"}]}

          Here's the call to move a file to trash. The resource_id is accurate and the file is present. header = Map(); header.put("Accept","application/vnd.api+json"); data = Map(); data_param1 = Map(); att_param1 = Map(); att_param1.put("status",51); data_param1.put("attributes",att_param1);
        • Converting Sales Order to Invoice via API; Problem with decimal places tax

          We are having problems converting a Sales Order to an Invoice via API Call. The cause of the issue is, that the Tax value in a Sales Order is sometimes calculated with up to 16 decimal places (e.g. 0.8730000000000001). The max decimal places allowed in
        • Zoho Canvas - Custom templates for related lists

          Hi, I see that the example pages load always one of our related lists in a custom template, but I dont know how to work with that:  1) How can i make my own custom templates for related lists?  2) Where and how can i check out existing custom templates?
        • Kaizen #147 - Frequently Asked Questions on Zoho CRM Widgets

          Heya! It's Kaizen time again, folks! This week, we aim to address common queries about Zoho CRM Widgets through frequently asked questions from our developer forum. Take a quick glance at these FAQs and learn from your peers' inquiries. 1. Where can I
        • open word file in zoho writer desktop version

          "How can I open a Microsoft Word (.doc or .docx) file in Zoho Writer if I only have the file saved on my computer and Zoho Writer doesn't appear as an option when I try 'Open with'? Is there a way to directly open the .doc file in Zoho Writer?"
        • Zoho PDF editor has a lot of issues.

          Zoho PDF editor needs a lot of work. It hangs and glitches a lot. Deletes annotations and clearings randomly.
        • Zohom mail

          Plz resolve the problem . I hope u understand .
        • Zoho sheet desktop version

          Hi Zoho team Where can I access desktop version of zoho sheets? It is important as web version is slow and requires one to be online all the time to do even basic work. If it is available, please guide me to the same.
        • ZOHO SHEETS

          Where can I access desktop version of zoho sheets? It is important to do basic work If it is available, please guide me to the same
        • Zoho Books - France

          L’équipe de Zoho France reçoit régulièrement des questions sur la conformité de ses applications de finances (Zoho Books/ Zoho Invoice) pour le marché français. Voici quelques points pour clarifier la question : Zoho Books est un logiciel de comptabilité
        • Using Zoho Flow to create sales orders from won deal in Zoho CRM

          Hi there, We are using Zoho Flow to create sales orders automatically when a deal is won in Zoho CRM. However, the sales order requires "Product Details" to be passed in "jsonobject", and is resulting in this error: Zoho CRM says "Invalid input for invalid
        • Is Zoho Sheet available for Linux ?

          Is Zoho Sheet available for Linux ?
        • Zoho pdf suit

          Pl. design products with following feature: 1. Please add all features given in Ilovepdf website to work on pdf files. It is mandatory to use pdf in court work. 2. Courts have prescribed New Times Roman, pl. add this font as well 3. Indexing, signature
        • Bharat

          a
        • how to disable staff selection Zoho Booking integrated to SalesIQ?

          currently there is only one Consultant in my Zoho Bookings like this I integrate Zoho Bookings into Zoho SalesIQ to create a chatbot. Unfortunately, even though I only have one consultant for a consultation, the user have to pick the consultant. It will
        • Zoho Bookings No Sync with Outlook

          Zoho Bookings appointments are showing on my Outlook Calendar but Outlook events are not showing on Zoho Bookings. How do I fix this?
        • End Date in Zoho Bookings

          When I give my appointments a 30 minutes time I would expect the software not to even show the End Time.  But it actually makes the user pick an End Time.  Did I just miss a setting?  
        • Custom confirmation message

          How can I change the message that users see after they submit the booking form? I have to confirm some details before their appointment is officially "confirmed", so I want to change it where it doesn't say their appointment is "confirmed" but rather
        • Next Page