diff --git a/docs/Guides/integrations/embeddable.md b/docs/Guides/integrations/embeddable.md new file mode 100644 index 000000000..6d03abd64 --- /dev/null +++ b/docs/Guides/integrations/embeddable.md @@ -0,0 +1,81 @@ +--- +layout: default +title: Embeddable +description: Learn about connecting Embeddable to Firebolt. +nav_order: 16 +parent: Integrate with Firebolt +--- + +# Embeddable + +[Embeddable](https://embeddable.com) is a developer-first toolkit for building lightning-fast, fully-custom analytics directly inside your product. Its headless architecture lets you craft analytics that look and feel native, while product, data, and customer-facing teams can iterate on dashboards without engineering bottlenecks. + +When paired with **Firebolt**, Embeddable lets you serve interactive dashboards over huge datasets while keeping millisecond-level response times for your end-users. + +--- + +# Prerequisites + +Embeddable is a managed SaaS platform, so most deployment tasks are handled for you. + +You’ll need: + +* **Embeddable workspace**: [Set up an account](https://embeddable.com) and create a workspace. +* **Firebolt Account**: You need an active [Firebolt account](https://www.firebolt.io/). +* **Firebolt** service-account **client ID** and **client secret** (see [Service accounts](../managing-your-organization/service-accounts.md)). +* A Firebolt **database**, **engine** and **loaded data** you want to visualise (see [Loading data](../loading-data/loading-data.md)). + +> **Network policy** +> Ensure the service-account’s network policy allows ingress from the fixed [Embeddable IP ranges](https://docs.embeddable.com/data/connect-your-database#ip-whitelisting). + +--- + +# Quick-start + +## 1. Set up your Embeddable account + +Follow the [Quickstart Guide](https://docs.embeddable.com/getting-started/download-repo) to set up your Embeddable workspace and local environment. + +--- + +## 2. Connect Firebolt + +Use the [Connections API](https://docs.embeddable.com/data/connect-your-database) to connect Firebolt, obtaining your API key from the homepage of your Embeddable Workspace. + +```javascript +const apiKey = ''; +const connectionName = ''; +const BASE_URL = 'https://api..embeddable.com'; + +const resp = await fetch(`${BASE_URL}/api/v1/connections`, { + method: "POST", + headers: { + 'Content-Type': 'application/json', + 'Authorization': `Bearer ${apiKey}` + }, + body: JSON.stringify({ + name: 'e.g. firebolt-prod', + type: 'firebolt', + credentials: { + database: '', + account: '< Your account name>', + engine_name: '', + id: '', + secret: '', + }, + }), +}); +``` + +## 3. Define your data models + +You can now [define your data models](https://docs.embeddable.com/data-modeling/defining-models) in preparation for building customer-facing dashboards, and test these in the Data Playground tab of your Embeddable Workspace. + +## Next steps + +Congratulations! You’re now ready to model, visualise and embed! + +**Further reading** +- Implementing [row-level security](https://docs.embeddable.com/data-modeling/row-level-security). +- [Building dashboards](https://docs.embeddable.com/dashboards/building-dashboards). +- [Embedding with JWT](https://docs.embeddable.com/deployment/embedding). \ No newline at end of file