Closing the Loop: Why Lookup Asymmetry is Harming Data Integrity in Creator

Closing the Loop: Why Lookup Asymmetry is Harming Data Integrity in Creator

TL;DR: Lookup fields allow users to add new related records inline via the "+" icon, but there's no equivalent ability to edit an existing related record without navigating away and losing form context. Adding a native "Edit" icon—with automatic User Input workflow re-triggering on save—would close this asymmetry and prevent the data quality issues that arise when fixing related records is too disruptive to bother with.
I've discovered a significant gap in how Zoho Creator handles related records through lookup fields, and I'm hoping the Zoho team can address this in a future update. This limitation creates a disjointed user experience that breaks natural workflow patterns.

The Issue
According to Zoho Creator's lookup field functionality, users can add new related records directly through a lookup field—both single-select and multi-select variants support this via the "+" icon. This is an excellent feature that streamlines data entry.
However, there is no equivalent ability to edit an existing related record while adding or editing the parent record. Once a related record exists, users must navigate away from their current form to make changes—breaking their workflow and context.
Example Use Case
Consider a Sales Order form with a lookup field to Clients.
Scenario: While creating a new Sales Order, the user notices the selected Client's phone number is outdated.
Desired behavior:
  • Click an "edit" icon next to the lookup field
  • Update the Client's phone number in a popup/modal
  • Save and return to the Sales Order form with context preserved
  • Continue completing the Sales Order without interruption
Current reality: The user must abandon their partially-completed Sales Order, navigate to the Clients report, find and edit the Client record, then return to create a new Sales Order from scratch—or risk losing unsaved data.
The Problem
Zoho Creator provides asymmetric functionality for related records—you can create but not edit:
Action Single-Select Lookup Multi-Select Lookup
Select existing related record ✓ Yes ✓ Yes
Add new related record ✓ Yes (via + icon) ✓ Yes (via + icon)
Edit selected related record ✗ No ✗ No
View selected record details inline ✗ No ✗ No
The openUrl() Workaround — And Why It Falls Short
Technically, you can use Deluge's openUrl() function to open a related record for editing—either from the User Input of a field or from an anchor tag in an Add Notes field. According to the documentation on editing records via Record ID:
// URL pattern to edit individual records by passing record ID:
// https://<base_url>/<account_owner_name>/<app_link_name>/#Form:<form_link_name>?recLinkID=<record_ID>&viewLinkName=<view_link_name>

// Example: Open related Client record for editing via User Input
client_id = input.Client_Lookup.ID;
edit_url = "#Form:Clients?recLinkID=" + client_id + "&viewLinkName=Clients_Report&zc_LoadIn=dialog";
openUrl(edit_url, "same window");
Critical Limitation: While openUrl() can open the related record for editing, the lookup field's User Input workflow does not re-trigger when the related record is saved. This means any field population logic that runs on record selection won't run again after an edit.
The result is a broken workflow:
  • Parent form → Can open child record for editing ✓
  • Child record → Can be edited and saved ✓
  • Parent form → User Input workflow does not re-trigger
  • Parent form → Lookup display shows stale data
  • Parent form → Dependent fields remain outdated
Workaround Approach Implementation Problems Status
openUrl() from User Input Trigger openUrl() on field change to open related record in dialog - User Input workflow doesn't re-trigger after edit
- Lookup field shows stale display data
- Dependent fields remain outdated
⚠ Partial solution
Anchor tag in Add Notes Embed clickable link using <a href="..."> in Add Notes field - Same limitations as openUrl()
- Requires visible Add Notes field
- Less discoverable for users
⚠ Partial solution
1-Row Subform Replace lookup with a subform limited to 1 entry for "inline" editing - Cannot search/select from existing records
- Designed for creating new child data, not picking existing
- Doesn't scale (can't browse 5,000+ records)
- Loses all lookup field benefits
✗ Architectural mismatch
JavaScript Widget Build custom widget with iframe and postMessage API - Requires complete UI rebuild
- Complex development effort
- Maintenance overhead
- Not native Creator experience
✗ Overkill for simple requirement
Navigate Away User leaves current form, edits related record, returns - Loses unsaved parent form data
- Destroys dynamic form state and transient variable calculations
- Breaks user workflow
- Poor user experience
✗ Not viable
The Missing Pieces
For a complete solution, Zoho Creator would need to provide:
Capability Current State Required State
Native Edit Icon Not available on lookup fields Edit icon alongside + (add) icon
Parent Form Preservation No mechanism to preserve state Parent form remains open with unsaved data intact
User Input Re-trigger Does not fire after related record edit Existing User Input workflow re-triggers on related record save
Lookup Display Refresh Display shows stale data after edit Lookup field reflects updated related record data
What Should Happen Instead
Proposed Solution 1: Native Edit Icon on Lookup Fields
Add an edit icon (pencil) alongside the existing add icon (+) on lookup fields:
[ Selected Client Name     ▼ ]  [+]  [✏️]
│ │
│ └── Edit selected record (NEW)
└──────── Add new record (existing)
Clicking the edit icon would open the selected record in a dialog/modal, preserving the parent form's state.
Note for Multi-Select Lookups: The edit icon could appear next to each individual "pill" or selected item in the list, allowing users to edit any of the selected records independently.
Proposed Solution 2: Re-trigger Existing User Input Workflow
When a record is selected in a lookup field, it already triggers the field's User Input workflow. This same behavior should occur automatically when an edited related record is saved—no separate event type needed:
// Existing User Input workflow on Client_Lookup field
// This ALREADY triggers when a record is selected
// It SHOULD also trigger when the related record is edited and saved

