Kaizen #73 - Portal #APIs [Part II]

Kaizen #73 - Portal #APIs [Part II]

Hi everyone! Welcome back to another week of Kaizen!

In continuation to our previous post on Portal APIs in Zoho CRM, we will discuss more on user groups and users this week.
Let us consider the case of the automobile industry. In such a case, you may need to give portal access to more than one user type, such as customers, employees, and partners.
With user types, each user will have access to the information that is most relevant to their role. For example, when you give your customers portal access, they can book services, view and update their service schedules. Your partners or employees with portal access can view customer behaviours, sales date, etc. 

Create a User Type via API

Using this API, you can create a user type for a portal you have already created.

Request URL: {api-domain}/crm/v4/settings/portals/<portal_name>/user_type
Request Method: POST
Scope: ZohoCRM.settings.clientportal.ALL/CREATE

Input Keys

 Key
 Description
name : string, mandatory
Name of the user type.
personality_module : string, mandatory
The module api name for which the user type is to be configured.
active : Boolean, optional
Represents whether the user type is active or inactive. The default value is false.
modules : JSONArray, mandatory
The JSON array containing keys that describe the user type's settings for different modules that are linked to the personality module through look up or multi-lookup fields.
modules.layouts.id : Number, mandatory
The layout the user type should be able to access.
modules.permission : key value pairs, mandatory
Boolean key-value pairs that represent the permissions you want the users to have in the module. The possible keys are view, edit, create.
modules.views : JSONObject, mandatory
The custom view or canvas view to display the records for the user type.
modules.id: Number, mandatory
The related module id.
modules.shared_type : String, mandatory
Represents whether the module is a private or public module.
modules.filters : JSONObject,mandatory
Field id, by which the module record can be filtered for the user type.
modules.fields : JSONArray, mandatory
Field permissions for the user type with read_only (Boolean), api_name(field API name) and id of the each field to be configured for the module. Note that if any of the fields in the layout is marked mandatory, they cannot be read-only in the portal.

For example, the following request creates the user type Customer for the ZylkerAutos portal, with view permission to the service module.

Sample Request:

Sample Input:

{
   "user_type":[
      {
         "name":"Customer",
         "personality_module":{
            "api_name":"Customer"
         },
         "active":true,
         "modules":[
            {
               "layouts":[
                  {
                     "id":"1306462000000095055"
                  }
               ],
               "permissions":{
                  "view" : true
               },
               "views":{
                  "id":"1306462000000091501",
                  "type":"custom_view"
               },
               "filters": null,
                fields": [
                 {
                      "id": "18936550000000063924",
                      "read_only": false
                  }
                ],
               "id":"1306462000000000125",
               "shared_type":"private"
            },
            {
               "layouts": null,
                "views": null,
               "filters": null,
               "permissions":{
                  "view":true
               },
               "id":"1306462000000000147",
               "shared_type":"private"
            }
         ]
      }
   ]
}

Sample Response

{
    "user_type": [
        {
            "code": "SUCCESS",
            "details": {
                "id": "1306462000001856005"
            },
            "message": "user type created successfully.",
            "status": "success"
        }
    ]
}

Update User Type via API

Suppose your automobile dealership firm decides to expand your online booking system to allow customers to schedule test drives, in addition to service appointments. In this case, the dealership may need to update the Customer user type to include the ability to book test drives. You can use the Update User Type API to make such updates. 

Request URL : {api-domain}/crm/v4/settings/portals/<portal_name>/user_type/<user_type_id>
Request Method : PUT
Scope : ZohoCRM.settings.clientportal.ALL/UPDATE

Input Keys:

Key Description
name : string, optionalName of the user type.
personality_module : string, optionalThe module api name for which the user type is to be configured.
active : Boolean, optionalRepresents whether the user type is active or inactive. The default value is false.
modules : JSONArray, optional
The JSON array containing keys that describe the user type's settings for different modules that are linked to the personality module through look up or multi-lookup fields.
modules.layouts.id : Number, optionalThe layout the user type should be able to access.
modules.permission : key value pairs, optional
Boolean key-value pairs that represent the permissions you want the users to have in the module. The possible keys are view, edit, create.
modules.views : JSONObject, optional
The custom view or canvas view to display the records for the user type.
modules.id: Number, optional
The related module id.
modules.shared_type : String, optional
Represents whether the module is a private or public module.
modules.filters : JSONObject, optional
Field id, by which the module record can be filtered for the user type.
modules.fields : JSONArray, optional
Field permissions for the user type with read_only (Boolean), api_name(field API name) and id of the each field to be configured for the module. Note that if any of the fields in the layout is marked mandatory, they cannot be read-only in the portal.

