Orgs, Customers, Apps & Channels
To best understand Elarian, you need a good understanding of what Orgs, Customers, Apps, and Channels are and how they interact with each other within the context of the platform. This will help you to get started with building different engagement flows quickly.
Your Elarian account has the hierarchy above. You can think of a workspace like a company, and a workspace has organizations that you could think of as different branches of the company; you'll spend most of your time in an organization.
Customers belong to an organization, and organizations also own the apps and channels you'll use while engaging your customers.
An organization - identified by a unique
orgId - is the root owner of data in Elarian. As mentioned earlier, Orgs contain customer profiles, engagement data, and the apps and channels used for engagement.
Orgs cannot share data. So, for example, if one customer engages with two different organizations, Elarian will create two distinct customer profiles per Org.
Customers are the center of operations with Elarian, and you will issue commands from the perspective of a single customer. While coding, we provide programmable customer objects, which you can think of as a robust interface to issue engagement commands to, and query a single customer's state.
Here is a visual representation of the customer object Elarian maintains and lets you program against:
You can store isolated customer data using apps identified by a unique
appId. An app will represent a use case you're working on, and an example would be a survey application or a loyalty program application.
While establishing a connection to Elarian, you will provide an
appId indicating which application should store any arbitrary customer data you would like. For example, in the case of the survey application, you could store how many questions the customer has responded to so far.
A customer can have multiple instances of app data linked to them, e.g., the survey app and the loyalty program app. The
appId passed while establishing a connection determines the instance of the customer's app data that will be made available. Another way to think about this is establishing connections to different databases, only that the database (app data) stores information for a single customer.
Channels are what enable you to reach out to a customer. These are the various communication options made available to your application, WhatsApp, Voice, Mobile Payments e.t.c
Elarian uses a Bring Your Own Channel model, meaning we don't provide channels ourselves but integrate to various service providers and enable you to configure Elarian to use your channel from a respective provider.
Configuring channels in Elarian is relatively easy. All you need to do is provide the channel information, including authentication details to allow Elarian to control the channel on your behalf.