Kaizen #72 - Portal #APIs [Part I]

Kaizen #72 - Portal #APIs [Part I]

Welcome back to another week of Kaizen everyone! 
This week, we will be discussing the Portals API in Zoho CRM.

What are Portals in Zoho CRM?

Portals in Zoho CRM allow businesses to extend access to their CRM to external stakeholders, such as customers, partners, vendors or franchisees. Portals allow users to view, edit and create records within the CRM, depending on their level of access and permissions. This helps businesses to manage customer and partner interactions, share information and improve communication. 

Sample Business Cases:

In Health care Industry - If you run a health care facility, you can provide your patients the access to their medical records using portals. Through the portal, the patients can have controlled access to their medical records like their appointments, tests done and medication prescribed. Patients can request appointments, provide updates to their information, and request copies of their medical records through the portal. 

In a consulting firm - If you run a consulting firm, you would want to keep your clients updated about the status of their projects in real time. To do this, you can create a portal and share it with your clients. The clients can view the status of their projects, including the progress, the budget, and the schedule. Clients can view the updates and provide feedback on the project through the portal. 

In the automobile industry - If you have an automobile shop, and you want to track the customer details, your sold vehicle details and service schedules, you can create a portal and share it with your customers. They can view and update their details and book for services using through the portal.

Creating a Portal via API

Let us consider the context of the automobile industry. To create a portal for your customers, you can use the Create Portal API.

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

Sample Input

 {
    "portals": [
        {
            "name": "ZylkerAutomobiles"
        }
    ]
 }

Input Keys

 Key Description
 name Unique name of the portal. 

Sample Response

 {
    "portals": [
        {
            "code": "SUCCESS",
            "details": {
                "name": "ZylkerAutomobiles"
            },
            "message": "Portal created successfully with given name.",
            "status": "success"
        }
    ]
 }

Update Portal via API

You can update the portal name via Update Portal API. 
Request URL : {api-domain}/crm/v4/settings/portals/{portal-name}
Request Method : PUT
Scope : ZohoCRM.settings.clientportal.ALL/UPDATE

For instance, the following request renames the already created portal ZylkerAutomobiles to ZylkerAutos.

Sample Input 

 {
    "portals": [
        {
            "name": "ZylkerAutos"
        }
    ]
 }

Input Keys

 Key Description
 name Unique name of the portal. 

However, changing the portal name will also alter the portal URL. As a result, it is crucial to communicate this change to all existing portal users.

Get Portals via API

At any point, if you want to get the details of all the portals configured in your CRM account, use the Get Portal API.

Request URL : {api-domain}/crm/v4/settings/portals
Request Method : GET
Scope: ZohoCRM.settings.clientportal.ALL/READ

Sample Response:

 {
    "portals": [
        {
            "created_time": "2023-02-07T20:13:20+05:30",
            "modified_time": "2023-02-07T20:13:20+05:30",
            "modified_by": {
                "name": "Patricia Boyle",
                "id": "4876876000000327001"
            },
            "name": "ZylkerAutos",
            "active": true,
            "zaid": "10052946888",
            "created_by": {
                "name": "Patricia Boyle",
                "id": "4875876000000327001"
            }
        }
    ]
 }

Response Keys

 Key Description
 name The name of the portal
 active Represents whether the portal is active or not.
 zaid The unique id of the portal.

Now let us consider the case where you may want to extend the portal access to beyond your customers. There would be multiple user groups you may want to extend the access to, including the employees and partners. For instance, you may want to share the portal with your employees to give them access to customer information, sales data and service schedules. If you have partners, you may want to share the portal with them to keep them informed about the customer behaviors, sales data etc. Each of these groups may require to access to different types of data within the CRM.

To accommodate the different needs and access levels of the different types of users, you may need to create multiple user groups in the portal. For example, you could create a user group for customers and another user group for employees. The business can then configure different permissions for each user group, allowing or restricting access to the relevant data in the CRM account. This way, each type of user will be able to access the information that is most relevant to them, without compromising the security and privacy of the rest of the data in the CRM account.

