Looker lets you schedule periodic delivery of a user-defined dashboard or a Look’s visualization or data to:
- an Amazon S3 bucket
- a variety of integrators managed by Segment
- an SFTP server
- a variety of other applications using a webhook
You also can send data in an email (as described on this page).
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.
In the Admin section of Looker, administrators can use the Scheduler Plans and Scheduler History pages to look up and resolve any schedule issues. Admins should be careful about deleting or disabling a user who may be the owner of important scheduled deliveries because the schedules are also deleted or disabled.
Scheduling Data Deliveries
Starting a Schedule
There are several ways to schedule a dashboard or data delivery.
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 already 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:
Or click the Create Schedules link in the side panel:
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.
If you are a Looker developer and the Schedule option is disabled, turn off Development Mode before scheduling the Look.
Choose Your Scheduling Options
After choosing Schedule, you see all of your scheduling choices:
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, the fields show the scheduling settings and 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.
If you want to create additional schedules for the same content, click Create New Schedule and enter the settings for that additional schedule.
If you do not click Create New Schedule please be careful not to overwrite an existing schedule, unless that is your intention.
When you are done, click Save All.
The following sections explain each scheduling setting.
Give the schedule a unique title in the Title row. This title will appear in the left hand pane after you save this schedule, and is used to differentiate this schedule from other saved schedules.
Looker displays a summary of the schedule timing and delivery options below the Title row.
If you are scheduling a Look or dashboard and it has filters, you can customize the filters for each scheduled delivery, letting 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:
When on the scheduling window, click Filters to see the filters associated with that schedule.
To make customized deliveries even easier, you may want to make use of the “equals a user attribute” option. In some cases your admins will configure user-specific values called “user attributes”. Setting a filter to one of these attributes can allow the results to be automatically customized for each user, meaning that you can send out customized results with only one schedule. You can read more about user attributes here.
Trigger Options (For Developers and Admins)
If your Looker admin has given you the develop permission, you will see the Trigger options:
- Schedule: Select this option for the data delivery to occur according to the schedule you set in the Timing Options section.
Datagroups: If you have configured datagroups you can schedule delivery for after the datagroup has been triggered, managed the cache, and rebuilt relevant PDTs. Typically datagroups are configured to be triggered after the ETL cycle for the model’s data has completed, meaning that your data is scheduled to be sent whenever the data has been updated, ensuring that your delivery includes the most up-to-date data.
After selecting this option, choose the source datagroup from the Datagroup pulldown:
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.
The timing options that you see will change depending upon what you choose in the Delivery dropdown menu, which specifies how frequently the delivery will be sent.
- The Repeat and At rows let you further configure the frequency and timing of the delivery.
- The Timezone determines the timezone that is used to interpret the schedule you’ve selected.
In Destination, choose your desired type of data delivery about your data delivery:
- Amazon S3: Amazon S3 buckets are a common way to store large amounts of data. You or your company will need to have created an S3 bucket with Amazon before Looker can use it. If you choose this delivery option, Looker prompts you for additional settings about formating and about the Amazon S3 bucket as described below. Check out this Discourse post for more details about delivering data using an Amazon S3 bucket.
- Email: The data or visualization is delivered to a list of email addresses you specify as described on this page.
- Segment: For Looker instances configured for Segment integration, the data or visualization is sent to Segment and downstream partners. See this page for more information on Segment integration.
- SFTP: Sending results to an SFTP server is a good method when your data or visualization is too large to send via email. If you choose this delivery option, Looker prompts you for the SFTP server address, username, and password as described below. Check out this Discourse post for more details about delivering data using SFTP.
- Webhook: Webhooks are a modern, increasingly common way to trigger exchanges between internet based services. They generally require some technical or developer knowledge to use, but with a product like Zapier, webhooks can let Looker data to be delivered to a wide range of places. If you choose this delivery option, Looker prompts you for the webhook address, as described below. Check out this Discourse post for more usage details.
If your destination is a Webhook, in the Address row, enter the URL to which the webhook should send a request. Check out this Discourse post for more information about using webhooks.
Amazon S3 Bucket Options
If your destination is an Amazon S3 bucket, Looker prompts you for what to send (format and values) and for information about the Amazon S3 bucket:
- Bucket: The name of your Amazon S3 bucket.
- Path (optional): The folder that you want to save your data too, if any.
- Access Key: The Access Key ID to your S3 bucket, provided by Amazon.
- Secret Key: The Secret Acess Key to your S3 bucket, provided by Amazon.
- Region: The Amazon services region where your S3 bucket is hosted.
Check out this Discourse post for more details about delivering data using an Amazon S3 bucket.
SFTP Server Options
If your destination is an SFTP server, you can choose:
- Address: The URL of the SFTP server to which you want to send your data.
- Username and Password: Login credentials for the SFTP server.
Currently, SFTP support is limited to username and password credentials. SSH private key credentials are not supported. Check out this Discourse post for more details about delivering data using SFTP.
In Format, choose the format of the data in your delivery.
For dashboards, you can choose:
- PDF (Tile): 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
- Inline Images (Tile): (for webhooks) the visualization of your dashboard (in a single PNG file showing tiles arranged as in the dashboard)
For Looks, you can choose:
- HTML: the data table of your Look as an HTML file attachment
- 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: the data table of your Look as a JSON file attachment
- Inline JSON: (for webhooks only) the data table of your Look submitted directly in the webhook request
- XSLX: the data table of your Look as an Excel file attachment
Apply Visualization Options
- 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 visualization options applied, which will cause the data delivery to appear like the data table in the Data section of the Look or Explore.
Formatted Data Values
- 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.
Sending Alerts: Result-based Options
For Amazon S3 Bucket, SFTP and webhook destinations, you can choose:
- Send If: For Looks, you can choose to send the data only if there are results, only if there are no results, or in either case. This option lets you send data only when the filters of your Look are met (or not met). For example, you can filter for situations about which you need to be alerted, such as items that are below a certain amount in inventory, expenditures above a certain value, and so forth.
- And results changed since last run: This option help cuts down on unnecessary deliveries. You can tell Looker to send data only if the query results have changed since the last data was sent.
These options are not relevant for Segment as the Segment integration specifies what it wants.
For Amazon S3 Bucket, SFTP and webhook destinations, you can choose:
- Results in Table: Data is sent as a single delivery.
- All Results: Data is streamed. This is useful for large data sets, as it bypasses file-size, browser, and memory limitations.
If you choose “Results in Table”, Looker will obey whatever row limitations you’ve setup 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.
This setting only applies to email deliveries.
Testing Your Schedule
Click the Send Test button to send a one time test.
Creating Additional Schedules for the Content
If you want to create another schedule for the same content, click Create New Schedule, possibly change the copy’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 copy icon to the right of a schedule to create a copy of that 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. Amazon S3, Segment, SFTP, and Webhooks destinations will report an error if they are unable to connect to the specified endpoint. If such issues occur, Looker will send an email to notify the person who set up the schedule. The email will include a link to the scheduled content, a list of the recipients that failed, and typically more information about the problem encountered when trying to reach the recipient.