Create a code repositories integration

Create a code repositories integration that connects Datafold to your Looker repository.

Create a Looker integration

Navigate to Settings > Integrations > Data Apps and add a Looker integration.

Add New Integration
Looker Integration Form

Complete the configuration by specifying the following fields:

Field NameDescription
Integration nameAn identifier used in Datafold to identify this Data App configuration.
Project RepositorySelect the same repository as used in your Looker project.
API Host URLThe Looker API Host URL. It has the following format: https://<instance_name>.cloud.looker.com:<port>. The port defaults are 19999 (legacy) and 443 (new), see the Looker Docs for hints. Examples: Legacy (https://datafold.cloud.looker.com:19999), New (https://datafold.cloud.looker.com:443)
Client IDFollow these steps to generate Client ID and Client Secret. These are always user specific. We recommend using a group email for continuity. See Looker User Minimum Access Policy for the required permissions.
Client SecretSee Client ID.
Data connection mappingWhen the correct credentials are entered we will begin to populate data connections in Looker (on the left side) that will need to be mapped to data connections configured in Datafold (on the right side). See image below.
Looker Configuration

When completed, click Submit.

It may take some time to sync all the Looker entities to Datafold and for Data Explorer to populate. When completed, your Looker assets will appear in Data Explorer as search results.

Looker Sync Results

TIP

Tracking Jobs explains how to find out when your data app integration is ready.

Looker user: minimum access policy

The user linked to the API credentials needs the predefined Developer role, or you can create a custom role with these permissions:

  • access_data
  • download_without_limit
  • explore
  • login_special_email
  • manage_spaces
  • see_drill_overlay
  • see_lookml
  • see_lookml_dashboards
  • see_looks
  • see_pdts
  • see_sql
  • see_user_dashboards
  • send_to_integration

Database/schema connection context

Database specification

Using the Fully Qualified Names in your Looker view files is not always possible. If a view references a table asmy_schema.my_table, Datafold might have difficulty finding which database this table actually is in. There are multiple ways to guide Datafold to make a correct choice, as summarized in the table below.

INFO

Priority #1 takes precedence over #2, and so forth.

#Source, if definedExample
1datafold_force_database User Attribute in Lookerlooker_db
2Fully Qualified Names in your Looker view filesmy_db.my_schema.my_table
3datafold_default_database User Attribute in Lookeranother_looker_db
4Database specified in Looker, at Database connection settings_(We can only read these if Datafold connects to Looker via an admin user, which is probably suboptimal.)_my_db
5Database specified in Datafold, at Database Connection settingsmy_db

Supported custom Looker user attributes

User AttributeImpact
datafold_force_databaseDatabase to use in all cases, even if a fully qualified path in LookML refers to another database.
datafold_default_databaseDatabase to use if Looker View does not explictly specify a database.
datafold_default_schemaSchema to use if Looker view does not explicitly specify a schema (which equals a dataset for BigQuery).
datafold_default_host(BigQuery only) Default project name.

INFO

Make sure attributes are:

  • Explicitly defined for the user in question (not just falling back to a default);
  • Not marked as hidden.

Integration limitations

Datafold lets you connect to Looker and extend our capabilities to your Looker Views, Explores, Looks, and Dashboards. But this is a new feature, so there are some things we don’t support yet:

  • PDT/Derived Tables:Datafold only works with the tables that come from your data connections, but not with the tables that Looker makes from your SQL queries.
  • Merge Queries: Datafold supports the Queries and Looks that make up your Dashboards, but Merge Queries are not one of them. For some use cases you could achieve the same by joining the underlying views with an explore.
  • Usage metrics and popularity: Datafold shows you your Looker objects - such as dashboards, looks, and fields - but not how much you use or like them.

We are improving our Looker integration and adding more features soon. We welcome your feedback and suggestions.