Get Portal User Types API

The Get Portal User Types API allows you to retrieve the user types available in the portal of your org. It is important to note that when you create a portal, the default user type Client Portal is added by default.

Request URL : {api-domain}/crm/v4/settings/portals/{portal_name}/user_type
Request Method : GET
Scope: ZohoCRM.settings.clientportal.ALL/READ

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

Sample Response

 {
    "user_type": [
        {
            "created_time": "2023-02-08T11:56:16+05:30",
            "default": true,
            "modified_time": "2023-02-08T11:56:16+05:30",
            "personality_module": {
                "plural_label": "Contacts",
                "api_name": "Contacts",
                "id": "1306462000000000129"
            },
            "name": "Client Portal",
            "modified_by": {
                "name": "Patricia Boyle",
                "id": "1306462000083528405"
            },
            "active": true,
            "id": "1306462000001813022",
            "created_by": {
                "name": "Patricia Boyle",
                "id": "1306462000083528405"
            },
            "no_of_users": 1
        }
    ]
 }

Response Keys

 Key Description
 default Represents whether the user type is the default one for the portal.
 personality_module Details of the module for which the user type was configured.
 name The name of the user type.
 active Represents whether the user type is active or not.
 id The unique id of the user type.
 no_of_users The number of users in the portal assigned with this user type.

Invite users to Portal via API

Once the portal is created, you can invite the customers to join the portal using the Invite Users to Portal API. This provides the customers with access to the information regarding their automobile including the servicing details, and their information.

Request URL : {api-domain}/crm/v4/{personality_module}/{record_id}/actions/portal_invite
where, personality_module is the API name of the module for which the portal was created and record_id is the ID of the record that you want to invite to the portal
Request Method : POST
Scope: ZohoCRM.settings.clientportal.ALL/CREATE

Parameters

 Parameters Parameter Description
 user_type_id : integer, mandatory
 The id of the user type you want to assign the user with. 
 type : string, mandatory
 Represents whether the user is invited (invite) the first time or is re-invited(reinvite).
 language : string, optional
 The language code of the user you want to invite to the portal

Please note that for the client portal user type, you can invite only clients/customers and not users with the same email domain like your employees or partners. 

In this sample request, 1306462000000659009 is the record id of the customer in Contacts module, and 1306462000001813022 is the user type id.

Sample Response

 {
    "portal_invite": [
        {
            "code": "SUCCESS",
            "details": {
                "record_id": "1306462000000659009"
            },
            "message": "An Invite has been sent to the personality.",
            "status": "success"
        }
    ]
 }

Get Users of a User Type API

The Get Users of a User Type API enables you to retrieve the list of users available in a specific user type of a portal.

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

Parameters

 ParametersParameter Description
 type : string, optional
The type of user. Possible values are AllUsers, AllActiveUsers, ActiveUsers,  DeactiveUsers, NotConfirmedUsers, ConfirmedUsers, and ActiveConfirmedUsers.
 filter : JSON object, optional
To filter based on the value disabled on updation of email of the status_reason__s field in the Users module. The allowed comparators are equal and not_equal. Note that you must encode this JSON object.

The following request retrieves the details of users in your ZylkerAutos portal, with Client Portal user type.

Sample Response

 {
    "users": [
        {
            "personality_id": "1306462000000659009",
            "confirm": true,
            "status_reason__s": null,
            "invited_time": "2023-02-08T18:03:10+05:30",
            "module": "Contacts",
            "name": "Jennifer Spears",
            "active": true,
            "email": "jennifer.spears@abc.com"
        }
    ],
    "info": {
        "per_page": 200,
        "total_count": 1,
        "count": 1,
        "page": 1,
        "more_records": false
    }
 }

Response Keys

 Key Description
 personality_id The id of the module for which the portal was created.
 confirm Represents whether the user is a confirmed user or not.
 status_reason__s The reason the user is disabled.
 module The API name of the module for which the user type was created.
 name The full name of the contact.
 active Represents whether the user type is active or not.
 email The email ID of the contact of that user type.

