Collect a web document when you save its reference
Save the source URL in Notion and use Browserless to download the document linked from that page. Keep the material close to the reference that prompted the work.
Trigger
Page Created
Triggers when a new Notion page is created. Customer optionally scopes with at most one of: - data_source_id: new row in this data source - parent_page_id: new sub-page under this page (immediate parent only) With neither set, fires for any new page in the workspace the integration has access to. Notion sends ~60s aggregation latency on most events.
Action
Download file using Puppeteer script
This tool allows downloading files that chrome has downloaded during the execution of puppeteer code. it sets up a blank page, creates a fresh download directory, injects the provided code, and executes it. once the script finishes, any downloaded files from chromium are returned with the appropriate content-type header.
Why this helps
Important reports and documents get bookmarked but never downloaded into a reviewable working set.
- Turns a saved reference into a concrete collection step.
- Can retrieve files downloaded during a Puppeteer run.
- Reduces time spent reopening pages to locate their documents.
Setup
Build it in a few focused steps.
- 1Connect Notion and Browserless to Notis once in the portal.
- 2Create an automation and describe which document to download from the URL on a new reference page.
- 3Choose the Notion Page Created trigger, scoped to the reference area if appropriate.
- 4Choose a channel for run reports and test with one accessible document.
Questions about this workflow
What can the download action return?
It returns files downloaded by Chromium during the Puppeteer script execution, with the appropriate content type.
Will it download every file linked on the page?
Describe the intended document and download behavior clearly in the prompt, then test on a page with a known file.
When this happens · Trigger
Do this · Action
Supported Triggers and Actions
Notis builds workflows that link Notion to Browserless. A trigger fires from one place; an action lands in another.
Notion triggers
Browserless actions
Recurring trigger
Notis starts this workflow on a schedule, such as daily, weekly, or during business hours.
Download file using Puppeteer script
This tool allows downloading files that chrome has downloaded during the execution of puppeteer code. it sets up a blank page, creates a fresh download directory, injects the provided code, and executes it. once the script finishes, any downloaded files from chromium are returned with the appropriate content-type header.
Webhook trigger
Notis starts this workflow when an external tool or custom backend sends an HTTP request.
Execute Custom Function
A tool that allows executing custom puppeteer scripts via http requests. this endpoint enables users to run browser automation tasks without managing their own infrastructure.
All Page Events
Triggers when any Notion page is created or updated across the workspace.
Fetch HTML Content
This tool fetches the complete html content of a webpage using browserless's content api. it's designed to retrieve the full html contents of any website, including dynamically generated content.
Comment Created
Triggers when a new comment is created in Notion. Optional `page_id` filter scopes to comments on a specific page. When omitted, fires for any new comment in the workspace the integration has access to. Requires the 'Read comments' capability on the Notion integration. If a connection was authorized before that capability was enabled, the user must re-authorize the connection for comment events to flow.
Generate PDF from webpage
This tool generates a pdf from a specified webpage using browserless's pdf generation api. it allows specifying the url of the webpage along with parameters such as format, filename, and waituntil options to control the pdf generation process.
New Comment
Triggers when a new comment is added to a specified Notion block or page.
Scrape webpage content using CSS selectors
A tool to extract structured content from a webpage by specifying css selectors. the tool navigates to the specified url, waits for the page to load (including parsing and executing javascript), and returns the selected elements in a structured json format.
Database Created
Triggers when a new Notion database (the container) is created. A database is the post-2025-09-03 container that holds one or more data sources. This trigger fires for the container's creation event (`database.created`), distinct from `NOTION_DATASOURCE_CREATED` which fires when a new data source is added to an existing database. Most customers calling Notion's `POST /v1/databases` (the legacy API) or creating a database via the Notion UI will see this event. Adding a new data source to an existing database fires `data_source.created` instead — use `NOTION_DATASOURCE_CREATED` for that. Notion's payload puts `entity.type: "block"` (the container is a `child_database` block in the content tree) and `entity.id` is the database id.
Take Screenshot
A tool that captures a screenshot of a webpage using browserless's screenshot api. the tool takes a url and returns either a png or jpeg image. it includes options for full page capture, image type, quality, and clipping coordinates.
Data Source Created
Triggers when a new Notion data source is created. Fires workspace-wide. The payload's `data.parent` carries the data source's tree parent (typically the teamspace) for downstream filtering. A single template-based database creation can fire multiple `data_source.created` events at once — one per data source the template instantiates.
Unblock Protected Content
This tool provides access to content from websites that implement bot protection mechanisms. it is designed to bypass various types of protection (such as captcha and bot detections) and return the html content of the protected webpage, with optional customization through parameters like waitfor, timeout, and stealth mode.
Data Source Schema Updated
Triggers when a Notion data source's schema is updated. Fires on column add / remove / rename. Payload includes `data.updated_properties: [{id, name, action}]` so consumers can discriminate the kind of change downstream. Optional `data_source_id` filter scopes to schema changes on a single data source. When omitted, fires for any schema change in the workspace the integration has access to. Note: adding a column also fires `page.properties_updated` once per existing row in the data source. Customers wanting a single structural-change signal should use this trigger.
Connect any two apps with Notis in the middle.
Notion and Browserless, or any other combination from 1,000+ integrations.
When this happens · Trigger
Do this · Action
Save your first hour today.
7-day trial of any paid plan, with 20$ of usage included.
No card. Works with personal or business Browserless.