Webhooks are a modern, increasingly common way to trigger exchanges between internet-based services. With a web service like Zapier, webhooks can let Looker data be delivered to a wide range of applications; for example, you may be able to schedule periodic delivery of a Look or dashboard to a webhook. When you set up a delivery, Looker will prompt you for the webhook address.
Depending on how your Looker admin has configured your permissions, the default delivery destination may be email, and this setting may not be visible.
Setting Up a Webhook
To set up a webhook, go to your web service and do the following:
- Obtain a URL where Looker should send an HTTPS request.
- Specify a destination application for your Looker data delivery. The destination application may require additional configuration in order to receive data from Looker.
The exact procedure differs depending on what web service and destination application you’re using to deliver the data. See this Looker Community topic on Scheduling Looks and Dashboards Using Webhooks (3.46+) for guidelines on setting up another application to receive the webhook data from Looker.
Looker will attempt delivery to a webhook for a maximum of 30 minutes. Ensure that the destination can respond within 30 minutes to the webhook delivery attempt.
Once these elements are in place, you can immediately send data to a webhook from an Explore, a Look, or a dashboard using the Send option. This lets you send data right away, without setting up a schedule. In the case of an Explore, you can send a query immediately, without having to save the query to a dashboard or a Look.
If your Looker admin has given you the proper permission, after you choose Send from the gear menu you will see the option for Webhook in the Where should this data go? section:
The following sections explain each setting for sending data to a webhook destination. For a description of all sending options, see the Sending Data Now documentation page.
Naming Your Delivery
Give the content a unique title in the Title field. The title is included in the webhook payload under the Title field.
Delivering to Webhook
In the Where should this data go? section, choose Webhook. In the Webhook URL section, enter the URL where Looker should send an HTTPS request for this delivery. You can obtain this URL from the web service you're using to handle your webhook.
Formatting the Data
In Format data as, choose the format for the data in your delivery.
For dashboards, you can choose:
- PDF: Your dashboard in PDF format. The default layout displays tiles as they are arranged in the dashboard, but other layout and sizing options are available under Advanced Options.
- Visualization: A visualization of your dashboard in a single image file. The default layout displays tiles as they are arranged in the dashboard, but other layout options are available under Advanced Options.
CSV ZIP file: The unformatted data from your dashboard, delivered as a collection of comma-separated values (CSV) files in a zipped directory.
For Looks, you can choose:
CSV: Your Look's data table as a comma-separated text-file attachment.
- XLSX: Your Look's data table as an Excel file attachment.
- JSON — Simple: Your Look's data table as a JSON file attachment.
- JSON — Label: Your Look's data table in JSON format, using your dimension or measure’s label in its output.
- JSON — Simple, Inline: Your Look's data table submitted directly in JSON format.
- JSON — Detailed, Inline: Your Look's data table submitted directly in JSON format, with additional details such as field metadata, cache information, the time when the query was completed, and how long it took the query to run.
- Text: Your Look's data table as a tab-delimited text-file attachment.
- HTML: Your Look's data table as an HTML file attachment.
Applying Filters to the Delivery
If you are delivering a Look or dashboard that has filters, you can filter the results delivered to each set of recipients. For example, you might send regional teams results that are filtered for their states of interest:
Click Filters to see and modify the filters associated with this Look or dashboard for your data delivery. Changing these filter options in the Send or Schedule window does not change the filters in your Look or dashboard. If a dashboard filter requires a filter value and the schedule filter is blank, a schedule will display no results upon delivery.
If you change field names that serve as filters in your Looks or dashboards, be sure to review the Filters section of your scheduled Looks and dashboards and update the filters as needed to reflect your changes. If a scheduled content delivery includes filters that no longer function (for example, if the referenced field has changed), the scheduled delivery could expose unfiltered data.
To make custom deliveries even easier, you can use the matches a user attribute filter option if your Looker admins have configured user-specific values, called user attributes. Setting a filter to one of these attributes automatically customizes the results for each user, meaning that you can send customized results to many users even if you select Send only once. You can read more about user attributes here.
Using Advanced Options
The Advanced options section provides additional customization for your delivery. Click the arrow next to Advanced options to expand this menu.
When sending Looks and Explores, you can limit the size of your delivery. Select one of the following limit options for your data:
- Results in Table: Data is sent as a single delivery.
- All Results: Data is streamed (see more in this Help Center article). This is useful for large datasets, as it bypasses file-size, browser, and memory limitations.
If you choose "Results in Table," Looker will obey whatever row limitations you've set up in the saved Look or the Explore. If you choose "All Results," Looker will return all the rows of the query, regardless of any saved Look settings, and regardless of Looker's typical 5,000 row limit. This can be desirable for retrieving very large datasets, but you should use caution to ensure the query is not too large for your database.
By default, email data deliveries include a link that reads "View this data in Looker":
This link lets the email recipients further explore the data on your Looker instance. If you want to remove this link from your data delivery emails, set Include Links to No.
Streaming Query Results
Streaming refers to Looker's ability to process data in chunks, rather than all at once. If Looker can stream a result set, then unlimited downloads are possible and you can send All Results. In addition to the format requirements mentioned above, there are two cases where streaming is not possible:
- Table Calculations: Table calculations cannot be streamed. Therefore, to download unlimited results for a query, you must remove table calculations from the query.
- Database Limitations: Some databases cannot stream if pivots are included in the query. For these databases, you must remove pivots to download unlimited results. Some databases can't stream any results, which means that unlimited downloads are not possible. Below is a list of what databases support streaming, as well as databases that support streaming with pivots applied:
Apply Visualization Options
For Looks, Explores, and CSV-formatted dashboards, you can configure whether you want the data delivery to use the same options as your visualization:
Select Apply visualization options to apply some of the visualization settings to your delivery, causing your delivery to appear similar to a table chart. Any of the following settings in the Plot, Series, and Formatting menus that are configured for the visualization will be applied to the data delivery:
- Show Row Numbers
- Hide Totals
- Hide Row Totals
- Limit Displayed Rows to a maximum of 500 rows shown or hidden
- Show Full Field Name
- Custom labels for each column (note that JSON files will always use raw field names, not the field label)
- Conditional Formatting for deliveries of table chart visualizations in Excel format
Conditional formatting will display in Excel deliveries of Looks and Explores with table chart visualizations only if the Along a scale rule is applied.
- Unselect Apply visualization options if you do not want these visualization options applied. Looker sends the data as it appears in the Data section of the Look or a dashboard tile's Explore from Here window.
Formatted Data Values
For Looks, Explores, and the CSV format of dashboards, you can configure the data's formatting:
- Select Formatted data values if you want the data to appear more similar to the Explore experience in Looker, although some features (such as linking) aren't supported by all file types.
- Unselect Formatted data values if you do not want to apply any special formatting of your query results, such as rounding long numbers or adding special characters your Looker developers may have put in place. This is often preferred when data is being fed into another tool for processing.
Single Column Layout
For dashboard deliveries in PDF or Visualization format, you have the option to print your PDF in a single column layout, which displays dashboard tiles in a single vertical column. Check the Use single column layout box to use this option, or leave the box unchecked to show the tiles as they are arranged in the dashboard.
To display all rows of a data table — rather than just those rows that display in the dashboard tile thumbnail — in a PDF dashboard delivery or download, check the Expand tables box. If you do not see the Expand tables option, talk to your Looker admin about installing the latest version of the Chromium renderer for your Looker instance.
You have the option to specify the optimal size and orientation of dashboard PDFs by selecting from the Paper size drop-down menu. Large visualizations or groups of overlapping dashboard tiles may need to be resized to fit cleanly on a PDF page. If you do not see the Paper size option, talk to your Looker admin about installing the latest version of the Chromium renderer for your Looker instance.
Send Your Content
When you have selected all the options for your delivery, click the Send button to send your content.