We will discuss more on user types and users in next week's post. We hope you found this post useful. 
Write to us at support@zohocrm.com if you have any questions.

    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

                                                                                                          • Automatic Department and Employee Sync Between Zoho One and Zoho People

                                                                                                            Dear Zoho Support, I'm writing to propose a valuable feature request that would streamline data management and improve user experience within the Zoho ecosystem: automatic synchronization between departments and employees in Zoho One and Zoho People.
                                                                                                          • Zoho Expense and Chase Bank Visa credit cards - Direct Feed?

                                                                                                            Our company uses JP Morgan Chase Visa credit cards. We can't be the first to try and use a combination of Zoho Expense + Chase Bank + Visa Credit Cards --- anyone successful with this combination? 1. The direct feed automation isn't working. When I go
                                                                                                          • Impossibile inviare il messaggio;Motivo:554 5.1.8 Indirizzo del mittente bloccato

                                                                                                            " Impossibile inviare il messaggio;Motivo:554 5.1.8 Indirizzo del mittente bloccato" Hi need to send email, how can fix this? Thanks, Alice
                                                                                                          • Image inputed in Zoho Form were displayed to small in exported version

                                                                                                            Good evening, my name is athallah, i am a trainee in government office Right now, i use Zoho form to digitalize an airfield monitoring form. my problem is, the image were to small to displayed in exported version. it really bad for formal presentation
                                                                                                          • API. How do I get responses submitted to the form?

                                                                                                            Hi, I'm trying to retrieve a list of form responses via the API. I've created a Self Client application in API Console. What scoup should I enter? What are the endpoints? Is there documentation on this anywhere? I've wasted a lot of time searching. GPT
                                                                                                          • Question about Zoho CRM Professional plan users

                                                                                                            Hello! I have a question about the Zoho CRM Professional plan. Is the pricing charged per user or per organization? Are there any free users included in this plan, or do I need to pay for each additional user separately? Thank you!
                                                                                                          • Communicating with emojis

                                                                                                            On July 17, we celebrate World Emoji Day! We're a bit late 😐 sharing insights about this day. But we just couldn't let it pass without a mention 😊 because emojis have a meaningful connection with customer service 💬 🤝. We do not want to miss out on
                                                                                                          • Changing the Default Search Criteria for Finding Duplicates

                                                                                                            Hey everyone, is it possible to adjust the default search criteria for finding and merging duplicate records? Right now, CRM uses some (in my opinion nonsensical) fields as search criteria for duplicate records which do nothing except dilute the results.
                                                                                                          • Is it possible to create a word cloud chart in ZoHo Analystics?

                                                                                                            Hi there, I have a volume of transaction text that I would like to analyse using word cloud (or other approcah to detect and present word frequency in a dataset). For example, I have 50,000 records describing menu items in restaurants. I want to be able
                                                                                                          • Help integrating Aircall into Zoho CRM

                                                                                                            Hi all, We are need to get better AirCall integration into Zoho. We have configured in the Aircall dashboard but we have not done the Zoho side. We cannot see Zoho CRM information on incoming calls. And we calls and text's are not being logged. Specifically
                                                                                                          • Shopify Extension no longer working in CRM

                                                                                                            Zoho CRM and Extension are no longer working properly. We have used Shopify Basic for years. All of the sudden it stopped working, then started working again, and now no longer working again. There are several ways for Personal Information to sync from
                                                                                                          • How to keep track of bags, cans, drums of inventory?

                                                                                                            We buy and sell products that are packaged in bags 🛍️, cans🥫, drums🛢️, etc. with batch numbers. When we get a shipment of one of the products, how do we track we received (say) 10 cans each of 5L of a product and maybe we received 10 cans of another
                                                                                                          • Easy third party collaboration: Zoho Flow Integration

                                                                                                            Third-party integrations extend your project functionality with improved workflow, and data processing. With Zoho Flow integration you can include multiple third party actions into your project or task automation. Add Zoho Flow action in Workflow rules
                                                                                                          • Zoho Inventory - How to pay a supplier up front then receive multiple deliveries

                                                                                                            How do we manage situations where we pay a supplier up front, then the receive the products in increments? Example Workflow: Create Purchase Order > Receive Bill for full amount > Receive Items 2 or more deliveries. Currently, once a Bill is created against
                                                                                                          • Introducing Configure, Price, Quote (CPQ) in Zoho CRM | Public early access 2023

                                                                                                            Greetings Customers! We're excited to announce that the CPQ feature will soon be available in Zoho CRM and accessible to all accounts using the Professional, Enterprise, and Ultimate editions. We've opened this feature to select customers, and it'll be
                                                                                                          • how to edit the converted lead records?

                                                                                                            so I can fetch the converted leads records using API (COQL), using this endpoint https://www.zohoapis.com/crm/v5/coql and using COQL filter Converted__s=true for some reasons I need to change the value from a field in a converted lead record. When I try
                                                                                                          • Zoho Bookings <> CRM integration

                                                                                                            Hello Zoho community! We are enabling our Zoho Bookings <> CRM integration. What is the workflow if the integration detects that the contact already exists in the CRM? Does it create a duplicate record? Overwrite the record? Merge the record? (in this
                                                                                                          • Cannot reject empty expense report

                                                                                                            Hello, We are currently having issues with two empty expense reports where if we try to reject them, either manually or through the REST API, we get error 114016, which says some of the expenses have already been billed and must be removed. I'd appreciate
                                                                                                          • Use of Zia within Forms

                                                                                                            I have noticed that recently you have added Zia to help create forms from scratch. Would it be possible to add Zia functionality to free text fields for form submissions or if this is already on the roadmap an ETA for this please? We have a lot of field
                                                                                                          • Default in fields on Form B based on the user selection in Form A

                                                                                                            Hi Everyone, I have added an action button to a form report to bring up a new form based on user selection, see it indicated in red below: Then when the ne form loads, I want to default in some of the fields based on the record the user was selected on.
                                                                                                          • Auto-sync field of lookup value

                                                                                                            This feature has been requested many times in the discussion Field of Lookup Announcement and this post aims to track it separately. At the moment the value of a 'field of lookup' is a snapshot but once the parent lookup field is updated the values diverge.
                                                                                                          • Last activity time is acting like last modified time

                                                                                                            When i edit the description or any field in the potential, account, contact and lead, the Last Activity Time is being updated like the Modified Time. This is messing all workflows and reports and we are unable to track real last time of activities like
                                                                                                          • Enhancements to the formula field in Zoho CRM: Auto-refresh formulas with the "Now" function, stop formula executions based on criteria, and include formulas within formulas

                                                                                                            Dear Customers, We hope you're well! By their nature, modern businesses rely every day on computations, whether it's to calculate the price of a product, assess ROI, evaluate the lifetime value of a customer, or even determine the age of a record. With
                                                                                                          • HEX/RGB Color Input in Visual Editor

                                                                                                            Hello Zoho Pagesense Team, We hope you're doing well. We’d like to submit a feature request to improve the color selection options in the Pagesense popup editor. Current Limitation: Currently, to set text colors, users must move the color slider manually.
                                                                                                          • Add Comprehensive Accessibility Features to Zoho Writer

                                                                                                            Hello Zoho Writer Team, We hope you are doing well. We would like to submit a feature request to enhance Zoho Writer with a full set of accessibility tools, similar to the accessibility options already available in the Zoho Desk agent interface. 🚧 Current
                                                                                                          • CRM and Campaigns- tags not integrating?

                                                                                                            Hi! I am setting up an automation in zoho campaigns and it says the crm is integrated...but when I want to use a trigger of a certain tag I created for people in the crm to denote those who purchased, it doesnt have that tag available as an option in
                                                                                                          • Maximum limit of rows exceeded

                                                                                                            I am trying to add a row to a spreadsheets that has fewer than 60 rows. I keep getting an error message that says I have exceeded the maximum limit of 65,536 rows. Any ideas out there?
                                                                                                          • Can't change form's original name in URL

                                                                                                            Hi all, I have been duplicating + editing forms for jobs regarding the same department to maintain formatting + styling. The issue I've not run into is because I've duplicated it from an existing form, the URL doesn't seem to want to update with the new
                                                                                                          • 【参加無料】今年最後のZoho ユーザー交流会|東京・大阪・名古屋で開催! 活用事例&ユーザー同士の情報交換

                                                                                                            ユーザーの皆さま、こんにちは。コミュニティチームの中野です。 11月に東京、大阪、名古屋の3都市でZoho ユーザー交流会を開催します! 毎回ご好評いただいている本イベントでは、実際の Zohoユーザーによるリアルな活用事例の共有や 参加者同士でノウハウを交換し合うグループワークを予定しています。 「他社の活用を参考にしたい」「Zoho をもっと使いこなしたい」方にぴったりの場です。 初参加の方もぜひお気軽にご参加ください! ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
                                                                                                          • Introducing parent-child ticketing in Zoho Desk [Early access]

                                                                                                            Hello Zoho Desk users! We have introduced the parent-child ticketing system to help customer service teams ensure efficient resolution of issues involving multiple, related tickets. You can now combine repetitive and interconnected tickets into parent-child
                                                                                                          • Tip #7: 5 formas de mantener tus listas de correo electrónico

                                                                                                            Tips and Tricks #7, adaptado de Susmit Sen ¡Hola, comunidad! Esta semana volvemos con nuestros Tips and Tricks para Zoho Campaigns. En esta ocasión, voy a darte algunos consejos para mantener limpias tus listas de correo electrónico, y empezar el 2021
                                                                                                          • Mail Merge related Lists

                                                                                                            When I try to merge an associated list the fields do not have a checkbox to choose them as it does in the tutorials. Am I missing something? Any ideas would be appreciated.
                                                                                                          • create-a-purchase-receive API issues

                                                                                                            Hello all, I'm trying to use the create a purchase receive inventory API documented here (https://www.zoho.com/inventory/api/v1/purchasereceives/#create-a-purchase-receive) however when I do am getting the following error {"code":9,"message":"The purchase
                                                                                                          • Zoho Pagesense really this slow??? 5s delay...

                                                                                                            I put the pagesense on my website (hosted by webflow and fast) and it caused a 5s delay to load. do other people face similar delays?
                                                                                                          • Heatmap: Missing Content Elements - Zoho Page Sense

                                                                                                            Hi there, I'm trying out Zoho Page Sense to generate heatmaps for my Wix pages. My problem: Some parts of my Wix pages don't show on my heatmap, the heatmap is just empty there. Maybe Wix default lazy loading setting causes this error? Is there a way
                                                                                                          • Marketing Tip #3: Use social proof to build trust

                                                                                                            People trust people. Showcasing reviews, testimonials, or “bestseller” badges on your product pages can nudge hesitant buyers toward purchase. Try this today: Add one customer testimonial or highlight your top-selling product on your homepage. Or, do
                                                                                                          • Client scripts for Zoho Books ?

                                                                                                            Good day everyone, I am looking for a way to be able to interact with the Quotes and Invoices as they are being created. Think of it like Zoho client script in Zoho CRM. But for the life of me I dont see a way to do this. The issue with having function
                                                                                                          • Make CAMPAIGNS email look as simple as possible

                                                                                                            Hi there I'm trying to make my Campaigns email look as much like a normal email as possible. I'm a bit stuck with the "justification" of the email email block. Can I LEFT JUSTIFY the "whole email" to make it look "normal"? (Please see screenshot attached)
                                                                                                          • Zoho Sign Reminder email template

                                                                                                            Is there a template we can edit for the reminder emails? I don't see it in Settings / Choose a template
                                                                                                          • Object required error

                                                                                                            Hi, I am getting an 'Object required' error on the line Call HideColumnsOutsideRange(ws, startOfWeek, endOfWeek) when I run the ShowCurrentWeek macro but not when I run the ShowCurrentMonth macro. Any ideas? Regards, GW Option Explicit Sub HideColumnsOutsideRange(ws
                                                                                                          • Next Page