This documentation page is about delivering content from original dashboards, Looks, and Explores. For information about scheduling dashboards (beta), visit the Scheduling and Sending Dashboards (Beta) documentation page.
Looker lets you schedule periodic delivery of a user-defined dashboard, a Look’s visualization, or a Look’s data. Depending on how your Looker admin has set up your permissions for data delivery, you can schedule your data to be delivered to one of Looker’s native delivery destinations: email, a webhook, an Amazon S3 bucket, or an SFTP server. Depending on your permissions, you can also schedule a data delivery to a third-party service that is integrated with Looker, such as Slack.
If there are valid results in cache, Looker will deliver cached results. If there are no results or if the cached results have expired, Looker will rerun the query and those results will be cached.
Schedules are run off Production Mode LookML.
For information specific to each destination type, see the appropriate documentation:
- Scheduling Email Deliveries
- Scheduling Deliveries Using Webhooks
- Scheduling Delivery for Amazon S3 Bucket
- Scheduling SFTP Deliveries
- Scheduling Integrated Service Deliveries
- Scheduling Deliveries to the Looker Slack Integration
Customizing Data Deliveries
There are several ways to customize the delivery of your data. You can schedule a periodic delivery, such as delivering a certain dashboard every Monday. For Looks, you can create a schedule so that information is delivered only if the data has changed since the last delivery, or only if the query yields results. This last option is especially useful if you want to receive any new results as an alert. For example, if your Look has the query “orders over five days old that haven’t been shipped,” you can receive an alert only when a result is returned, letting you know there is an outstanding order that needs immediate attention.
You also can trigger a delivery to occur when a query’s datagroup parameter has been updated, or you can apply filters for your schedule.
Learn more about your scheduling customization options as you are creating and editing your schedules below.
You can also immediately send data directly from an Explore, a Look, or a dashboard with the same destination and formatting options that are available when scheduling data deliveries. This lets you send data right away, without setting up a schedule. In the case of an Explore, you can send a query immediately using all the destination and formatting options, without having to save the query to a dashboard or a Look.
Starting a Schedule
You can create a schedule for dashboards, Looks, and Explores.
If you are a Looker developer, you must turn off Development Mode to enable these scheduling options.
One option is to click Browse to find the content (dashboard or Look) you want to schedule. Then click the item’s three-dot menu and choose Edit Schedule (if there is already a schedule for the item) or Add Schedule (if there is not yet a schedule for the item).
Another option is to create a schedule for a dashboard, a Look, or an Explore while you’re viewing it. For Explores, click Save & Schedule to save your choices as a Look and then schedule that Look. For dashboards and Looks, click the gear menu in the upper right and choose Schedule:
For Looks, you can also click the Create Schedules link in the side panel of the Look:
From here, you can choose your delivery method, destination, and format.
Options and Formatting
When you begin creating a schedule, Looker displays a pop-up with your scheduling choices, similar to this one showing a scheduled delivery of a dashboard to a webhook in PDF format:
The left panel shows all schedules created for this content and highlights the title of the schedule you are creating or editing. If this is the first schedule you’re creating for this content, the main panel displays scheduling options set to their default values. You can modify those values as desired. If you have previously created one or more schedules for this content, the main panel displays its saved scheduling settings. Then:
To edit an existing schedule’s options, select that schedule and change the options as desired. When you are done, click Save All.
By default, the first schedule is selected and any changes made will overwrite that schedule.
To create additional schedules for the same content, click New + and enter the settings for that additional schedule. When you are done, click Save All.
The following sections explain each scheduling setting.
Naming the Schedule
Give the schedule a unique title in the Give your schedule a name field. The title will appear in the left panel after you save this schedule.
Choosing the Delivery Destination
Depending on how your Looker admin has configured your permissions, the default delivery destination may be email, and this setting may not be visible.
The Where should this data go? setting may display several destination options for data deliveries. Each destination offers different data formatting and other delivery options. For specific information about each destination’s settings, click the links below:
Once you’ve selected a data destination, a new setting field appears for you to add specific details about that destination, such as an email address or a webhook URL.
Choosing a Data Format
The data formats available for your schedule depend on the schedule’s destination. For specific information about each destination’s settings, click the links above to a destination’s documentation page.
You have two options to trigger deliveries.
- Repeating interval: Select this option to use the delivery schedule you set in the Timing the Schedule section.
- Datagroup update: If your LookML developer has configured datagroups, you can schedule delivery to occur after a datagroup has been triggered, has managed the cache, and has rebuilt relevant PDTs.
To use a Datagroup update trigger, choose the source datagroup from the Select Datagroup pull-down:
To schedule a Look or dashboard using a datagroup trigger, the Look or dashboard tile’s model file needs to include a datagroup parameter. Looker lists all datagroups defined in the models included in the given Look or dashboard tile, even if the datagroups are not used to handle caching for queries or PDTs.
In the case of dashboards, which may have multiple tiles associated with multiple datagroups, you are given the option to choose from any of the datagroups that are associated with the dashboard. The entire dashboard will be sent when the selected datagroup completes.
Schedules based on datagroups are only triggered to send once the regeneration process has completed for all PDTs that are persisted with that datagroup parameter, ensuring that your delivery includes the most up-to-date data.
Timing the Schedule
Customize the timing of your schedule in the Deliver this schedule section. The timing options change depending on whether you choose Daily, Weekly, Monthly, Hourly, or By minute. You can adjust the time zone for the schedule in Advanced options section.
The end time for Hourly and By minute intervals is not inclusive. The last delivery will be sent at the last selected interval prior to the specified end time. For example, if content is scheduled Hourly between 12:00 a.m. and 11:00 p.m., it will be sent on the hour, every hour, from 12:00 a.m. to 10:00 p.m. If content is scheduled By minute every 30 minutes between 12:00 a.m. and 11:00 p.m., the last delivery in that timeframe will be sent at 10:30 p.m.
If you have access to the Trigger options, the Deliver this schedule section appears when the Trigger is set to Repeating interval.
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 this on the User attributes documentation page.
Using Advanced Delivery Options
The Advanced options section provides additional customization for your schedule. Click the arrow next to Advanced options to expand this menu. The options available depend on the selected destination and format of your delivery, and whether you’re delivering a dashboard, a Look, or an Explore. See each destination’s documentation page for the options available for that destination.
Testing Your Schedule
Click the Send Test button to send a one-time test delivery to the specified destination.
Each saved Look or dashboard can have multiple schedules, and each user of that data has their own set of schedules. If a user edits or deletes one of their schedules, only their recipients will be impacted; other users might have other schedules related to that data.
Data formats available for scheduling will differ depending on whether you are scheduling delivery of a Look or a dashboard.
Creating Additional Schedules
If you want to create another schedule for the same content, click New +, change the new schedule’s default name if you want, and specify its scheduling options. Your schedules are listed by title in the left panel of the schedule dialog box.
Saving Your Schedule
When you are finished creating schedules for this content, click the Save All button to save your schedule and close the window.
As you navigate through folders, the listing for each Look and dashboard indicates whether you have scheduled that content.
Looker schedules data deliveries according to the time zone indicated in the Application Time Zone setting on the Admin Settings page, or, if enabled, the schedule creator’s User Specific Time Zone.
At times, a scheduled delivery could fail to reach one or more of its recipients. This could happen if the underlying model has an error, if the recipient does not have access to the data, or if there are rendering problems or page errors. The data destination reports an error if it is unable to connect to the specified endpoint. If such issues occur, Looker sends an email to notify the person who set up the schedule. The email includes a link to the scheduled content, a list of the recipients it failed to reach, and more information, if available, about the problem Looker encountered when trying to reach the recipient.
Delivery Considerations for Admins
Admins should bear some things in mind when setting up data delivery for their Looker instance and granting users permissions to send or schedule data deliveries.
If you encounter any problems with deliveries of large Excel files, see the discussion about managing large files in Excel format on the Managing Business User Features documentation page.
Certain scheduling options require that admins of customer-hosted Looker deployments have installed the Chromium renderer for their Looker instance. Admins can read more about rendering image-based data formats when sending and scheduling dashboards, Looks, or Explores on the Managing Business User Features documentation page.
Granting Users Permissions to Deliver Data
Each delivery destination requires that a user has a role with specific permissions: