Skip to main content
The File Download node waits for a file download to complete and stores it with metadata. This node does not trigger the download itself—the download must be initiated by a previous action (e.g., a Click node on a download button). The exception is when trigger_print is set, which triggers the browser’s print dialog for PDF generation. The node polls for up to 60 seconds waiting for a download to complete before timing out.

Parameters

ParameterTypeRequiredDescription
metadataobjectYesMetadata to attach to the downloaded file for identification in results
trigger_printbooleanNoIf true, trigger browser print dialog for PDF generation instead of waiting for a download
continue_on_failed_downloadbooleanNoIf true, continue workflow even if no download is detected within the timeout

Examples

Capture a Download

First trigger the download with a Click node, then capture it:
{
  "id": "click-download",
  "name": "Click download button",
  "action": "CLICK",
  "parameters": {
    "execution": "STATIC",
    "selector": "//button[@id='download-report']"
  }
}
Then capture the file. You can include workflow context in the metadata:
{
  "id": "abc123",
  "name": "Capture invoice download",
  "action": "FILE_DOWNLOAD",
  "parameters": {
    "metadata": {
      "invoice_id": "{{context.invoice_id}}",
      "customer": "{{context.customer_name}}",
      "date": "{{context.invoice_date}}"
    }
  }
}

Notes

  • This node waits for a download. Use a Click node before it to trigger the actual download
  • Only one download can be captured per File Download node. If multiple downloads are triggered, only the last one is captured
  • To capture multiple files, use separate Click → File Download node pairs for each file
  • Downloaded files are stored and accessible in the workflow results
  • Downloaded files are added to the file_urls array in the response payload (available in both the API response and webhook events)
  • Each downloaded file triggers a file.uploaded webhook event with the signed file URL and metadata
  • The trigger_print option triggers the browser print dialog for PDF generation
  • Set continue_on_failed_download: true for optional downloads that shouldn’t fail the workflow
  • The node times out after 60 seconds if no download is detected