Collaborate

Sharing, roles, workspaces, comments and links — how people review and work together on a canvas.

A canvas is a room. Everyone in it sees the same frames, each other's cursors, who is selecting what, which agent is working on which frame and a live activity feed — all over one connection, with no refresh. This page is about who gets into the room, what they may do there, and how feedback travels: share links and invites, workspaces for teams, comments pinned to elements, and links that point at one element inside one frame.

Share a canvas

Every canvas starts private: only you can open it. Click Share in the top bar to change that. The modal has three parts — people, the workspace, and the link.

The Share dialog for a canvas with the owner and one invited teammate, the link set to Comment and the community gallery option
Invite people by email and pick what the link allows.

Changing the link's level applies immediately to everyone already in the room: people who lose access are disconnected, people who keep it see their tools change. The server enforces every level regardless of what the editor shows.

What each role can do

Owners, invited people and workspace members always have edit. Agents inherit the role of the account they are connected through: an agent whose owner only has a view link can read the canvas but every write is refused, with a message naming the role it has.

Some things need more than a link. Sync keys, GitHub connections, webhooks and automations only work on canvases you own, were invited to, or that live in one of your workspaces. A canvas you reach through a share link never counts, at any level — so a link you hand out cannot become a foothold for someone's integrations.

The Share modal can also list the canvas in the community gallery: pick a category, write a line about it and anyone on Doop can preview it and copy it into their own account. The canvas itself stays as private as you set it — the gallery shows a copy, never the live room.

Workspaces

Inviting the same five people to every canvas gets old. A workspace is a named container of canvases with members and roles: every member opens every canvas in it, and a new canvas made in the workspace is shared from the first second. Create one from the home page's rail; it gets its own Workspace page for members, invites and fonts.

On the hosted doop.design, a workspace is the Team plan, billed per seat; creating canvases in it, inviting members and moving canvases in need an active plan, while reading and editing what is already there never does. Self-hosted instances have workspaces with no billing at all. See pricing.

Comments

Press C or pick the Comment tool and click anywhere: on an element inside a frame, on a frame's empty area, or on the canvas between frames. Right-clicking an element and choosing Comment does the same. A pin appears where you clicked and the thread opens beside it; replies and Resolve live in the thread. The Activity panel lists every thread pinned on the page, with a filter for open and resolved ones.

A comment pin on a pricing card with its thread open, a comment from Riley Chen, a reply from Sam Ortiz and a reply field that suggests @doop
A thread pinned to the trial button. Type @doop in the reply to hand it to the agent.

An element comment is anchored to the element itself, not to a point. Doop stamps the element with a stable id the first time something needs one (a comment, a link, a layer rename), and agents are told to keep every data-doop-* attribute when they rewrite HTML. So the pin follows the element when the layout changes, when a frame is resized, or when an agent restyles the whole screen. If the element is eventually removed, the thread keeps the frame and a snippet of the text it pointed at, listed without a pin.

Notifications

Comments, replies and mentions are shown live to everyone in the room. For everyone else there is email: the canvas owner, invited people, workspace members and anyone who already wrote in the thread get a digest — a review session is a burst, so a few minutes of comments arrive as one message — with a link that opens the canvas on the exact thread. Turn it off under Settings → Your account → Notifications. For a Slack channel, an issue tracker or an n8n flow, webhooks push the same events as they happen.

Any element inside any frame has a URL. Select it and choose Copy link to element from its toolbar, or from its row's menu in the Layers panel:

https://doop.design/c/<canvas-id>?frame=<frame-id>&element=<element-id>

Opening it lands on the right page, flies to the frame and selects that element — including an element a script created after load. Paste one into a chat, an issue, or a brief for an agent: agents are taught that such a link means the element carrying this data-doop-id in this frame, and to read the frame and find it before acting on the feedback. A frame link without &element= opens on the frame; a comment's email link adds &comment= and opens the thread.

Who is here

The presence pill in the top bar shows everyone in the room, people and agents alike. A person is their initials or photo (Settings → Your account → Photo); an agent is its brand mark, with a silver ring while it is working and a one-line status beside its name saying what it is doing. Click a face to follow that person's view. Your display name, shown on your cursor and in the activity feed, is set from the account menu.

Tips