InstantPWA on Notion
Notion's native site publishing sandboxes embed blocks in an iframe and strips <script> tags, so InstantPWA can't run directly on notion.site. Route your workspace through a Notion-to-website tool like Super or Fruition, both of which expose a custom head-code field where the snippet works normally.
Requires Super, Fruition or a similar Notion site builder — not supported on raw notion.site.
How to set it up
- 1
Publish with Super or Fruition
Connect your Notion workspace to Super.so (paid) or self-hosted Fruition, both of which render Notion pages as a real website with an editable <head>.
- 2
Open Custom Code settings
In Super: Settings → Custom Code → Head. In Fruition: edit the Cloudflare Worker template's <head> section.
- 3
Paste the InstantPWA snippet
Save and republish. Notion's own embed blocks still can't run it — the snippet must live in the site-level head, not inside a page.
- 4
Verify on your custom domain
Open the published Super/Fruition domain (not the notion.site preview) on a phone to see the install popup.
FAQ
Can I add InstantPWA directly on notion.site?+
No — Notion strips inline scripts from both embed blocks and the page shell on its own hosted domain. A pass-through tool is required.
Does Super.so support web push too?+
Yes, once the head snippet loads, push registration works the same as any other site — Super doesn't restrict the service worker scope.