criteria-based data exposure

criteria-based data exposure

Dear Customers,

We hope you're well!

Portals is a self-service avenue through which your clients can access and manage their direct and related data in Zoho CRM. This empowers them to be more independent and enables them to experience a sense of transparency with your business.
Here, the key term to notice is direct and related data. The current portal setup serves clients only with their own primary and related data via a lookup field. Here's a pictorial representation of the current setup:

While having access only to their records gives customers authority over their information, it presents some notable challenges.

Challenge #1: Lack of control
A record undergoes two types of processes: customer-driven processes like conversion, negotiation, winning a deal, and more, and internal processes like approvals, discussions, and rejections. While the former keeps customers informed about the progress of their deals, the latter reveals the business' internal decision-making process. Administrative information isn't necessarily meant to be seen, but the current portal setup exposes each stage a record goes through, unconditionally. This poses a problem: The business lacks control over the kind of information that's shared.

Imagine this scenario: Patricia is your customer. She has access to her profile, deals, and quotes. She can manage data all by herself and track records as they progress. While having access to her own records empower her with independence, witnessing all the process changes—including approvals and rejections of discounts that aren't yet final—might cause her some anxiety. It also violates the business's privacy policies.

Challenge #2: Lack of flexibility
The portals you have now only enable you to share clients' personal and transactional records. Clients can only see their own data. But what if they want to access information other than their own? Or what if they want to view records with a particular trait?
Say, for example, your business sells multiple products across Canada, and you want your portal users to see only the products available in their regions. This is a specific request that's based on the location of the customer. The current setup limits this requirement and fails to preserve context for the customer.

Thus, to give the admins control over any exposed information and simultaneously provide portal users with both flexibility and independence, we've developed an exciting addition to portals' data-sharing functionality: criteria-based data exposure.

Introducing criteria-based data exposure
Criteria-based data exposure is the ability to expose modules and data based on conditions that you use to control what data should be exposed and when, or to render contextual results for portal users.
Technically speaking, in addition to linking a primary module and a related module using lookup fields, admins can now define two types of criteria to expose other records with a particular trait in the module: match with fields and match with values.

Match with value: This criterion should be familiar to you as a seasoned Zoho CRM user. You can determine record eligibility by defining a fieldoperator, and qualifying value.

Example: Deal type is new business. All those deals that are new businesses will be displayed to the portal user.

Match with field: Here, the relationship between the related module and the primary module is established by mapping their fields. That is, the relationships between records in primary and related modules are established by fields with the same values.

Example: Implementation agent servicing area is the client's billing city.

Let's understand these criteria by addressing our initial challenges:

Solution for challenge #1 (lack of control)
By matching with value, we can allow Patricia to view her quote only after it reaches the approved stage. This way, your business's internal correspondence stays internal, and Patricia can track her quotes without any impact on her experience.

Below is how you can configure this feature. Again, let's suppose Patricia is your customer and that you want her to have access to her transactional data:
  1. Create a mutual lookup field called "Contact name" between the Contacts and Quotes modules.
  2. To control who can access this information, use the match by value criterion and add two conditions:
    1. Quote stage is approved
    2. Quote stage is not negotiating
      This way, Patricia's quote is visible only when it reaches the approved stage.
Solution for challenge #2 (lack of flexibility)
With the match with field criterion, your portal user can view all products that are available in Canada.

Let's look at how you can configure this functionality.
The Products module is a public module, accessible to all portal users, irrespective of their relationship to that module. To bring context to this setup, add a condition using the match by field criterion:
  • Available area is mailing country
Note:
In addition to configuring criteria, you can also use an "and/or" conditional to follow these criteria. That is, you can use both criteria and lookup, or either of the three (criteria, or match with values, or match with fields), or one of the criteria and lookup.

For example, let's say your Implementation Specialist module has an exhaustive list of agents that implement servers in different areas, with varying levels and types of expertise. To display the agents the user hired as well as other agents for reference, we can configure conditions, as shown below:
  • The primary module and the related module can be linked using the native lookup field to bring up agent records that users have hired directly.
  • To display other agents in the location, let's use conditions:
    • If the record matches with values, the customer can see all agents who belong to Michigan, Ohio, Chicago, Washington, and Indianapolis will be displayed.
    • If the record matches with fields, the customer can see all agents whose service region matches the contact's mailing state. 