on user input of Client_Lookup
{
// Populate fields based on selected client
input.Contact_Phone = input.Client_Lookup.Phone;
input.Contact_Email = input.Client_Lookup.Email;
input.Billing_Address = input.Client_Lookup.Address;
}
Expected behavior: After editing the Client record via the lookup field's edit icon and saving, the User Input workflow should re-trigger automatically—without requiring the user to manually de-select and re-select the record. This seamless refresh is what makes the UX feel native. The workflow would update any dependent fields with the corrected data using existing logic, no new code required.
Proposed Solution 3: Lookup Field Property for Edit Behavior
Add a lookup field property to control edit behavior:
Lookup Field Properties:
├── Allow Add New Record: ☑ Enabled
├── Allow Edit Selected Record: ☑ Enabled ← NEW OPTION
│ └── Edit Opens In: ○ Dialog ○ Slide-in Panel ○ New Tab
└── On Related Record Save: ○ Refresh Lookup ○ Custom Script ○ No Action
Note: The Edit icon should naturally respect the user's Module Permissions. If a user does not have 'Edit' access to the related form, the icon should remain hidden or disabled—consistent with existing permission behavior for the Add (+) icon.
Real-World Impact
This limitation affects any workflow involving:
  • CRM/Sales workflows — Updating client contact info while creating quotes or orders
  • Project management — Editing task details while logging time entries
  • Inventory systems — Correcting product specifications while processing orders
  • HR applications — Updating employee details while processing leave requests
  • Support ticketing — Modifying customer information while handling tickets
  • Data integrity — When users spot typos or outdated info but can't fix it easily, they tend to ignore it. This leads to "dirty data" accumulating simply because the "cost" of fixing it (navigating away, losing context) is too high
  • Any parent-child data relationship — Where child record corrections are discovered during parent record creation

User Experience Impact: Users are forced to choose between completing their current task with stale/incorrect related data, or abandoning their work to fix the related record. This friction compounds across every data entry session, significantly impacting productivity.

The Asymmetry Problem:
The ability to add new related records directly from a lookup field is incredibly useful and demonstrates that Zoho Creator understands the value of contextual record management. The absence of an equivalent edit capability creates an inconsistent and frustrating user experience.
If users can add related records without leaving the form, they should be able to edit them too.
Setting the Standard:
Zoho Creator is marketed as the platform for building bespoke solutions—applications tailored to workflows that standard SaaS offerings cannot accommodate. Bespoke solutions shouldn't be constrained by out-of-the-box limitations like this.
Creator is the ideal place to pioneer this feature. Developers choose Creator precisely because we need workflows that are more fluid and contextual than pre-built software allows. Native inline editing for lookup fields would reinforce Creator's position as a developer-first platform.
Request to Zoho Team

Can this be addressed in a future update?

The current implementation forces users to choose between:

1. Workflow Continuity
Complete the current form with potentially outdated related data, then fix later (risking data quality issues)
2. Data Accuracy
Abandon the current form, navigate to fix the related record, then start over (losing time and unsaved work)

We shouldn't have to make this choice—lookup fields should support both adding AND editing related records.

Community Input Requested: Has anyone else encountered this limitation or developed a more elegant workaround? I'd particularly love to hear from anyone who has implemented a JavaScript Widget solution and whether the development overhead was justified.


