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

        • Low Stock View

          We use the Low Stock view frequently as a guide to inform us when to reorder items, but the view is misleading because it does not take into account Purchase Orders that have already been raised. Unless you are aware and check item by item, this can lead
        • Client Script | Update - Introducing Subform Events and Actions

          Are you making the most of your subforms in Zoho CRM? Do you wish you could automate subform interactions and enhance user experience effortlessly? What if you had Client APIs and events specifically designed for subforms? We are thrilled to introduce
        • Multi Line Text Character Limit

          I want to export my Help Center articles but I realized that the text in the Answer column is being cut off. I'm guessing there is a character limit for multi line text fields. How can I get around this?
        • blank page after login

          blank page after logging into my email account Thanks you
        • Zoho Projects - Custom Objects

          Hello, is there the ability now, or in the near future, to add custom objects to Zoho Projects? The requirement here would be to have the ability to track change requests to a project's budget. The idea here is to have the ability to create a custom Object
        • Whats App Automation

          It would be nice to be able to send out an automated whats app message template on moving stages or creation of a ticket (same as you can do for automated emails). Currently only automated emails can be sent. Also, if whats app could be used more effectively
        • Access CRM Variables from Formula field

          Is it possible to use a CRM variable (defined in Developer Space -> CRM Variables) in a formula field for calculations ?
        • Customising Sign Up Page in Zoho Help Centre Sandbox

          Hi, I would like to customise the Sign Up page in my Help Centre Sandbox Environment but when I try to access it I get this message: What setting or permission do I need to achieve this? Many thanks, Kunal
        • Announcing Bigin India Meetups Across 8 Cities: July 29 - Aug 07

          Hello Biginners, We've got some exciting news to share! We're hosting our first round of Customer Meetups for 2025 in India, from 29th July - 9th August. Whether you're a Bigin newbie or a seasoned pro, this is your chance to meet customers from your
        • Why isn't there an Expense description field / column?

          Hello! I'm new to Zoho Books and accounting. I'm surprised there isn't a proper expense description field (and column in the overview "all expenses" page)? I thought this was a given in accounting, as visualizing expenses facilitates tracking them down?
        • New in Zoho PDF Editor: Watermarks, password protection, signature collection, and more.

          Hi Zoho Sign users! We are delighted to introduce the latest enhancements to Zoho PDF Editor, designed based on user feedback and feature requests. This update enables you to reorder, extract, and rotate PDF pages, add watermarks, and collect signatures.
        • Payment Gateways - A unified hub to manage all your payment integrations in Zoho Creator

          Hello everyone, We're thrilled to announce that we've completely reimagined the way payment gateways are handled in Creator. The result is a centralized Payment Gateways section that provides a clean, user-friendly interface to configure and manage all
        • Tip #13: Identify where your bookings come from with Source Tracking

          Source tracking is the practice of identifying where your bookings originated. This is important, because online bookings come from a wide variety of sources like social media platforms, your website, email and ad campaigns, partner websites, organic
        • Kit Items Breaking Automations - "Provide mapped components for all kit items"

          This has been brought up in other threads, but I believe this issue warrants its own topic. Whenever a sales document (Estimate, Sales Order, Invoice) is created or manipulated programmatically, trying to include a Kit as an Item throws this error: "Provide
        • How do you print a refund check to customer?

          Maybe this is a dumb question, but how does anyone print a refund check to a customer? We cant find anywhere to either just print a check and pick a customer, or where to do so from a credit note.
        • Fully functional FSM workflow

          I am using Books, FSM, Begin and Desk. At this moment, FSM is not fully functional even on its own. For example, Customer A buys 4 air-cons and 3 brackets from us. We are fine to create WO manually in FSM. This should be the full loop for a FSM workflow:-
        • Cant't update custom field when custom field is external lookup in Zoho Books

          Hello I use that : po = zoho.books.updateRecord("purchaseorders",XXXX,purchaseorder_id,updateCustomFieldseMap,"el_books_connection"); c_f_Map2 = Map(); c_f_Map2.put("label","EL ORDER ID"); c_f_Map2.put("value",el_order_id); c_f_List.add(c_f_Map2); updateCustomFieldseMap
        • Zoho Books CREDIT LIMIT is completely USELESS due to a BUG!!! Please fix it ASAP!!

          Credit Limit should not be taken into account if payment terms on the Invoice are without credit. If selected Credit 0 days (Prepayment) why in this world would a notification pop up saying credit limit is exceeded and not allowing to create an invoice?
        • Printed Reports, Increase Font SIZE

          I need to send some printed copies of financial reports to my attorney. The reports print out with microscopic fonts. How do I increase the font size so that a normal human can read the text? Every other accounting app can do this so I imagine I have
        • Avoid email sending!

          Hello, Thanks you Zoho for the wonderful apps you provide. Question: Is there a way to disable sending emails when: - creating an estimate or billing. Thanks Tommy
        • Need to show discount before total after subtotal

          Need to show discount before total after subtotal on my estimate template (see attachment)
        • Email a "thank you" note for this payment is NOW checked by default

          Hello Team, Just noticed that Email a "thank you" note for this payment is now checked by default. I tried searching in Preferences and there is no way to turn this off. I do not want this to be the default. Is there a way to turn this off?
        • End-to-end services hours

          We are trying to determine the best method of quoting service hours on quotes but only present the sum amount to a customer, without losing the tracking of quantity of hours for invoicing purposes. Does anyone have a good method they have determined?
        • Specific Approval Question

          Hi everyone, Just a quick question here. I have located the "Approval Type" in the preferences, which is great, and I am sure we could make use of it. However, I am trying to understand how I can implement an approval "workflow". The business call it
        • Zoho Books - Show Discount Totals When Greater Than Zero

          Hi Books Team, I understand that to show or hide discount amount on a Quote or Invoice, I need to use different templates. It would be a great quality of life improvement for users if we had an option to show or hide the discount amount at line item and
        • Zoho Books - Sales Person Information

          Hi Team, On Invoices, Quotes, etc... I can include the Sales Person, but it only shows their name and not their email or phone number. It would be great to have place on invoice templates where we can manage what sales person information should be shows
        • Specifying a filename for Schedule Reports

          Is it possible to specify a filename to use with scheduled reports? For example: With a general ledger report, instead of general_ledger.pdf I would like to include the date the report was generated in the filename so it is called general_ledger_202
        • Need to upsert "Created Time" field in Leads Module

          I am in the process of implementing Zoho CRM for my business. I need to modify the "Created By' field to reflect the actual date/time the lead was captured in my original Excel file. Otherwise, my conversion velocity data will always be inaccurate, which
        • Refund Form Can’t Reverse “Bank Charges” Line — Throws Off Reconciliation

          Zoho, When we pay a vendor, the Payment screen lets us add a “Bank Charges” amount (we post a $1 processing fee there). Perfect. But on the Refund popup there’s no matching field, so the refund can only return the net expense. If our processor sends back
        • 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
        • HTML for confirmation email

          Hi, After a prospect submitted the Zoho form, we want to send a confirmation mail. In this mail we want to add our email signature. However, while this is possible in Zoho CRM this doesn't seem to be an option in Zoho Forms. Also an html editor is not
        • Fire a webhook when the user gets access to portal

          Hello, We would like to know if there is any way in which we can automate a webhook call if the user accepts the portal invitation that Zoho sends by email. The customer module does have the option to trigger webhooks when a customer is created, updated,
        • Clone a Module??

          I am giong to repurpose the Vendors module but would like to have a separate but very similar module for another group of contacts called Buyers. I have already repurposed Contacts to Sellers. Is it possible to clone (make a duplicate) module of Vendors
        • Zoho Writer Default Publish Setting for Mail Merge

          Hello, I was thinking of using Mail Merge to create documents from CRM and automatically link them. However, I noticed the "publish" function and it seems the default is "to the world". This creates some anxiety as it is not clear what this "to the world"
        • One Contact with Multiple Accounts with Portal enabled

          I have a contact that manages different accounts, so he needs to see the invoices of all the companies he manage in Portal but I found it not possible.. any idea? I tried to set different customers with the same email contact with the portal enabled and
        • Enable History Tracking for Picklist Values Not Available

          When I create a custom picklist field in Deals, the "Enable History Tracking for Picklist Values" option is not available in the Edit Properties area of the picklist. When I create a picklist in any other Module, that option is available. Is there a specific reason why this isn't available for fields in the Deals Module?
        • Rich Text For Notes in Zoho CRM

          Hello everyone, As you know, notes are essential for recording information and ensuring smooth communication across your records. With our latest update, you can now use Rich Text formatting to organize and structure your notes more efficiently. By using
        • Creating Payrun summary by fetching values from the employee payruns and adding them

          I am trying to make a processing payrun module. I want on Form load to autofill payrun summary eg Total Deductions, Total employer contributions etc by fetching one value after the other in the employee payrun information. So it should loop through the
        • 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
        • Creator - Portal Custom Domain

          I will pay $100 in crypto to anyone who can actually get my Creator Custom Domain to function (actually tell me how you got yours to).  Domain verifies, Nothing. I've been fighting it a week, multiple chats to customer service. Clearly I'm doing something wrong.  Some datapoints Domain name itself unimportant, can be a string of numbers.  I need to know what registrars are working for you because GoDaddy does NOT.  Do I need hosting? I've tried both ways and nothing works.  I pushed through Cloudflare
        • Next Page