Skip to Main Content
Categories Expression Engine
Created by Simon ter Schegget
Created on Apr 2, 2026

Add Soft-Link Functions to the Expression Engine

How: Enable the Expression Engine to resolve soft links by introducing lookup functions that can retrieve an entity based on a unique field value (e.g., a key stored in a CVL).
Proposed functions include:

  • ENTITYBYKEY(entityType, keyField, keyValue)

  • FINDENTITY(entityType, fieldName, fieldValue)

  • LOOKUP(entityType, matchField, matchValue)

These functions would allow the engine to locate and reference an entity without relying on a physical LinkType.
This fills a gap in the current engine, which only allows entity resolution via FIRSTLINKEDENTITY or LINKEDENTITIES, and does not accept Entity IDs or key-based lookups.

Why: In many implementations, relationships between entities are intentionally modeled as soft links often using CVLs to keep the data model lightweight, avoid over-linking, or align with external system integration patterns.
Without lookup functionality, these soft links cannot be used inside Expressions, preventing automation, derived fields, or validation rules that depend on related entities.

For Who: Inriver customers using elastic or integration-driven data models

Implementation partners and solution architects who design CVL‑based or external-key‑based referencing patterns

Business users who rely on Expressions for automation, enrichment, and validation

Developers who currently must build custom extensions as workarounds

Impact: Adding soft-link lookup functions would:

  • Greatly expand the capabilities of the Expression Engine

  • Reduce or eliminate the need for extensions to resolve entities

  • Enable more powerful automation and derived fields

  • Improve maintainability of data models by avoiding unnecessary link types

  • Allow Expressions to work seamlessly with existing CVL‑based soft links

  • Support broader integration and omnichannel scenarios where external keys are common

Overall, this feature would increase flexibility, reduce technical overhead, and enable richer PIM logic without custom code.

Additional context:

  • The engine cannot retrieve entities except through link-based functions (FIRSTLINKEDENTITY, LINKEDENTITIES)

  • There is no built-in way to look up an entity by key, code, or field value

  • Thus, soft links stored via CVLs are not resolvable within Expressions

This leaves a significant functionality gap that this feature request aims to address.

Please, add your suggestion and feedback above to add to the insights used by Product team when deciding priorities and direction of the Inriver PIM.

  • Attach files