Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 81 additions & 0 deletions docs/Guides/integrations/embeddable.md
Original file line number Diff line number Diff line change
@@ -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 = '<your API Key>';
const connectionName = '<some unique name>';
const BASE_URL = 'https://api.<your-region>.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: '<Your Firebolt database name>',
account: '< Your account name>',
engine_name: '<Your Firebolt engine name>',
id: '<Your service account ID>',
secret: '<Your service account 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).