This way, both the agents directly hired by the contact and those agents that are from a desired location are displayed for portal users' reference.

Thanks to these new criteria, we've updated the UI of the configuration page as well. What used to be called Filter by column (where the lookup value is selected) has been renamed to Linked as and conditions.
To understand the scope and impact of this enhancement, let's look at a couple more examples.

Example 1: Match with value
Let's say you sell electronics and accessories in bulk for large enterprise organizations. You've extended the following modules in portals for enterprise customers:
  • Primary module: Contacts
  • Related modules: Products, Invoices, Cases, Appointments
  • Public module: Channel partners
 
So that customers can look at all the products applicable for enterprise customers, you've formulated some criteria: Lookup and Match by value. Customer type is Enterprise.

Now clients can see their contact records, their products (thanks to the lookup connection), and products for enterprise customers (thanks to the match by value criterion), as well as invoices, cases, and appointments related to them, and, finally, all channel partners.

Example 2: Match by field
Saint Laurent Hospital is a multi-specialty hospital in Iowa. They let their patients manage their profiles, view their prescriptions, order medicines from the pharmacy, view lab results, and book appointments with doctors using a dedicated portal.

This is their setup:
  • Primary module: Patient's profile
  • Related modules: The Prescriptions module, Lab Results module, and Appointments module are related with the primary module via lookup fields, and the Doctors module via the Match by field criterion.
  • Public modules: Medicines 
As you can see, records with personal data (prescriptions, lab results, appointments) are directly linked to the patient's profile using lookup fields, and to map the doctors to the patients' ailments, the complaint field from the patient's profile is linked to doctors whose specialization is also the same as the ailment. This means that the patient can see all the doctors whose specialization matches their complaint.
(i.e.) Specialization contains Complaint. IBS specialist contains IBS

That's all for this enhancement to the Portals configuration.

We hope these criteria will enhance your clients' experiences with your business. If you have any questions or concerns, please drop a comment. Let's connect!

Release plan: This enhancement is available for users in all DCs.
Resources: Portals in Zoho CRM