For example, the following request updates the Customer user type's access to the Service module.

Sample Request

https://www.zohoapis.com/crm/v4/settings/portals/ZylkerAutos/user_type/1306462000001856005

Sample Input

{
   "user_type":[
      {
         "modules":[
            {
               "permissions":{
                  "edit":true,
                  "create":true
               },
               "id":"1306462000000000125",
               "shared_type":"private"
            }
         ]
      }
   ]
}

Sample Response

{
    "user_type": [
        {
            "code": "SUCCESS",
            "details": {
                "id": "1306462000001856005"
            },
            "message": "Portal user type updated successfully.",
            "status": "success"
        }
    ]
}

Delete User Type via API

Let us consider the case where your company had a user type for suppliers in its portal but has decided to handle supplier management through a separate system. In this case, you would need to delete the supplier user type from the portal to simplify user management and ensure that only the necessary users have access to the portal. 

Request URL: {api-domain}/crm/v4/settings/portals/<portal_name>/user_type/<user_type_id>
Request Method: DELETE
Scope: ZohoCRM.settings.clientportal.ALL/DELETE

For example, the following request deletes the supplier user type from the ZylkerAutos portal.

Sample Request

Sample Response

{
    "user_type": [
        {
            "code": "SUCCESS",
            "details": {
                "id": 1306462000001857564
            },
            "message": "Portal user type deleted successfully.",
            "status": "success"
        }
    ]
}

Please note that you cannot delete a user type with users. You should transfer the users to another portal before deleting the user type.

Transfer User to another User Type

There may be scenarios where you have to transfer a user from one user type to another. For instance, if a customer is upgraded to premium level which offers additional services, you might need to transfer the customer to a new user type that includes these features. Also, if you ever have to delete a user type, you need to transfer the users in that user type to another one. 

Request URL: {api-domain}/crm/v4/settings/portals/<portal_name>/user_type/<user_type_id>/users/action/transfer
Request Method: POST
Scope: ZohoCRM.settings.clientportal.ALL/UPDATE

Parameters

Parameter
Description
transfer_to : string, mandatory
The id of the user type to which you want to transfer the users.
personality_ids : string, mandatory
comma separated list of ids of the users you want to transfer.

Sample Request

Sample Response

{
    "users": [
        {
            "code": "SUCCESS",
            "details": {
                "personality_id": "1306462000000659009"
            },
            "message": "User has been transferred successfully",
            "status": "success"
        }
    ]
}

You can transfer up to 200 users in one API call. If there are more than 200 users to be transferred, a job will be scheduled.

Change Status of a User 

If you want to change the activate or deactivate a user, you can do so using this API.

Request URL: {api-domain}/crm/v4/settings/portals/<portal_name>/user_type/<user_type_id>/users/<user_id>/actions/change_status
Request Method: PUT
Scope: ZohoCRM.settings.clientportal.ALL/UPDATE

Parameters

Parameter
Description
active : Boolean, mandatory
To mention whether to activate or deactivate the user.

The following request changes the status of the user to inactive.

Sample Request

Sample Response

{
    "change_status": [
        {
            "code": "SUCCESS",
            "details": {
                "personality_id": "1306462000000665004"
            },
            "message": "Status of the user changed successfully.",
            "status": "success"
        }
    ]
}

Delete User from Portal

There may be times when you want to delete a user from a portal to prevent unauthorized access. You may use the Delete User from Portal API to do this.

Request URL: {api-domain}/crm/v4/settings/portals/<portal_name>/user_type/<user_type_id>/users
Request Method: DELETE
Scope: ZohoCRM.settings.clientportal.ALL/DELETE

Parameters

ParameterDescription
personality_ids : string, mandatoryComma separated ids of the users you want to delete from the portal.

Sample Request

Sample Response

{
    "users": [
        {
            "code": "SUCCESS",
            "details": {
                "personality_id": "1306462000000659009"
            },
            "message": "Portal user deleted successfully.",
            "status": "success"
        }
    ]
}

