Embedded Analytics for any SaaS Platform
Integrating BI directly into your SaaS application creates a seamless experience for users: they don't need to switch between different tools or log in to a separate BI platform.
Not every BI tool is suitable for this purpose because SaaS (multi-tenant) apps has own specifics:
- Embedded reports should provide real-time access to data, enabling users to make data-driven decisions instantly rather than relying on static reports. This is particularly important for SaaS applications that involve dynamic or rapidly changing data.
- Report's data should be fully controlled by your SaaS app to guarantee data security and compliance with privacy regulations.
In many cases this means on-premise BI tool deployment as a most convenient way to guarantee that data breaches of sensitive data are impossible.
- SaaS apps can differently store tenants data. This can be a one (shared) database when customer's records are separated by a special column (like
tenant_id
, instance_id
etc), or each tenant may have its own database (or even separate DB server). A suitable embedded BI
should strongly support tenant's data isolation to guarantee that reports include only relevant data.
- Embedded BI solution should support customizations to match your SaaS app's branding and user interface to create a consistent user experience inside the app.
This is usually covered by 'white-labeling' capability.
SeekTable Embedded perfectly satisfies all these requirements:
- SeekTable always connects to databases as live data sources (ROLAP/DirectQuery mode), providing near real-time reporting for end-users.
- SeekTable embedded is an on-prem product hosted on your server; this gives complete control over your app's data, ensuring its security and privacy.
By hosting SeekTable on your own infrastructure, you can optimize it for your specific load and guarantee the same availability/SLA as for your own SaaS app.
Self-hosted SeekTable is distributed as docker images, it is really easy to deploy and maintain (upgrade) the installation.
- SeekTable's secure embedding mechanism is suitable for all typical SaaS app architecture (shared database/dedicated database/hybrid).
Technically it is possible to apply extra query conditions to filter tenant's data or even use another connection string depending on the
security context that comes from the host SaaS app.
The same reports/dashboards can be used for all tenants, showing only relevant data according to the viewer's context.
- With white label mode it is possible to style reports to match your SaaS app and they can look like a seamless part of your product: end users will not ever know that these reports are provided by an embedded BI solution.
- SeekTable has on-demand pricing, so you can pay only for capabilities you need. The solution is affordable even for small businesses.
Typical embedded BI usage scenario:
-
BI deliverables - like data connections, data models, reports, dashboards - are created and managed in a code-less way by the IT team (or dev team).
Usually, all changes are made & tested on dev/staging environments, and released on prod implicitely.
SeekTable fully supports this flow with account's data backup/restore (can be automated with API).
-
To show reports/dashboards inside the SaaS app they should be "published",
in this way SaaS app user can access them without need to login into the BI app.
Techically this is a special link that can be used inside iFrame.
To protect sensitive data from unauthorized access SeekTable supports JWT-based authentication: your SaaS app
generates a JWT token that may include context variables (like user_id, company_id, role whatever). This token
is signed/encrypted with secure industry-proven algorithms (SHA256/SHA512, AES128/AES256) and can have a limited lifetime;
on the SeekTable side it is verified, and the report/dashboard is shown only if JWT token is valid.
- Finally, published reports/dashboards are placed on appropriate web pages of the SaaS app (via iFrame).
Menus/navigation links to these reports are fully on your SaaS app side.
Quick start proof-of-concept setup steps
- Deploy self-hosted SeekTable: any Linux server (VM) that can run docker containers is suitable. If you use AWS, it is possible to start an AWS EC2 instance with SeekTable from AWS Marketplace in a few clicks.
Instructions: Self-hosted SeekTable setup.
- Create a user account on your SeekTable instance (via signup form).
- Connect to your database and create a test cube. For this purpose you need to know a connection string (a read-only access is recommended)
and test SQL query that loads columns you need in reports. For testing purposes this could be something simple like
select * from orders
.
- Create some meaningful reports you want to display for your SaaS app users.
Then publish them to web (Report→Share→Get Link), it is already possible to display these reports inside your SaaS app in an iFrame.
- Contact us and ask for free 14-day trial to activate a set of subscriptions needed for embedded usage scenarios.
- Setup secure embedding and implement JWT generation on your SaaS app side (auth token included into report's URL of iFrame's "src").
- Configure special report parameters in your cube to filter concrete tenant's records, and then
include values for these parameters into JWT payload.
- Don't hesitate to contact us if something is unclear and assistance is needed!