Unify and manage your data

Profile view components (Facets)

Learn how to configure the profile view components in the Profile page.

Profile views are individual panels displayed within a profile tab (usually Profile or NestedProfile). Each view is defined using a component type and placed on the screen using the layout[] grid.

You can show attributes, relationships, interactions, or custom elements — either in read-only, editable, or interactive formats.

Each view must include:

  • A unique id
  • A valid component type
  • Optional access control (canRead, canUpdate, canCreate, canDelete)
Table 1. Common fields for any profile
FieldDescription
idUnique identifier used in layout[]
componentType of view to render
canReadRoles allowed to see the view
canUpdateRoles allowed to update values (if editable)
canCreateRoles allowed to add values
canDeleteRoles allowed to remove values

Attributes and AttributeTable

Use Attributes to display multiple attributes in a panel, or AttributeTable to show a repeating table of rows.

{
  "id": "main-attr",
  "component": "Attributes",
  "includeUris": [
    "configuration/entityTypes/HCP/attributes/Name",
    "configuration/entityTypes/HCP/attributes/Address"
  ],
  "caption": "Basic Info"
}
Table 2. Required Fields
FieldDescription
componentDefines the type of view component to render. Use "Attributes" or "AttributeTable".
idUnique identifier for the view. Must match the id used in the layout.
includeUrisOptional list of attribute URIs to include in this view. Recommended for controlling which fields are shown.

Result

Attributes appear as editable fields or rows in a structured view.

Validation

Open the profile and confirm that attributes appear correctly and match expected behavior for edit, view, or validation.

Relations and RelationsTable

Use Relations for a visual or nested relationship view, and RelationsTable for a sortable table layout.

{
  "id": "relation-view",
  "component": "Relations",
  "content": {
    "inRelations": ["configuration/relationTypes/HasAddress"],
    "outRelations": ["configuration/relationTypes/HasPhone"]
  }
}
Table 3. Required Fields
FieldDescription
componentDefines the type of relationship component to render. Use "Relations" or "RelationsTable".
idUnique identifier for the view. Must match the id used in the layout.
contentList of relationship type URIs to include in this view.

Result

Relations appear as connections or table rows depending on the component type.

Validation

Navigate to the profile tab and confirm that relationships are correctly displayed, sorted, and editable if permitted.

SingleAttribute

Use this to focus on one attribute with multi-value editing and table-style display.

{
  "id": "single-attr",
  "component": "SingleAttribute",
  "attributeUri": "configuration/entityTypes/HCP/attributes/Address",
  "caption": "Primary Address",
  "max": 5
}
Table 4. Required Fields
FieldDescription
componentMust be "SingleAttribute"
attributeUriURI of the attribute to display

Result

The view displays one attribute, with support for add, edit, or remove.

Validation

Add or remove values and confirm that updates are saved correctly.

HierarchyTree and HierarchyPaths

These components display entity relationships in path or tree format.

The HierarchyPaths component displays a all possible paths till the root node(s) of a hierarchy, showing the sequence of related entities in a linear view. Here's a sample configuration:
{
  "canRead": ["USER_ROLE"],
  "caption": "Hierarchy paths",
  "component": "HierarchyPaths",
  "graph": {
    "type": "configuration/graphTypes/CompanyHierarchy"
  },
  "id": "main-hierarchy-paths-view"
}
Table 5. Required Fields
FieldDescription
componentMust be "HierarchyPaths"
graphObject with type = graph type URI
Optional fields include:
  • caption — title of the view as shown in the header

  • canRead — array of roles allowed to see this view

  • id — unique identifier for the view

Result

The view shows entity relationships as a linear path.

Validation

Open the view and confirm that the path renders correctly based on the configured relations.

The HierarchyTree component displays a tree structure of hierarchical relationships, allowing for expanded and collapsed navigation of related entities. Here's a sample configuration:
{
  "component": "HierarchyTree",
  "id": "main-hierarchy-tree-view",
  "canRead": ["USER_ROLE"],
  "graph": {
    "type": "configuration/graphTypes/CompanyHierarchy",
    "options": { "reverseRelations": true }
  },
  "showPath": true,
  "sortBy": "relationTypeLabel",
  "sortOrder": "asc",
  "caption": "Hierarchy tree"
}
Table 6. Required Fields
FieldDescription
componentMust be "HierarchyTree"
graphObject with type = graph type URI
sortBySort by 'relationTypeLabel' or 'entityLabel'
sortOrderSort order: 'asc' or 'desc'

Optional fields include:

  • caption — title shown on the view's header

  • canRead — array of roles allowed to access this view

  • id — unique identifier for the view

  • showPath — boolean; shows node path in toolbar when true

  • max — number of values requested from _typeAheadSearch endpoint

  • attributes — list of attribute URIs; include secondaryLabel to enable secondary labels

  • includeUris — list of attributes to display in the info popup

  • graph.options.reverseRelations — boolean; shows reverse relations when true

Result

The view shows entity relationships as a nested tree, with expandable nodes.

Validation

Open the view and confirm that the tree structure renders correctly and responds to sorting, filtering, and path display options.

Interactions views (InteractionsList and InteractionsTable)

These components list interactions tied to the current profile.

