Updated June 8, 2026
How do I embed an AI-generated page in Notion?
Quick answer
Paste a Drafty canvas link into Notion and it embeds as a live, scrollable page instead of a dead link. Drafty supports oEmbed, which is what Notion uses to turn a URL into an embed. Push your HTML or Markdown file with `drafty canvas push`, then paste the resulting drafty.im/canvas/<slug> link into Notion.
Paste a Drafty canvas link into Notion and it embeds as a live, scrollable page instead of a dead link. Notion uses oEmbed to turn a URL into an embed, and Drafty supports oEmbed, so the page renders inline as an iframe readers can scroll.
First push your AI-generated HTML or Markdown file to Drafty with drafty canvas push. That gives you a drafty.im/canvas/<slug> link. Paste it into Notion, and Notion replaces it with the live canvas.
The problem: a raw HTML file can't embed in Notion
When Claude or ChatGPT hands you an HTML artifact, you get a file on your machine. Notion embeds web addresses, not local files, so there's nothing for it to point at. Pasting the file path does nothing, and uploading the file drops it in as an attachment people have to download.
A phone makes it worse. A raw downloaded .html file usually won't open on a phone at all. You need the page at a real URL.
Push the page to Drafty
Drafty hosts the file at a link. Run one command:
- Sign in once with
drafty login. - Push the file:
drafty canvas push report.html. The CLI reads the file extension to decide HTML vs Markdown. - Add a title if you want one:
drafty canvas push report.html --title "Q3 report".
You'll get back a drafty.im/canvas/<slug> link. An HTML canvas keeps the author's own styles and can run sandboxed scripts; a Markdown canvas renders as clean prose.
Paste the link in Notion and it embeds
In Notion, paste the link on its own line. Notion offers to create an embed, or you can use the /embed block. Either way you get the live canvas as a scrollable iframe, not a bookmark card.
The embed tracks the live canvas. Push a new version with drafty canvas push and the embed updates, since every push saves a new version you can preview or restore.
The same link unfurls in Slack and X
The link you paste in Notion also works elsewhere. Drop it in Slack or X and it unfurls with the canvas title and a preview image. Coda and Medium embed it as a live iframe too, the same way Notion does.
If you want readers to comment, leave the canvas in feedback mode (the default): they click any heading, paragraph, or image and leave a comment pinned to it. For a view-only embed, run drafty canvas mode <slug> read-only.
Frequently asked
- Does it embed in Medium and Coda too?
- Yes. Drafty's oEmbed support works in Notion, Coda, and Medium, so a canvas link becomes a live iframe in any of them. In Slack and X, the same link unfurls with the canvas title and a preview image.
- Will the embed update when I push a new version?
- Yes. The embed points at the live canvas, so pushing a new version with `drafty canvas push` updates what readers see in Notion. Drafty saves every push as a version, so you can preview and restore earlier ones if needed.
- Why does pasting the raw file not work?
- A raw .html file lives on your machine, not at a URL, so there's nothing for Notion to embed. Notion embeds a web address, not a local file. Drafty hosts the page at drafty.im/canvas/<slug>, which is the link Notion can turn into an embed.
- Can readers comment on the embedded page?
- Yes, depending on the canvas mode. In feedback mode (the default), readers click any element and leave a threaded comment pinned to it. Set read-only mode with `drafty canvas mode <slug> read-only` if you want the embed to be view-only.
Related
- How do I share a Claude (or ChatGPT) HTML artifact?Push the .html or .md file from Claude or ChatGPT to Drafty and you get a link anyone can open in a browser and comment on.
- What is Drafty?Drafty turns the HTML and Markdown files Claude and ChatGPT generate into a link anyone can open and comment on.