Looker lets you schedule periodic email delivery of a user-defined dashboard, a Look’s visualization, or a Look’s data. You can send the information to one or more email addresses.
Starting a Schedule
There are several ways to create a schedule for your content:
If you are a Looker developer, you must turn off Development Mode to enable these scheduling options.
First, you can click Browse to find the content (dashboard or Look) you want to schedule. Then click the item's gear 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):
The second option is to create a schedule for a Look or dashboard while you're viewing it. Click the gear menu in the upper right and choose Schedule:
For Looks, you can click the Create Schedules link in the side panel of the Look:
Finally, if you are on an Explore page you can click Save & Schedule to save your choices as a Look and then schedule that Look.
You can also immediately send data directly from an Explore, Look, or 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.
Creating and Editing Schedules
Looker 5.14 has a redesigned window for scheduling data deliveries. The window provides the same functionality in an easier layout.
After starting a schedule, Looker displays a window with your scheduling choices.
The screen below shows an example Schedule window for a dashboard.
If this is the first schedule you're creating for this content, the left pane shows and highlights the title of the schedule you are creating. On the right side, there are 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 left pane shows those schedules. One of the schedules will be highlighted and the right pane displays its saved scheduling settings. Then:
If you want 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.
If you want 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 Your Schedule
Give the schedule a unique title in the Give your schedule a name section. This title will appear in the left pane after you save this schedule, and differentiates this schedule from other saved schedules.
Sending to Email
In the Where should this data go section, choose Email. Your data or visualization will be delivered to a list of email addresses you specify.
To learn more about other types of data delivery, see the page for each destination option: Amazon S3 bucket, SFTP, applications using a webhook, or one of several integrated services.
In the Who should it be emailed to section, enter the email addresses of the recipients. Enter a single email address, or multiple addresses separated by commas, and click Add. The domain of those emails must be allowed by your Looker admins. If the recipient is another Looker user, that person will have the option to link back to the Look or dashboard from the email.
Click Include a custom message to add a customized message in the body of the email.
Additionally, if you are a Looker admin and have enabled the Run schedule as recipient feature in Looker Labs, you can set the schedule to run for each recipient as if they ran the query themselves. You can set this in the Advanced options section as described later on this page.
Formatting the Data
In Format data as, choose the format of the data in your delivery.
For dashboards, you can choose:
- PDF (Tiled): Your dashboard in PDF format with all tiles arranged as in the dashboard.
- PDF (Single Column): Your dashboard in PDF format with all tiles shown in a single vertical column.
- Visualization (Tiled): The visualization of your dashboard in the body of the email (in a single PNG file showing tiles arranged as in the dashboard).
- Visualization (Single Column): The visualization of your dashboard in the body of the email (in multiple PNG files showing the individual tiles in a single vertical column).
- CSV Zip File: The unformatted data from your dashboard, delivered as a collection of comma-separated values (CSV) files in a zipped directory.
Dashboard tiles based on merged query results do not support scheduling in the CSV format.
For Looks, you can choose:
- Data Table: The data table of your Look in the body of the email in HTML.
- Text: The data table of your Look as a tab-delimited text file attachment.
- CSV: The data table of your Look as a comma-separated text file attachment.
- JSON — Simple: The data table of your Look as a JSON file attachment.
- XLSX: The data table of your Look as an Excel file attachment.
- HTML: The data table of your Look as an HTML file attachment.
- Visualization: The visualization of your Look in the body of the email as an image (must be enabled by your Looker admin as explained in Enabling Scheduling for Your Looker Instance).
If your Looker admin has given you permission, you will see the Trigger options.
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 you have configured datagroups, you can schedule delivery to occur after a datagroup has been triggered, managed the cache, and rebuilt relevant PDTs.
Typically datagroups are triggered after the extract, transform, load (ETL) cycle for the model's data has finished, which means that your data will be sent whenever the data has been updated — ensuring that your delivery includes the most up-to-date data.
To use a Datagroup update trigger, choose the source datagroup from the Select Datagroup pulldown:
Looker lists all datagroups defined in the models included in the given look or dashboard, even if they 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.
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, as described later in this page.
If you have access to the Trigger options, the Deliver this schedule section appears when the Trigger is set to Repeating interval.
If you are scheduling a Look or dashboard and it has filters, you can specify the filters for each scheduled delivery, which lets you customize the results for 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 that schedule.
To make customized 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 out customized results with only one schedule. You can read more about user attributes here.
Using Advanced Options
The Advanced options section provides additional customizations for your schedule.
Sending Alerts: Result-Based Options
For all Look formats other than Visualization, you can add conditions for when the data is 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 receive 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.
When sending Looks, you can limit the size of your email to stay within your email server's message size limitations. Select one of the following limit options for your data:
- Results in Table:
Data is sent with a 5,000 row limit. This is the only choice available for emails using the Data Table or Visualization format options.
- All Results:
If you are using the Text, CSV, JSON — Simple, XLSX, or HTML format options, you can send all of the rows of the results of a saved Look. This option ignores any limits set on a saved Look or Looker's typical 5,000 row limit.
There is, however, a total data limit of 15 MB so that email applications will accept the attachment. If you exceed that limit, you get an email that your scheduled job failed. While scheduling, you can click Send Test to see if your file is under the maximum size.
If you specify a Data Table or Visualization format and then select All Results, Looker automatically changes the format to use a Text attachment to support sending all results.
You see this option only if you are a Looker admin and have set up the Run schedule as recipient Lab feature.
If you are a Looker admin and have enabled the Run schedule as recipient Lab feature in Looker Labs, you can check run schedule as recipient to send data to multiple Looker users, each receiving the data they would see if they ran the query. This means that each users' access filters and user attributes will be applied to the data included in each email. See this User Forum topic for more information about turning on and using this feature.
This option is grayed out and unavailable if an admin sender adds an email without a Looker account or if a non-admin sender schedules data to anyone other than themselves.
When creating or editing Looks or dashboards, you can format the data values. That formatting can be applied to your data delivery.
Apply Visualization Options
For Looks and the CSV format of dashboards, you can configure whether you want the data delivery to use the same options as your visualization:
- Select apply visualization options if you want to apply some of the visualization settings to your data delivery, causing your data delivery to appear similar to a table chart. Any of the following settings in the Plot and Series menus that are configured for the visualization will be applied to the data delivery:
- 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.
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.
By default, Looker will use 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.
Testing Your Schedule
Click the Send Test button to send a one-time test. Looker will send a test email to each email address listed in the Who should it be emailed to section.
Creating Additional Schedules
If you want to create another schedule for the same content, click New +, optionally change the new schedule's default name, and specify its scheduling options. Your schedules are listed by title in the left pane of the window.
Alternatively, you can click the Duplicate icon to the right of a schedule to create a copy of that schedule. The Duplicate icon appears when you hover over the title of the schedule.
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 Spaces, the listing for each Look and dashboard indicates whether you have scheduled that content.
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.
There are a few other challenges that can arise:
- If you're using Looker's default email configuration, things should work OK. However, if your company has set up its own email settings in the Admin section of Looker, your Looker admins will need to make sure they are correct, and that your email provider is functioning properly.
- Depending on the Limit setting, the data delivery will either have a maximum row limit of 5,000, or a maximum file size of 15 MB. Emails with more rows or data than these limits will not send correctly.
- If an email does not send at the expected time — but does eventually arrive — it is likely because you're competing with other Looker tasks. These tasks can include other scheduled emails, many people exploring data at the same time, or persistent derived tables being built. If this occurs check with your Looker admins about competing tasks.
- If a specific email keeps disappearing from your distribution list, it's likely because a user is unsubscribing from that scheduled email. This can be a particular challenge if you use a group email alias to send to multiple people, because any individual recipient can unsubscribe that entire email alias. If you need to understand un-subscriptions check out this User Forum topic.