The InteractionsList component displays interactions related to the current profile in a list format. . This is specific to Intelligent 360. For more information, see topic Interactions perspective navigation.
Table 7. Required Fields
FieldDescription
componentMust be "InteractionsList"
idView ID
Optional fields include:
  • caption — title of the view shown in the header

  • interactionType — URI of a specific interaction type to display; if omitted, all interaction types are shown

  • max — maximum number of interactions to display

  • canRead — array of roles allowed to see this view

Here's a sample configuration:

{
  "id": "interaction-list",
  "component": "InteractionsList",
  "interactionType": "configuration/interactionTypes/Call",
  "caption": "Call History"
}

Result

Shows a list of related interactions, optionally filtered by type and limited in number.

Validation

Verify that the correct interaction types appear, and that filtering, role access, and max limits work as expected.

The InteractionsTable component displays interactions related to the current profile in a table format. For more information, see topic Interactions table in Profile view.
Table 8. Required Fields
FieldDescription
componentMust be "InteractionsTable"
idUnique view ID
Optional fields include:
  • caption — title of the view shown in the header

  • interactionType — URI of a specific interaction type to display; if omitted, all interaction types are shown

  • canRead — array of roles allowed to see this view

Here's an example configuration:

{
  "component": "InteractionsTable",
  "id": "interactions-view",
  "canRead": ["USER_ROLE"],
  "caption": "Meeting interactions table",
  "interactionType": "configuration/interactionTypes/Meeting"
}

Results

Shows a table of related interactions, optionally filtered by type.

Validation

Verify that the correct interaction types appear in table format, and that filtering and role access work as expected.

PotentialMatches

Use this view to display potential matches inside a profile tab.

{
  "id": "potential-matches",
  "component": "PotentialMatches",
  "caption": "Suggested Matches"
}
Table 9. Required Fields
FieldDescription
componentMust be "PotentialMatches"
idView ID

Result

The tab shows potential duplicates for the current entity.

Validation

Open the profile and verify that suggestions match your match rules.

Gauge, Custom, and Map

These components allow you to show numeric gauges, embed custom scripts, or gather user feedback.

The Gauge component displays a simple gauge or speedometer, as shown in the image below:

Here's a sample configuration:

{
    "component": "Gauge",
    "id": "gauge-view",
    "canRead": ["USER_ROLE"],
    "caption": "Gauge view",
    "attributeUri": "configuration/entityTypes/HCP/attributes/Int",
    "label": "Gauge label",
    "ranges": [
        {color: "rgb(255, 132, 76)", value: 80},
        {color: "#ff0000", value: 50}
    ]
}
Table 10. Required Fields
FieldDescription
componentMust be "Gauge"
attributeUri(For Gauge) URI of numeric attribute
rangesAn array describing color segments.

Optional fields are:

  • caption - this denotes the title on the gauge panel. For example, "caption": "Completeness Score".

  • label - this denotes the label that is displayed under the numeric value in the gauge. For example, "label":"Percent Full".

The Custom component embeds custom script logic or an iframe. For more information, see topic Configure custom charts for numerical values in the Profile view

Here's a sample configuration:
{
    "component": "Custom",
    "id": "main-custom-view",
    "canRead": ["USER_ROLE"],
    "action": {
        "processApiRequest": [
            "https://[^.]+.reltio.com/reltio/api/[^/]+/entities/[^/?_]+/?($|\\?.)"
        ],
        "files": ["https://reltio-ui-files.s3.amazonaws.com/custom-scripts/hideAttr.js"],
        "permissions": [
            "https://[^.]+.reltio.com/reltio/api/[^/]+/entities/[^/?_]+/?($|\\?.)"
        ]
    },
    "tooltip": "Hide attribute",
    "width": 300,
    "height": 200
}
Table 11. Required Fields
FieldDescription
componentMust be "Custom"
actionThe custom script definition, which can be:
  • processAPIRequest - Specifies link templates (URLs or regular expressions) that the UI should match when sending API requests. If a request URL matches any template, the UI runs a custom script through UI.onApiRequest(...) instead of sending the request directly to the API. The UI then waits for the custom script to return the result.

  • processApiResponse - Specifies link templates (URLs or regular expressions) that the UI should match when sending API requests. If a request URL matches any template, the UI processes the API's response through a custom script using UI.onApiResponse(...). The UI sends the request to the API as usual, then waits for the custom script to return the post-processed data.

  • files - Specifies a list of links of JavaScript files with custom scripts.

  • permissions - Specifies link templates (hosts, domains, URLs, or regular expressions) that define which targets can be accessed from a custom script. A link must match one of these templates to be used in a signed UI.api(url, ...) call.

Optional fields are:

  • embedded - A boolean value, determines whether the script must be displayed directly in the panel or as an external UI.

  • width - The width of the container for the embedded script.

  • height - The height of the container for the embedded script.

  • tooltip - The default tooltip for the custom view. For example, "tooltip":"Hide attribute script".

The Map component displays an entity's location data on an interactive map, helping users quickly visualize geographic context without additional configuration. Here's an example:
 * {
 *  "component": "Map",
 *  "id": "main-map-view"
 * }

Here's how it looks on your profile view: