The Looker extension framework is a development framework that significantly reduces the effort and complexity of building custom JavaScript data applications and tools, such as:
- Internal platform applications for your company
- External platforms for your customers, such as customer portals for Powered By Looker (PBL) applications built with data in Looker
- Targeted internal tools
- Applications to embed in external applications
Custom applications and tools created with the extension framework can be accessed from within Looker, allowing Looker to handle functions such as authentication, access control and permission management, and API access. This also lets you leverage other common developer resources, such as third-party API endpoints, within Looker.
Extension framework features
The Looker extension framework includes the following features:
- The Javascript SDK, which you can use to provide Looker public API access.
- Looker components, a library of pre-built TypeScript UI components you can use in your extensions.
- The embed SDK, a library of functions you can use to embed dashboards, Looks, and Explores in your extension. See the kitchen sink extension for example code. You can also use the embed SDK to embed your extension into third-party applications by adding the prefix
/embed
to your extension URL. Cookies must be enabled in the browser when embedding Explores, Looks, or dashboards into an extension. The ability to access third-party API endpoints and add third-party data to your extension, or to use external development services:
See the kitchen sink extension for an example of a Looker extension.
The ability to create full screen extensions within Looker:
Full screen extensions can be used for internal or external platform applications. You can use Looker’s existing authentication options for sign-in (such as password login, LDAP, SAML, and Open ID Connect). In a full screen extension, you can prevent a set of users from navigating to other parts of Looker from your extension by adding users to an Extensions Only user group. You can also remove the Looker navigation bar by replacing
/extensions
with/spartan
in the extension URL.- The ability to configure an access key for your extension so that users must enter a key to run the extension.
Extension framework requirements
To develop using the Looker extension framework:
- You will need LookML developer permissions to your instance.
- Looker admins must enable the Extension Framework and Local Project Import Labs features.
- We recommend familiarity with JavaScript or TypeScript (our examples are written in TypeScript but can be converted to JavaScript).
- If you will be building components, we recommend familiarity with React.
Resources for developing with the Looker extension framework
The following links provide instructions and examples for using the Looker extension framework:
- Getting started — Examples of the extension framework using the Looker APIs
- Getting started — Examples of using the extension framework features
- Getting started — Examples of the extension framework using the Looker APIs with React and Redux
- Getting started — Examples of configuring an access key for an extension
- Overview of APIs available in the extension SDK
- Extension framework React components
- TypeScript/JavaScript SDK for using Looker’s core APIs
- Using the embed SDK
Adding an extension to Looker
To make your extension available from your Looker instance, include the application
LookML parameter in your project’s manifest file. Using the kitchen sink extension example:
For details, see the application
parameter documentation page.
Granting permissions to use the extension
See the Setting Permissions for Looker Extensions documentation page for more information about how to grant users permissions to use extensions.