Sending an app as a PDF with Retool Workflows - Quick Demo

Hi there! My name is Lizzie and I'm the product manager for Retool Workflows. In this quick demo I will show you how I went about sending an app as a PDF systematically with Retool Workflows. We've heard a lot of interest in this use case to send PDFs of a Retool dashboard via email, so we wanted to share it here in case it inspires or unlocks something for you in your building process!

Sending PDFs of Order Dashboards with Retool Workflows - Watch Video

Check out the Workflows section for support in building this or other Workflows use cases!

Hope this helps!

Lizzie

9 Likes

Thanks @lizzie! This is super helpful - would definitely be interested in a JSON of the application to use as a template. Can you post it here?

1 Like

Of course! Here's the app and the Workflow :blush:

Dashboard_Notification_Workflow.json (16.6 KB)
OrderDashboardApp.json (309.8 KB)

1 Like

Hi @lizzie ,

Thanks for this helpful tutorial. Is there any reason why child components might not be showing up following a similar workflow? I'm also finding the scale to be pretty wacky in the pdf that is generated.

Let me know your thoughts, thanks!

Hi Gregory! I might check out which components you are including in the serialize page step. In the example app, I exclude some components, so wondering if you may have accidentally copied that logic. As for the scale, could you provide an example of the code you are using to generate the PDF? Maybe an app export would be best if possible!

@lizzie thank you for this great demo. This is perfect for my use case, I had a few follow up questions.

  1. I understand how to exclude components on a page but is there a way to not include the Header and/or the Sidbar as well? I would only like to serialize the content in the main page.
  2. How do we know what other properties are available for this method? I couldn't find any documentation on the "componentsToExclude" parameter.

Thanks!

Found my answer to #2. This is included when hovering over the method in the javascript editor.

responsding to my own #1 question.

I ended up using sidbarFrame.setHidden() and sidebarFrame.setHidden(false) to hide/show the sidebar. Did not see how to hide the header. I decided to keep that anyway since it was fine for my purpose.