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 to which 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 Community topic 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.
Creating and Editing Schedules
After starting a schedule, Looker displays a dialog box with your scheduling choices. If your Looker admin has given you the proper permission, you will see the option to deliver to a Webhook. Here is an example of a Schedule dialog box for a dashboard:
The following sections explain each scheduling setting for a webhook destination. For a description of all scheduling options, see the main scheduling documentation page.
Naming Your Delivery
Give the content a unique title in the Give your schedule a name 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 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 for Webhooks
The Advanced options section provides additional customization for your schedule. Click the arrow next to Advanced options to expand this menu.
For Looks not using the JSON—Detailed, Inline format, you can add conditions for when the data will be delivered:
- Send this schedule if: You can send the data only if there are results, only if there are no results, or in either case. With this option, you can send data deliveries only when the filters of your Look are met (or not met). For example, you can create filter conditions for situations you want to monitor, such as items that are below a certain amount in inventory, expenditures that are above a certain value, and so forth.
- and results changed since last run: This option cuts down on unnecessary data deliveries. Looker sends the data only if the query results have changed since the last data delivery was sent. This option is not available if you want to use the All Results limit option.
When scheduling Looks, 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. If you choose All Results, Looker will return all the rows of the query, regardless of the 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.
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 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 Chromium renderer for your Looker instance.
By default, Looker uses the time zone associated with your account to determine when to send your data delivery. If you don't have a time zone associated with your account, Looker will use your Application time zone. If you want to specify a different time zone, select Use custom timezone. The time zone you select does not affect the data in your Look or dashboard, just the timing of the delivery.
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 Chromium renderer for your Looker instance.
Other Scheduling Options
To learn more about other types of data delivery, see the page for each destination option: email, Amazon S3 bucket, SFTP, or one of several integrated services.