Import

Bring real content onto the canvas — websites, repos, live app screens, and images.

Good design work starts from real material. Doop has four ways to get it onto the canvas: import any public website as editable frames, connect a GitHub repo and pull its design system and screens out of the code, drop a sync snippet into an app that lives behind a login, or simply copy & paste. Everything lands as frames that everyone on the canvas — human or agent — can see and work from.

Website import

The fastest way to redesign something that already exists. Click ⤓ Import in the canvas toolbar, paste a URL, and Doop captures the page as a single frame: the real HTML, with every stylesheet inlined, images resolving, and all scripts stripped. What you get is a faithful, fully editable snapshot — not a screenshot.

Doop's Import from the web dialog with a URL filled in and the Import page button ready
Paste a URL and hit Import page — or tick the box to bring in the whole site.

Agents have the same power through the import_webpage tool. Give your agent a brief like "redesign acme.com's pricing page" and a well-behaved agent imports the page first, leaves that source frame untouched, and designs in a fresh frame next to it. Imports are de-duplicated — if the same URL is already on the canvas, agents reuse the existing snapshot instead of stacking up copies.

What happens under the hood:

Import an entire site

Redesigning more than one page? Tick import the entire website in the Import dialog. Doop discovers the site's pages — from its sitemap and by following same-site links — and shows you the list, homepage first, everything selected by default. Uncheck what you don't need and confirm.

The Choose pages review screen listing 100 discovered pages with checkboxes, all selected
Review what discovery found before anything lands on the canvas.

What can't be imported

Imports are limited to 5 per minute per person (agents included).

Inspect without importing

Sometimes an agent just needs to look at a page — check a competitor's layout, read some copy — without adding anything to the canvas. That's the view_website tool: it returns a screenshot and the page's visible text to the agent, and nothing appears on the canvas. Rule of thumb: if the page is source material the whole canvas should see, import it; if it's a quick read-only glance, view it. The two share the same capture pipeline, so a page that can't be imported can't be viewed either.

GitHub import

Your product's real design system lives in its code — tokens, theme files, tailwind config, the component library. GitHub import connects a repository and pulls that onto the canvas, so every design made there matches what you've actually shipped. It reads the code directly; no deployed site needed.

Connecting a repo can bring in three things:

Connect a repo

Open the Import dialog and find Or connect a GitHub repo. Click Connect GitHub to install the Doop GitHub App and pick a repository — private repos work. If you can't install apps, paste a fine-grained personal access token instead. Either way, credentials stay on the server; tokens never appear in frames or reach agents.

The connect a GitHub repo section of the Import dialog with the Connect GitHub button
Install the Doop app on the repos you choose — access is scoped and revocable on GitHub.

Hit Analyze and Doop maps the repo: it detects the framework and lists everything importable — components and stories first, with the full page list behind an optional toggle. Check what you want (design-system extraction is on by default), then import.

The import runs as Doop Agent board cards — the design system first, then screens a couple at a time. Nothing lands until a card finishes, so a failed screen leaves no debris and can be retried from the board. Imported frames carry a GitHub badge, and connected agents are taught to treat the repo as the source of truth when editing them.

Limits: up to 40 screens per import (the analyzer surfaces up to 300), the same 5-imports-per-minute budget as website import, and each import consumes Doop Agent task allowance.

Sync snippet for live sites

The website importer can only reach public pages. The sync snippet is the escape hatch for everything else — your product behind SSO, a staging site on a VPN, the app running on localhost. It captures screens from your own browser, where you're already signed in.

Open the Import dialog and create a sync key. You get a one-line snippet to drop into your app:

<script async src="https://doop.design/doop-sync.js?key=dk_…"></script>
The sync a live app section showing a created sync key named Admin dashboard with its script snippet
Name the app, create a key, and paste the one-line snippet into it.

Then just browse your app. Every distinct route you visit becomes a frame on the canvas — sanitized HTML, no scripts, same treatment as a website import — and Doop also records which screens link to which, so agents understand the app's flow, not just its pages.

Built to be safe to run against real apps:

Snapshots are capped at 2.5 MB per screen, 30 captures per minute per key, and a given page re-syncs at most every 30 seconds while its frame is still fresh.

Copy & paste

Copy an image anywhere — a screenshot, a photo, a crop from another tool — click the canvas, and hit ⌘V. Each image becomes its own frame, sized to fit (scaled down to at most 900px on the long side), named after its file, and centered in your current view. Paste several at once and they line up in a row.

Images can be PNG, JPEG, WebP, GIF, or SVG, up to 5 MB each.

Attach images to a brief

When you queue work for the Doop Agent, the prompt bar's paperclip (or a paste into the prompt) attaches up to 4 images. Each attachment becomes a reference frame on the canvas, and the agent is instructed to study them before designing — and to treat them as untouchable source material, never something to edit.

Upload assets from an agent

Connected agents bring their own imagery onto the canvas with the upload_asset tool. It returns a permanent public URL the agent can reference from any frame. Three ways in:

Same rules as pasting: PNG, JPEG, WebP, GIF, or SVG, 5 MB max, with the file type verified from the actual bytes — not the file extension. Uploads are limited to 15 per minute.

Troubleshooting

That's the full import surface — pull in the real thing, then design against it. Connect an agent →