Looker Community

Scheduling Looks and Dashboards Using Webhooks (3.46+)

Looker webhooks are an excellent way to ferry data from Looker to servers or services. For example, by writing a small server or by using a service like Zapier, a scheduled webhook can be used to move a Look’s data to Google Sheets, Amazon S3, Dropbox, an SMS, and other destinations.

Here are the steps to schedule a Look or Dashboard for webhooks. Note that before you begin, your Looker user must have the send_outgoing_webhook or admin permission.

  1. Get the URL for the webhook
  2. In Looker, schedule the dashboard or Look, using the webhook
  3. In the web service, specify the webhook’s destination application
  4. Handle any configuration needed for the destination application

Documentation for the payload sent to your server or service is documented in this Discourse article: Webhook Payload Description.

Read this article to understand the overall procedure and focus on the Looker-side steps for using a webhook to schedule delivering Looks or dashboards.

1. Get the URL for the Webhook

Leaving Looker’s scheduling window open, go to Zapier or some other web service to handle your webhook to identify the URL where Looker should send an HTTPS request.

The procedure for getting the URL depends on the web service.

2. In Looker, Schedule the Dashboard or Look Using the Webhook

Now that you know the URL for your webhook, use it to send or schedule the Look or dashboard. For instructions on sending a one-time data delivery, go to this documentation page. For instructions on scheduling one or more data deliveries, go to this documentation page.

3. In the Web Service, Specify the Webhook’s Destination Application

Now the Looker-side configuration is complete. Next, on your web service, add instructions to send the Look data or dashboard PDF to the appropriate destination application.

If your web service has a test at this point and the test is not successful, then check whether in Looker you entered the URL correctly and whether you specified sending the results even if the data has not changed.

The procedure for specifying the webhook’s destination application depends on the web service. The web service side steps vary based on the web service used, whether the data is text-based (such as a Look) or binary (such as a PDF).

4. Handle any Configuration Needed for the Destination Application

Some destination applications will require some configuration steps. Now that you have defined the destination application for the webhook, handle any destination-application specific setup required, if any. See your webhook service documentation for more information about what is necessary for a particular destination application.

Conclusion

On the schedule you selected, Looker will send the results using your webhook, which will deliver the Look or dashboard to the specified destination. As you can see, in Looker you specify that you are using a webhook and the URL. In Zapier or another service you can set your webhook to trigger passing the Look’s data or a dashboard PDF to more than a hundred applications.

2 Likes

Whats the webhook payload look like? Also are there retries in place and what about the header or ip whitelisting/validations.

Thanks!

We will have fuller documentation of the payload available soon. As for the other questions: Looker will attempt to deliver the webhook exactly once, if it fails this is noted in the admin panel scheduler history. The server receiving the webhook can whitelist the IP address of the Looker server to prevent spoofed webhook requests.

Is there an issue with the step-by-step guide (URL https://discourse.looker.com/t/saving-scheduled-dashboard-pdfs-to-dropbox/2606 AND https://discourse.looker.com/t/using-a-webhook-to-send-a-scheduled-look-to-google-sheets/2580)?
Apparently I don’t have access to those articles (and I would like to!).

Hey Cyril!

I checked in on this and the reason you can’t see those articles is because they are currently internal only due to some ongoing development.
I’ve removed them from the article for now to avoid further confusion but will add them back as soon as those articles are ready to be posted!

Sorry for the confusion!

1 Like

Hey Nicole, what’s the status of this? I’d like to start using scheduled web hooks to drive (email) drip campaigns and it would be sweet to have access to the payload documentation and step-by-step instructions that are currently inaccessible.

+1! I’m trying to do something similar with a Zapier integration.

Drew and Kieran — thanks for your patience! Please find webhook payload documentation here: Webhook Payload Description.

While we don’t currently having a document supporting the use of webhooks for ferrying data to Google Sheets, it is certainly possibly to write a small server to receive a webhook payload and ferry the data over to Google Sheets by using Google’s API.

Hi There - this link seems to be broken and/or private. Can this be adjusted?

Here it is! Hopefully this is the one you were referring to!

Leads me to this page:

Hey @Eric_Meisel -

Try now! We just made the post accessible again so you should be able to see it.

Perfect! Thanks @jessica

Hi Aryeh.

When can a step by step documentation on this be available? It will really he helpful.

Hey @claricem,

If you have questions regarding this post, you can visit help.looker.com for additional assistance or clarification. Also, we’re happy to take feedback to help improve our posts.

In Looker 4.2 when I open the Schedule xyz dialog I don’t see any formats other than pdf or image. What’s up with that? Where are the csv, json, etc formats. I don’t want pdf or images - I want the data.

Figured it out. You can’t edit the look from the dashboard, only from the look itself. I always assumed that the look was the same regardless if it was in a dashboard or not

As our scheduling pop-up has changed in 5.14, I have replaced the step-by-step instructions in that section with a link to the documentation for scheduling or sending data to a webhook destination.