Skip to main content

Experience Orchestration with the DX Engine

Conscia offers an Experience Orchestration Engine (the DX Engine) that sources and assembles content from any existing headless system of record such as Contentstack, Cloudinary, Commercetools, Talon.One, and delivers a personalized experience to any channel through a single, unified Experience API. The real-time decisioning performed by the engine can be managed and controlled by non-technical members of the team through an intuitive interface, which offers both rule-based and AI-enabled features.

Experience Studio - Managing Omni-Channel Experiences

Conscia offers an intuitive business user interface, Experience Studio, to manage and control who sees what content when and where. To help developers and marketer collaborate with each other and align on terminology, we've defined a headless experience framework that consists of components, templates, channels, and connections.

Here is how each of the above elements of the Headless Experience Framework connect to each other.

Headless Experience Architecture

Logical Components and UI Components

Component are used to read data from some data source or write data to some other system. Components that are responsible for providing data to the front-end are referred to as UI Components. Components that simply perform some logical operation such as calling a CDP to retrieve a customer record so that it can be parsed and made available as Context to another Component are referred to as Logical Components.

Important Note

When the calling client to the DX Engine is for a UI-based application, it is important to understand that the DX Engine is Front-End Agnostic. Each Component delivers a JSON response. DX Engine components do not deliver any markup - the manner in which the front end renders itself is not a concern of the DX Engine. You can think of the DX Engine Components as a data source for your front-end visual components.

For instance, if you have a header banner visual Component on the frontend, the DX Engine Component is simply providing the data and content necessary to render that Component on the front end. A DX Engine Component connects to a backend API such as a headless CMS, a DAM or a Commerce Engine and sources data directly from that backend in real-time based on the experience logic configured by your marketing team.

A Component can be mapped to a backend data or content source to retrieve data from it. For instance, a 'Header Banner' Component maybe mapped to a CMS (e.g.Contentstack, Contentful, Sitecore, etc.), while a video Component may be mapped to DAM (e.g. Cloudinary).

Here are some examples of the types of available Components:

Static Record List

A Static Record List Component allows business users to hand select a list of content records or products from a backend system.

Dynamic Record List

A Dynamic Record List component returns multiple records, though in contrast to a static record list (where users select a curated set of records), records are returned based on dynamic query. The dynamic query can be configured using an intuitive query builder.

Intelligent Record List

These are intelligent recommendations sourced from one of the following Cognitive Services:

  • Intel - Conscia's own AI and Analytics Engine
  • External Cognitive Service such as AWS, Azure, Google.

Experience Rules

Each Component can behave differently depending on the real-time Context provided to it. The Experience Studio exposes an intuitive interface for marketing users to define experience rules, which determine what data or content is retrieved from the backend. This is how the Personalization use case is addressed by the DX Engine.

Channels

You can create and manage experiences for any channel using Conscia’s DX Engine. You can define an unlimited number of channels such as Web, Mobile, Search, Chatbot, Kiosks, etc. A Channel can have one or more Template.

Templates

The Experience API allows you to organize Experiences into Templates, which are re-usable across Channels. You can map one or more Components to a Template. It is important not to confuse this abstract view of a template with a web-centric idea of a Template. A Template is simply a way to organize Components so that business teams can manage the logic for them in an intuitive way and developers can retrieve them as a group with one API call where it makes sense.

A Template can support an experience no matter what the channel maybe. For example, a web-based home page may have featured banner, main article and welcome message. A native mobile app may want the same information as the web-based homepage above.

Another example could be a Template for Voice Search, which may provide a list of product results as well as the address for the nearest store to the customer.

Connectors and Connections

Most Components reference a Connection so that they can fetch (or sometimes even modify) data in a source system. A Connection is configured with information about what to connect to (e.g. search engine index or environment in a CMS) and how to connect to it (e.g. credentials, API tokens). Multiple Components may refer to the same Connection.

Certified Connectors

The following connections are supported as of December 2022:

Content Platforms:

  • Agility CMS
  • Contentful
  • Contentstack
  • Strapi
  • Sitecore XM
  • Sitecore Content Hub One
  • Kontent.ai
  • StoryBlok