Thanks and kind regards, 
Saranya Balasubramanian
      • Recent Topics

      • Assistance with Setting Default Values for Zoho Chat Custom Fields

        I am currently using the Zoho Chat JavaScript API to successfully add custom fields to the chat interface. While the implementation of these fields has been smooth, I am now looking to set default values for these custom fields. However, I couldn't find
      • Unable to delete Junk Lead and Not Qualified from the Lead Status field

        Are Junk Lead and Not Qualified default fields or something that cannot be deleted? I have gone into the Leads module and made sure there are no records using these values. Other values have a minus sign that allows me to remove them, but these two fields do not have that option.
      • Modules are continuously loading

        Hi! We are not able to open the task modules, it keeps continuously loading
      • Customer Happiness not clickable when using API

        Is there a way to automatically add the Customer Feedback links when generating email drafts via the API? Currently, the feedback links are only added when generating an email draft using the UI. I tried using the endpoint described in https://desk.zoho.com/DeskAPIDocument#CustomerFeedback#CustomerFeedback_Getthecustomerfeedbackplaceholderlink
      • Emmanuel Katto : Zoho Meetings Outlook Plugin Authentication Issue - Help Needed

        Hi everyone, I'm Emmanuel Katto, We’ve been facing an issue with the Zoho Meetings Outlook plugin for the last couple of weeks. When we try to sign in via the plugin, it redirects to the authentication page, and after successfully authenticating, it shows
      • Transitioning FESCO Bill Project to Zoho Sheets and Integration Options

        Hello Zoho Support, I'm considering transitioning my FESCO bill project from Google Sheets to Zoho Sheets and wanted to know if there are integration options to seamlessly migrate our existing work. You can view our platform here, any guidance would be
      • Email Alerts for New Audit Log Entries in Zoho Desk

        Dear Zoho Desk Team, The Audit Log feature in Zoho Desk is a fantastic tool for tracking changes and ensuring transparency in the helpdesk. However, to make this tool even more effective, I’d like to request an enhancement. Currently, there is no option
      • Zoho Desk Validation Rule Using Custom Function

        Hi all, I tried to find the way to validate fields using custom function just like in Zoho CRM but to no avail. Is there a way to do this?
      • Free user licenses across all Portal user types

        Greetings everyone, We're here with some exciting and extensive changes to the availability of free user licenses in CRM Portals. This update provides users with access to all Portal user types for free to help them diversify their user licenses and explore
      • How to easy change layout in existing records in Deals?

        Hello, So far i have used only 1 layout in Deals. I have about 1000 records. Now i want to make new layout. So i have 2 layouts: Layout Old (1000 records) Layout New (0 records) How to easy change layout from Layout Old into Layout New for existing records?
      • What is the Desk API?

        I'm trying to fetch a lookup field data from desk to our creator application and it doesn't work. I'm guessing that my search parameter is wrong? On my trial function fetch if I use these: tickets = invokeurl [ url :"https://desk.zoho.com/api/v1/tickets/351081000145244764"
      • Changing Color Theme of Guided Conversations

        Hello, We have recently added Guided Conversations to one of our websites, but I am wondering if there is a way to customize the color scheme so it matches the appearance of the website? Thank you in advance!
      • Length of Call

        Whenever we place a call from the CRM and we click to log it, the duration / length is not automatically populated. Can you set this up to occur? Thanks!
      • Tip #10: Automatically add tags to Zoho CRM records using form responses

        You may be using tags to filter records, create reports based on specific tags, or let your sales team to know which clients to give priority to. Don't skip tagging for the crm records added via forms. The tags can be set to be automatically captured during the form submission. How it works When you set up a configuration to push form entries into CRM, you can add a tag to them automatically. The tag value can vary based on the respondent's input (captured using form fields), or you can include a
      • CRM x WorkDrive: File storage for new CRM signups is now powered by WorkDrive

        Availability Editions: All DCs: All Release plan: Released for new signups in all DCs. It will be enabled for existing users in a phased manner in the upcoming months. Help documentation: Documents in Zoho CRM Manage folders in Documents tab Manage files
      • Using AVG in SQL Query

        My current SQL Query is: SELECT "Client Info", avg("Revenue") FROM "Funded Deals" GROUP BY "Client Info" The current table that this is creating: Client Info avg(Revenue) Previous 4175 1st - New 3411 1st - Old 3013 Renew 3069 While this works as I had
      • Pay Contractor Timesheets

        I have contractors that fill out a timesheet. Each hour must be assigned to a current client. I need the easiest way to get the contracts paid. They are paid on an hourly bases. How can this be done?
      • OAuth with Bubble.io API Connector does not work although it is working in Postman

        Hi, I am new to API programming but have successfully connected Google and Asana with the Bubble.io API connector. Also I have setup Postman and can access Zoho APIs successfully e.g. Projects. Scope used is: ZohoProjects.tasks.CREATE ZohoProjects.tasks.READ
      • How to Parse XML Data Returned by API?

        I have several APIs integrated with my CRM and they work great. I am having some trouble though parsing data out of a large string/array in Funtions? I need to be able to pull the DeviceId and the WebSiteDeviceName from each PanelDevice. I would appreciate
      • Foreign Currency Bank Account

        I have a bank account in USD zero balance but when i run the bank ledger in my company currency in AED it was shown small balance 1.31 AED , how to make it zero also ,Thanks
      • How do you handle existing customers/contacts?

        Hi, We just integrated MA 2.0 with our CRM and we chose to only import our existing customers contacts. In MA they are all "Raw leads" by default and we would like to mass update these to a stage called "already customers" but the last default stage "Sales
      • Quick editing of fields in a report view...

        I've created a report that unites my advertiser accounts with corresponding contact accounts (which are not a subset of Adv. accounts, contacts are their own section). I want to know if there is a way to edit certain fields while viewing my report so
      • Notes from Custom Modules linked to Account Modules

        The way our ZOHO CRM is set up at the moment, whenever a note is entered under a Task or Event the note is visible under both the Task or Event as well as in the notes section under the Account the Task or Event is associated or related to. I have a couple
      • UI / UX Suggestion: Allow Users to Set Colors of Flow Steps

        For those of us who set up complex Flows, it would be nice to be able to color-code different paths / branches for easier future interpretation or troubleshooting. This could take a variety of forms, either highlighting the textual name of the step or
      • Storage Space Issue

        I made a few Header templates in the CRM email that adds some fields ( 2 fields to be exact ) to the subject line, however I ran out of "storage Space" when I need to add it to 3 more members of my team. How do I solve this ? If I need to upgrade , which
      • Server responds internal server error when requesting token

        I am trying to request for token through this url https://accounts.zoho.com/oauth/v2/token I use postman to do this, but everytime I send a request it gives me a 500 response with no messages in it. Below is the screenshot of what i am trying to do. PLease
      • How do I add page breaks to Sales Order templates?

        I would like our Terms and Conditions to start on a new page of the resulting PDF. How do I do this? I tried adding <div style="break-after:page"></div>, but this did not work.
      • Task Timer is missing

        Hi, new here to Zoho... just discovered it yesterday and it looks like a really excellent application!! I signed up but seem to have actually lost some functionality since I did ?!  The handy little way to update your timesheets by mousing over the task and clicking on the green clock is no longer there for me.  I am talking about what is described in this post: http://forums.zoho.com/forumHome.do?forumGroupId=2266000000002001&forumTopicId=2266000000027532# Now the green clock icon does not appear. 
      • Chronicles of 2024: The Year in Retrospect

        As we close out 2024, let’s take a moment to highlight the new features and updates that have enhanced Zoho Invoice in 2024. Among the exciting enhancements, we have launched a new AI-powered chatbot designed to assist you in understanding the app's features
      • Zoho CRM v2.1 deprecation or sunset plans ?

        Hi Team Wanted to know if there is any plan to deprecate v2.1 CRM apis https://www.zoho.com/crm/developer/docs/api/v2.1/ and if yes by when
      • Hide recent projects section?

        Is there a way to hide the recent projects section? It's not that useful to us and never gets looked at, but takes up valuable screen real estate. Can't see an option or any button to close it. Can we do this? If not can it be added? Chris.                  
      • project profitability

        I would love to be able to see my costs for non-billable tasks without that impacting my revenue budget. My project budget type is based on project and my billing method is based on staff hours. if I turn on the option to include non-billable hours in
      • Move data from any fields or upload files to the attachment section in Deluge.

        LeadId = 4857358000014515001; resp = zoho.crm.getRecordById("Leads",LeadId); file = resp.get("Upload_Test"); filelist = List(); if(file != null) { file_Id = resp.get("Upload_Test").get(0).get("file_Id"); getFile = invokeurl [ url :"https://www.zohoapis.com/crm/v7/files?id="
      • Log a Call Function

        First, thank you for implementing the Log a Call function. It's been a frequent request on our team before we can adopt Zoho CRM, and this helps remove that. However, one small detail: the reason people wanted Log a Call was to quickly log a call's activity with the minimum effort possible. With the structure of the new Log a Call function, you have required several fields that are unnecessary for most people and that significantly slow down salespeople or CSRs in logging calls. Could you please
      • How to shortlist a lead's open tasks in ascending or descending order, close all open tasks from oldest to newest, and create new tasks using Deluge?

        //LeadId = 4857358000014515001; optionalMp = Map(); optionalMp.put("sort_by","Due_Date"); optionalMp.put("sort_order","asc"); related_tasks = zoho.crm.getRelatedRecords("Tasks","Leads",LeadId,1,200,optionalMp); for each task in related_tasks { // info
      • Rate Limiting in Zoho Flow (OpenAI API)

        Hi Everyone, We are facing some issues when using Zoho Flow as we have a deluge script running which is making external calls to OpenAI endpoint. Sometimes the response takes more than 30 seconds meaning the script will timeout. We want to implement a
      • Does Client Script work on Zoho CRM Portal?

        Hi ! I create a new module to use at customer portal. But Client Script looks not work. Please help me clarify, thank you!
      • Kaizen #124 - Manipulating Subform using Zoho CRM APIs

        Hello everyone! Welcome back to another post in our Kaizen series. In this post, we will discuss how to manipulate the Subform data using Zoho CRM APIs. Subforms A Subform is a data section embedded in the primary form to collect details related to the
      • Option to Disable Download for Documents Shared via Permalink

        Dear Zoho Writer Team, Currently, when sharing a Writer document using the regular permalink (Collaborators with external users), there is no option to restrict the ability to download the document. While the external share link allows such restrictions,
      • Cross-Data Center Collaboration and / Or allowing users to choose DC

        Dear Zoho Cliq Support Team, We are writing to request a significant enhancement to Zoho Cliq that would greatly benefit our geographically dispersed development team. Current Challenge: Currently, Zoho Cliq automatically routes users to specific data
      • Next Page