Skip to main content
A shared extension model builds on a parent shared model. The extension inherits the parent’s topics, fields, and joins. You add or override definitions in the extension without a change to the parent model. When you change the parent model, every extension receives the change.

When to use shared extensions

Use shared extensions when every customer or team shares one core model and some customers or teams need their own definitions in addition to it. Don’t use shared extensions when:
  • Each customer needs a different schema or data source with no shared logic.
  • A change in one customer’s model must also apply to every other customer.

Use cases

Use the following table to check out some common uses cases and the extension settings for each one.

How an extension works

The parent model contains the core logic that an extension model builds on. An extension model contains its own additions and overrides. This means that when the parent model changes, the change applies to every extension model built on top of it. When an extension model changes, the change is applied only to the extension. Note: When the extension and the parent define the same object, Omni uses the definition in the extension. Users can access extensions in one of two ways:

Getting started

To create an extension, follow the steps in Setting up a shared extension model. The guide shows how to create the extension, route users to it, and set access. After you create the extension, you can change its settings in Model > Advanced > Extension settings. Refer to Extension settings for more information.

Next steps