# Data integrations


> Salesforce, Airtable, Power BI, Grafana, calendars and Shopify: what each one unlocks, and what to know before connecting it.
Each of these backs one or more apps in the [App store](/docs/apps/). Connect it under **Settings**, then **Integrations**, and the app's setup form changes: instead of a token field, you get a list of your own things to pick from.

## Salesforce

Dashboards and reports on a screen.

Requires our **managed package** installed in your Salesforce org first, and the connection is scoped read-only. There is a Sandbox variant for testing against a sandbox org.

Reports are adapted to the screen: detail rows become a table, grouped reports become a chart, and a single aggregate becomes a KPI card.

## Airtable

A base view on a screen, as a grid or a Kanban board.

When authorising, you choose between granting access to everything you can see or picking specific bases. Picking specific bases is the better habit, and it means adding a base later needs re-authorisation.

> [!IMPORTANT]
> A maximum of **100 records** are fetched per refresh. A view with more than that is truncated, silently, so filter the view in Airtable rather than relying on Screenly to show everything.

## Power BI

Reports and dashboards on a screen, authorised through Microsoft.

There are two Power BI apps. The current one uses this integration. A **legacy** app still exists that wants an Azure AD client ID and secret, a tenant ID, a group ID and a report ID entered by hand. Use the current one unless you have a reason not to.

## Grafana

Dashboards on a screen. This is the one that is not OAuth: you generate a service account token in Grafana and paste it in. See [Grafana](/docs/integrations/for-apps/grafana/).

## Google Calendar and Outlook Calendar

The day's meetings on a screen, in a room or by a door.

Connecting lets a calendar app offer your calendars by name. Without it, calendar apps can still work from a published iCal address, which is the route when the calendar belongs to someone who will not authorise anything.

## Shopify

Asks for your **store domain** before authorising, because the authorisation address is built from it.

## Slack

Slack is here too, and it also drives offline alerts. One connection covers both. See [Slack](/docs/integrations/notifications/slack/).

## If a service is not listed

An app can still ask for a credential directly, stored as a [secret](/docs/apps/setting-up/settings-and-secrets/). Or ask us to build the integration: see [Request an integration](/docs/integrations/beyond/request-an-integration/).