Getting Started
Basic Concepts
Advanced Concepts
How-to Guides
Building integration flows
Data transformation
Integration patterns
Developing Components
Tenant Management
CRM Components
ERP Components
E-Commerce Components
Basic Components
Utility Components
Component Descriptor
Covered in this article
Related articles
Contracts and Workspaces Understanding credentials Data Sample Overview Creating your first integration flow Getting Started What is an integration component? What is an integration flow? Take a tour of the product Creating a webhook flow Building a component in Java Building a component in Node.js Content-Based Routing Deploying a component How-to Guides Managing flow history Managing OAuth Clients Managing user roles in a tenant Managing Workspaces Mapping data Building real-time flows Sending data to a list of recipients REST API component Managing your SSH keys Managing your Teams/Components Allmysms component Amazon MWS component AMQP component AppDirect Component AWS Lambda component AWS SNS component Bazaarvoice component ChannelAdvisor component Code component Configuration component CSV component Docusign component Dun-and-bradstreet component Ebay component Edifact-parser component Email component Exact Online component Filter component Google PubSub component Google-shopping component Google-translate component Goto-webinar component Google Spreadsheets component Components JDBC Component JDBC Component JDBC Component Jsonata component Key-value-component component Ldap component Lightspeed-ecom component Lightspeed-retail component Lionbridge-translation component Magento1 component Magento2 component Mailchimp component Mandrillapp component Mapper component Microsoft Dynamics CRM component MsSQL component NetSuite component ODATA component Outlook component Petstore-nodejs component Pipedrive component Postgresql component Quickbooks-component component Request-reply component Rest API component Router component Salesforce-cpq component Salesfoce Component Sdl-translate component Sftp component Shopify-admin component Shopware component Simple-trigger component Smarty-streets component Soap component Splitter component Stripe component Sugar-crm component Timer component Twitter component Webhook component Xml component Component Descriptor Structure References Sailor compatibility matrix View Classes

What is a tenant?

The platform is based on a multi-tenant architecture in which multiple virtual instances of the same integration platform are operated in a shared environment. A tenant represents an isolated and customizable instance of the same platform which is separated logically from all the other tenants, but not physically. The logical separation is accomplished by:

  • unique domains to access the platform’s capabilities
  • isolated set of users within the platform
  • independent customization parameters

Unique domains

One of the most important separation characteristics of a tenant is its domain used to access the application. Once user logged in into a tenant using its application url, all the work is done within the boundaries of this tenant. Apart from the web application domain used by users a tenant is logically isolated from the others by 3 more other domains used for REST API, Webhook based flows and a Git URL used to push integration components into the tenant.

Separation of users

Users are identified by their email addresses in the platform. Since users of a tenant are logically separated from all the other users in all the other tenants, it’s possible to register the same user email multiple times in the system. However, a user’s email is unique within a single tenant.

Customization parameters

A tenant maybe configured with a set of different parameters. The most interesting in this article are:

  • Custom CSS file to provide the tenant with a unique look and feel
  • Custom favicon
  • Custom logo
  • Individual set of integration components available in the tenant
  • many other parameters to tweak tenant’s behaviour