📚 Documentation References:
🔗 Related Community Discussions:
    • Recent Topics

    • Whatsapp Connection Status still "Pending" after migration

      Hello, I migrated my WhatsApp API to Zoho from another provider a day ago. So far the connection status is still “Pending”. There is a problem? How long does it usually take?
    • Kaizen #226: Using ZRC in Client Script

      Hello everyone! Welcome to another week of Kaizen. In today's post, lets see what is ZRC (Zoho Request Client) and how we can use ZRC methods in Client Script to get inputs from a Salesperson and update the Lead status with a single button click. In this
    • How to Filter timewise question to check uploaded one month or two months before in these community question ?

      i want to find the question that is asked some month or before any particular year, so how can i filter it ?
    • Proposal for Creating a Unique "Address" Entity in Zoho FSM

      The "Address" entity is one of the most critical components for a service-oriented company. While homeowners may change and servicing companies may vary, the address itself remains constant. This constancy is essential for subsequent services, as it provides
    • Workflow Down/Bug

      We have a workflow that sends an email to one of our internal departments 10 minutes after a record is created in a custom module. The workflow actually works correctly. However, we have now noticed that on January 8, between 3:55 p.m. and 4:33 p.m.,
    • Service Locations: Designed for Shared Sites and Changing Customers

      Managing service addresses sounds simple—until it isn’t. Large facilities, shared sites, and frequently changing customers can quickly turn address management into an operational bottleneck. This is where Service Locations deliver clarity and control.
    • Can I re-send the Customer Satisfaction Survey after a ticket closure?

      Hello, Some customers does not answer the survey right after closure, is it possible to re-send after a few days or weeks? Best Regards!
    • Account blocked

      Yesterday I got my Zeptomail account blocked due to too many hard bounces. My account is used exclusively for sending transactional emails (eg. your order has been shipped, a form has been filled, etc) and the sudden blocking impacted hundreds of websites
    • Filter contacts based on selected category in Zoho Desk ticket

      Hello community, I’m setting up the Tickets module in Zoho Desk and I need help implementing the following: When a category is selected in a ticket, I want the Contact field to be filtered so that it only displays contacts that are related to that category.
    • 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
    • Assign Income to Project Without Invoice

      Hello, Fairly new user here so apologies if there is a really obvious solution here that I am just missing... I have hundreds of small deposits into a bank account that I want to assign to a project but do not want to have to create an invoice every time
    • Tracking Non-Inventory Items

      We have several business locations and currently use zoho inventory to track retail items (sales and purchase orders). We were hoping to use zoho inventory to track our non-inventory items as well (toilet paper, paper towels, etc). I understand that we
    • Profile Page View Customization

      I need to change the fields, sections from the profile view of an emplyoyee.
    • Zoho Desk Android app update: Filter, Sort and Saved filters Enhancements

      Hello everyone! We are excited to introduce the below features on the Android version Zoho Desk mobile app: 1. Filter & Sort support has been introduced for the Contacts and Accounts modules. 2. Sort options is now available in Custom Modules as well.
    • Accessing shared mailboxes through Trident (Windows)

      Hi, I have a created a couple of shared mailboxes. The mailboxes are showing up on the browser based Zoho workplace, but I cannot seem to figure out how to access my shared inboxes through Trident (Windows). Am I missing something or is this feature not
    • Feature Request: Ability to set Default Custom Filters and apply them via URL/Deluge

      I've discovered a significant gap in how Zoho Creator handles Custom Filters for reports, and I'm hoping the Zoho team can address this in a future update. This limitation has been raised before and continues to be requested, but remains unresolved. The
    • Closing the Loop: Why Lookup Asymmetry is Harming Data Integrity in Creator

      TL;DR: Lookup fields allow users to add new related records inline via the "+" icon, but there's no equivalent ability to edit an existing related record without navigating away and losing form context. Adding a native "Edit" icon—with automatic User
    • filtering lookup field options based on information in another module.

      In our CRM system. We have the standard Accounts and Deals modules. We would like to introduce the ability to classify Accounts by Sector. Our desired functionality is to have a global list of all sectors that an Account can select, with the ability to
    • Service op locatie organiseren met Zoho FSM: waar lopen organisaties tegenaan?

      Bij organisaties met service teams op locatie merken we vaak dat de complexiteit niet zozeer in de planning zelf zit, maar in wat er rond die planning gebeurt. Denk aan opvolging na interventies, consistente servicerapporten, en het bijhouden van installaties
    • Introducing Assemblies and Kits in Zoho Inventory

      Hello customers, We’re excited to share a major revamp to Zoho Inventory that brings both clarity and flexibility to your inventory management experience! Presenting Assemblies and Kits We’re thrilled to introduce Assemblies and Kits, which replaces the
    • Does the ability exist to make tax on the customer profile mandatory?

      I am reaching out to inquire about the possibility of making the "Customer Tax" field mandatory when creating a new customer in Zoho. We want to ensure that all customers have their tax information recorded to maintain compliance with our internal processes.
    • email association with CRM

      Why is it 2024 (almost 2025) and Zoho has not figured out how to integrate email with CRM? It is so inconsistent at associating emails within CRM. I am an attorney. I have clients and work with other attorneys. Attorney John Doe is associated with multiple
    • Fix the speed

      It takes ages to load on every step even though my dataset is quite small.
    • Credit Note for Shipped and Fatoora pushed invoices

      We have shipped a Sales Order and created an Invoice. The Invoice is also pushed to Fatoora Now we need to create a credit note for the invoice When we try it, it says we need to create a Sales Return in the Zoho Books, we have already created a Sales
    • FSM - Timesheet entires for Internal Work

      Hi FSM Team, Several of my clients have asked how they can manage internal timesheets within Zoho FSM. Since their technicians already spend most of their day working in FSM, it would be ideal if they could log all working hours directly in the FSM app.
    • Add a way of clearing fields values in Flow actions

      It would be great if there was an option to set a field as Null when creating flows. I had an instance today where I just wanted to clear a long integer field in the CRM based on an action in Projects but I had to write a custom function. It would be
    • Role Management

      I am creating an analytics dashboard for a company that will be utilized by its various departments such as Finance, Marketing, and HR. My goal is to design the dashboard with separate tabs for each department. Additionally, I plan to implement role-based
    • Highlight a candidate who is "off limits"

      Hello: Is there a way to highlight a candidate who is "off limits"?  I would like to have the ability to make certain candidate and / or Client records highlighted in RED or something like that.   This would be used for example when we may have placed a candidate somewhere and we want everyone in our company to quickly and easily see that they are off limits.  The same would apply when we want to put a client or former client off limits so no one recruits out of there. How can this be done? Cheers,
    • Announcing new features in Trident for Windows (v.1.37.5.0)

      Hello Community! Trident for Windows just received a major update, with a range of capabilities that strengthen email security and enhance communication. This update focuses on making your mailbox safer and your overall email experience more reliable.
    • Early Payment Discount customize Text

      Hi, I’m currently using Zoho Books and am trying to customize the standard “Early Payment Discount” message that appears in the PDF invoice template. I’ve reviewed the documentation here: https://www.zoho.com/books/help/invoice/early-payment-discount.html
    • Deprecation of SMS-based multi-factor authentication (MFA) mode

      Overview of SMS-based OTP MFA mode The SMS-based OTP MFA method involves the delivery of a one-time password to a user's mobile phone via SMS. The user receives the OTP on their mobile phone and enters it to sign into their account. SMS-based OTPs offer
    • Zoho Sheet - Desktop App or Offline

      Since Zoho Docs is now available as a desktop app and offline, when is a realistic ETA for Sheet to have the same functionality?I am surprised this was not laucned at the same time as Docs.
    • DKIM Now Mandatory - Changes to Zoho Forms Email Policies

      Hello Zoho Forms Users, This post is to inform you about an important update regarding the authentication of all email domains in your Zoho Forms account. This year, we are doubling down on our commitment to deliver a secure, seamless, and empowering
    • Call description in notes

      When completing a call, we type in the result of the call in the description. However, that does not show up under the notes history on the contact. We want to be able to see all the calls that have taken place for a contact wihtout having to go into
    • Email Address for Contact not Populating

      When I click "Send Mail" from a Contact's page, their email address does not auto populate the "To" field. How do I make this happen?
    • New in CRM: Dynamic filters for lookup fields

      Last modified on Oct 28, 2024: This feature was initially available only through Early Access upon request. It is now available to all users across all data centers, except for the IN DC. Users in the IN DC can temporarily request access using this form
    • Why hybrid project management might be the best fit for you?

      Project management techniques are designed to equip teams with proven methods for easy and efficient project execution. While management teams may have apprehensions about adopting the hybrid method of project management, we’ve compiled the top reasons
    • Allow all Company Users to view all projects, but only owner/admins can change projects

      I was wondering if there was a permission setting I could adjust to allow all our company users to see all projects created. Then, only the project owners and admins with the change permission. Thanks
    • Fail to send Email by deluge

      Hi, today I gonna update some email include details in deluge, while this msg pops up and restrict me to save but my rules has run for one year. can you tell me how to use one of our admin account or super admin account to send the email? I tried to update
    • Seeking help to be able to search on all custom functions that are defined

      Hello I have a lot of custom functions defined (around 200) and i would like to search some specific strings in the content of those. Is there a way to accomplish that? If not, is there a way to download all existing custom functions in some files locally
    • Next Page