Commerce Platforms:

  • BigCommerce
  • commercetools

Digital Asset Management:

  • Cloudinary

Search:

  • Opensearch
  • Elasticsearch
  • Algolia (Coming Soon)
  • Lucidworks

Promotions Engine:

  • Talon.One
  • Voucherify (Coming Soon)

Universal API Connector

Conscia offers a Universal API Connector which allows for reading from (or writing to) and webservice-enabled datasource. This allows organizations to personalize/orchestrate with data sources that unique to them and/or are not already offered as a pre-built Connector.

Conscia's Experience Engine enables organizations to use any headless/API-first platform of their choice as the source for content, data or business logic. For this reason, we offer a zero-code approach to our partners and customers to create new connections.

Documentation Coming Soon

Context

A context can be something as simple as the real-time location of the customer, or a list of Brand Affinities from the Customer's persistent profile, that you can use to go grab a relevant set of product recommendations. User’s or application’s real-time context can be passed to each Component within the DX Engine.

API Orchestration

Digital Experiences often require an orchestration of various systems and applications. For example, consider a scenario where your customer profile is sitting in a Customer Data Platform (CDP) such as Segment. Segment holds on to customer traits such as 'brand affinity', 'product affinity', 'churn propensity', etc. When the customer comes to your website, you want to offer them a personalized experience.

Let’s say you want to offer personalized promotions (managed in Talone.One) and content (managed in Contentstack) to a customer based on their current cart contents as well as their historical purchases, customer segment and other profile attributes that live in a CDP (or a customer database). As for promotions, you also want to aggregate all of the promotions that the customer qualifies for and present to them on the front-end. This requires calling multiple systems in a very specific sequence i.e there are dependencies between API calls. Output from one call needs to be presented as an input to another API call. The following diagram demonstrates the sequence of API calls that must be orchestrated.

alt-text

How would you typically do this? Whether you’re using GraphQL, API Gateways, proprietary software like Mulesoft and Boomi, or simple Node.js backend, there is a whole bunch of custom code required - this takes time, money and very expensive resources.

Conscia offers a zero-code alternative to the custom build solution, reducing the dev effort required to build complex API orchestration logic in your backend.

Performance Considerations

The DX Engine is responsible for orchestrating many API calls for various backends. Some of these calls are dependent on each other i.e they need a response from another API before they can be called. Others calls can be made in parallel.

The DX Engine creates a dependency graph of all the APIs based on the logic configured within your API flow. This ensures that the performance is optimized for your overall API query.

Secondly, each component that makes a request to a backend can be provisioned with its own independent caching strategy. If you are making calls to slower backends that don't change very often, you can configure a longer cache invalidation period. You can also configure your caching strategy to reduce the load on any backend system to reduce the overall cost of your API calls.

The combination of caching and optimization of calling sequence together ensures the best possible performance.

A Single Experience API for ANY Frontend

The rise of Composable Commerce means that the number of best-of-breed applications that organizations have to manage and build experiences against has and will continue to rise. One challenge that naturally emerges from this revolution is that developers must integrate the frontend with each of the vendor APIs.

Conscia simplifies the presentation layer with a single unified API response so that the front-end can simply interface with the DX Engine, which in turn takes care of connecting to and assembling content and data from multiple backend systems.

Here is how Conscia fits into your overall Digital Experience Stack.

alt_text

Embedding the DX Engine within existing applications

Conscia offers an intuitive interface to business users and digital teams to create and manage cross-channel experiences. There are times when it makes sense to embed this capability into an existing CMS, Commerce or Loyalty platform to provide a seamless experience to business users.

Important Note

If you are orchestrating an omnichannel, multibrand, multiregion journey for your customers and you are sourcing content from more than one source, it is better to use the DX Engine as a standalone UI. This will ensure that all of your experience logic is centralized and is not tied to any one channel or any one content source.

Conscia's UI is built on Management APIs which are also exposed to our partners and customers to create their own admin interfaces or call the APIs programmatically. These APIs are documented here:

Experience API Reference