Please note you can delete up to 499 users from a portal synchronously. If you want to delete 500 or more users, a delete job will be scheduled.

We hope you found this post useful, and that it has given you a better understanding of the Portal APIs. See you next week with another useful topic.

If you have any questions or feedback, please let us know in comments below, or write to us at support@zohocrm.com. We would love to hear from you!


    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

                                                                                            Get Started. Write Away!

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

                                                                                              Zoho CRM コンテンツ






                                                                                                Nederlandse Hulpbronnen


                                                                                                    ご検討中の方




                                                                                                          • Recent Topics

                                                                                                          • User Filter not selecting All Items

                                                                                                            We are encountering 2 issues when using the user filter. When users are trying to search using the filter option, the OK button is grayed out. Users have to unselect or make a change before it filters properly. 2. When filtering and the OK button works,
                                                                                                          • Can I collect email addresses in a form??

                                                                                                            Can I add new subscribers to my email list (hosted in FloDesk) when they check a box and add their email address on a Zoho form?
                                                                                                          • Zoho CRM Android app updates: Kiosk and multiple file upload support for subforms

                                                                                                            Hello everyone, We've rolled out new enhancements to the Zoho CRM Android app to bring better mobile CRM experience and efficiency. Let's take a quick look at what's new: Kiosk Multiple file uploads for subforms Kiosk Kiosk is a no-code tool in Zoho CRM
                                                                                                          • Alerts for mentions in comments

                                                                                                            We are testing the use of Writer internally and found that when a user is mentioned in a comment, there is no email alert for the mention. Is this something that's configurable, and if so, where can we enable this option?
                                                                                                          • Subform Disabled Fields Should Remain Disabled on Edit/View

                                                                                                            Currently, when we disable a subform field using on user input or on add new row, it works perfectly during the initial data entry. However, when the record is saved and reopened for viewing or editing, these disabled fields become editable again. This
                                                                                                          • Is it really true that I can't set the default 'deposit to' account in 2025?

                                                                                                            I've been using Books for 7 years and the default account has never been a problem. I usually manually reconcile invoices and have never had a thought about which account. It has always been my account. However, I recently noticed that for the past 4
                                                                                                          • Standard Payment Term is not pulled from account to quotation

                                                                                                            Hey Team There seems to be something off. I do have "Net 30" as my default payment term in Zoho Books for my customers. If, from the customer overview or quote section, I create a new Quotation, the payment terms field stays blank and doesn't get the
                                                                                                          • OAuth integration issues

                                                                                                            I'm experiencing persistent OAuth errors when trying to connect Make with Zoho API. I've tried multiple approaches but keep encountering the following issues: First error: 'Invalid Redirect Uri - Redirect URI passed does not match with the one configured'
                                                                                                          • Zoho Mail Android app update: Manage folders

                                                                                                            Hello everyone! In the latest version(v2.9) of the Zoho Mail Android app update, we have brought in support for an option to manage folders. You can now create, edit, and delete folders from within the mobile app. You can also manage folders for the POP
                                                                                                          • Shortcut to fill a range of cells

                                                                                                            Good evening: I'm writing because I haven't been able to find a feature that allows you to select a range of cells, type in one of them, and then use a key combination to type in all of them. In Excel, the keyboard shortcut is Ctrl+Enter. I haven't found
                                                                                                          • validation rules doesn't work in Blueprint when it is validated using function?

                                                                                                            I have tried to create a validation rule in the deal module. it works if I try to create a deal manually or if I try to update the empty field inside a deal. but when I try to update the field via the blueprint mandatory field, it seems the validation
                                                                                                          • Get Zoho Mail API working (including DRE Connector, Oauth Token, ZUID, ZOID & ACCOUNT_ID)

                                                                                                            Disclaimer: I’m not a professional coder! Do you need to use Zoho Mail API? Me too. It lets you do all sorts of things — like reading the complete header of an email, or forwarding an email with its attachments — which is what I wanted to do. But setting
                                                                                                          • Revenue Deferrals

                                                                                                            Does ZOHO books and subscriptions handle Revenue Deferrals?   
                                                                                                          • Can I make a website open inside Zoho whenever I log in?

                                                                                                            Hi Zoho Team, Every day, I check a few websites for updates, for example, Rojgar--result, where I see the latest government job results and notifications. I was wondering if there’s any option in Zoho to make a website like that open inside Zoho whenever
                                                                                                          • Zoho Analytics & SQL Server - Live connect

                                                                                                            Below are the steps I did Created a fresh database and table in my own virtual server Created a new data source connection with live connect I was able to select the tables and created the data source successfully I am getting the error when I try to
                                                                                                          • Kaizen #214 - Workflow APIs - Part 2

                                                                                                            Welcome back to another week of Kaizen! Last week, we discussed how Zylker Cloud Services used the Workflow APIs to discover and audit all the automations in their CRM, listing every workflow, checking triggers, and understanding their automation limits.
                                                                                                          • Playback and Management Enhancements for Zoho Quartz Recordings

                                                                                                            Hello Zoho Team, We hope you're all doing well. We would like to submit a feature request related to Zoho Quartz, the tool used to record and share browser sessions with Zoho Support. 🎯 Current Functionality As of now, Zoho Quartz allows users to record
                                                                                                          • Zoho CRM Community Digest - September P1 | 2025

                                                                                                            Hello Everyone! September's Here! Before we jump into product updates, and community highlights, here's a quick spotlight! Zoho has launched a Professional Sales Rep Certification course on Coursera, tailored for sales professionals to strengthen their
                                                                                                          • Upload my theme.

                                                                                                            Hello. I would like to upload my own theme, this one: https://themeforest.net/item/panagea-travel-and-tours-listings-template/21957086 Is it compatible and where I upload it? If not I will hire a developer, what do I have to ask when I search for one?
                                                                                                          • Explore the Redesigned Quotes Module in Zoho Billing

                                                                                                            Dear users, We’re excited to introduce a refreshed look for the Quotes details page in Zoho Billing! This update brings you a more efficient user interface experience without changing your existing workflow. We've enhanced layouts with organized tabs,
                                                                                                          • Product Updates in Zoho Workplace applications | September 2025

                                                                                                            Hello Workplace Community, Let’s take a look at the new features and enhancements that went live across all Workplace applications this September. Zoho Mail Attach email as EML file in Compose Effortlessly attach emails as EML file in Compose by simply
                                                                                                          • 🤝 Rencontres, partage et inspiration au Zoho Community Meetup de novembre

                                                                                                            Chers utilisateurs, Bonne nouvelle 🎉 : notre Meetup Zoho Community approche, et nous serions ravis de vous y voir ! 📍 Toulouse : le 25 novembre 📍 Lyon : le 27 novembre (🎯 Il ne reste que quelques places !) Que vous soyez débutant ou utilisateur avancé,
                                                                                                          • Need Help Mapping GST Registration Number Field Between Zoho Books & Zoho CRM + Slow Sync Issues

                                                                                                            am facing an issue with field mapping between Zoho Books and Zoho CRM. I want to map the GST Registration Number field from the Customer module in Zoho Books to a custom GST field inside the Accounts module in Zoho CRM. However, I am getting a warning
                                                                                                          • Notification received when self-assigning tickets

                                                                                                            When I assign tickets in Zoho Desk the relevant agent gets a notification email. When assigning myself a ticket in Zoho Desk, I get a notification email. Now, as I am the person who assigned the ticket to myself, getting a notification in this regard
                                                                                                          • Nouveauté dans Zoho Writer - Création de documents et de modèles assistée par l'IA

                                                                                                            Zia, l’assistant IA de Zoho Writer, soutient les utilisateurs dans l’amélioration de leur écriture et la création de contenus : correction orthographique et grammaticale en temps réel, suggestions adaptées au contexte, détection du plagiat, révisions
                                                                                                          • Session Expired

                                                                                                            I constantly get "Session Expired" and need to relogin or close and open the application again. This gets really frustrating during the day. Is this something that can be solved? This really makes me want to leave the app as it is no go to need to reopen
                                                                                                          • Integrate your Outlook/ Office 365 inbox with Zoho CRM via Graph API

                                                                                                            Hello folks, In addition to the existing IMAP and POP options, you can now integrate your Outlook/Office 365 inbox with Zoho CRM via Graph API. Why did we add this option? Microsoft Graph API offers a single endpoint to access data from across Microsoft’s
                                                                                                          • Disable Buttons for Users with Profiles without permission

                                                                                                            Hey, I've noticed that users without permission of setting up things in the marketplace, can still see the icon: On a click, you see this: It would be way better, if they couldn't see this menu icon at all. (Aside from the fact that it completely misplaced
                                                                                                          • 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製品と生成AIツールの活用について

                                                                                                            いつもありがとうございます。 弊社では、Zoho Oneを契約し、CRMを軸として、見込み客の管理から商談、その後の受注や請求の管理、サポート業務(Desk)、業務データのレポーティング(Analytics)などを行っております。 Zohoサービス自体には、Ziaというツールが搭載されているかと存じますが、それ以外の外部の生成AIツールと連携した活用などもできるのでしょうか?具体的には、CopilotなどがZohoに登録されているデータや情報を見て、対話型で必要なデータを提示してくれたり、商談や蓄積されたメモなどを分析してユーザが知見を得られるような活用ができないか、と考えております。
                                                                                                          • Zoho Analytics - Make text clickable in underlying data

                                                                                                            Hi Community, I have a simple sales report based on a Invoice query table. I have included a link on to each invoice on the table and sent the Invoice number URL to the link. This works find in the query table, but when I click underlying data on the
                                                                                                          • Credit Management: #5 Advanced Refund Policy

                                                                                                            You're subscribed to a well-known SaaS design tool. You've used it to manage your team's projects, create marketing visuals, brochures, and so on. But your needs change over time. Your company may switch to another tool or hire an in-house designer who
                                                                                                          • Exported Slide Image Lacks Portion of the Background Image

                                                                                                            This does not always happen, but when I export (or "download") the rendered image of a slide, it sometimes lacks a portion of the background image. I created a sample slide deck to demonstrate it and shared it with the admins. It is also publicly available
                                                                                                          • How to create a Zoho Mail extension similar to Outlook's OnSend add-in?

                                                                                                            Hi, I want to create a Zoho Mail extension similar to Outlook’s OnSend add-in. The extension should: Let the user select headers and footers from a taskpane while composing an email. When the user clicks Send, the extension should: Automatically insert
                                                                                                          • Effective Inbox Organization: Folders vs Tags in Zoho Mail?

                                                                                                            I'm exploring the best ways to organize a busy inbox, especially when managing multiple clients or project using Zoho Mail. I’d love to know what works best for others: 1. Do you prefer **folders** (possibly with sub-folders) for each client or project?
                                                                                                          • Piss poor service in Support in Domains and email

                                                                                                            Srijith Narayanan B contacted me today. Very pleasant fellow. Just didn't want to tell him how bad your support service is. You help the person, but you leave before we can finish the next stage. Which causes a lot of frustration. It's been 8 days now
                                                                                                          • Zoho Mail android app update: Block & reject future emails, Report phishing, Spam alerts, Suspicious URL detection

                                                                                                            Hello everyone! In the most recent Zoho Mail Android app update, we have brought in support for the following features: Block & reject future emails Report Phishing Spam alerts in the mail details screen. Suspicious URL detection. Block & reject future
                                                                                                          • Zohomail does not support additional fields in mailto links

                                                                                                            Hello, I set up Zohomail as default composer in Firefox according to manual here: https://www.zoho.com/mail/help/defaultcomposer.html#alink2 Later, I wanted to use this functionality to answer in a Linux mailing list thread using mailto link: mailto:xxxxx@kernel.org?In-Reply-To=%3C727o0521-q24p-s0qq-66n0-sn436rpqqr1p@example.com%3E&amp;Cc=xxxxx%example.org&amp;Subject=Re%3A%20%5BPATCH%20v2%28%29
                                                                                                          • Emails not being received from a particular domain

                                                                                                            Cannot receive any emails sent from atco.com Domain is in the spam whitelist so should be no reason for it not to be coming through. Have filed a ticket and besides a generic response of we are looking at it - it seems there is no actual support workers
                                                                                                          • Email address for forwarding is not saving and there's no confirmation ema

                                                                                                            Steps to reproduce: 1. Enter my forward email in the email forward section of the account 2. Click save 3. See a notification stating saved successfully 4. Refresh the page, no forward email is saved 5. No email confirmation received at the forwarding
                                                                                                          • Next Page