Build by hand
Start with a blank canvas and drop nodes one at a time. Good for greenfield systems, services not in your repo, or anything you want to sketch before you build it.
Naming your map
Set the map's name and description in the Canvas tab of the right panel. Both have a limit and show a live character counter as you type:
The limits are enforced in the editor and again on save, so anything longer is trimmed to fit.
Adding nodes
Click Add node (or the + button in the toolbar) to open the integration picker.
Search 200+ services - pick one and Canopy fills in the name and brand icon
automatically.
If the service isn't in the library, use a Custom node from the top of the picker. These carry a generic icon - database, server, compute, storage, cloud, queue, cache, notebook, and more - so you can represent anything that doesn't have a brand mark. Drop one, rename it, and set its cost like any other node. To change a node's icon later, type a keyword in the Technology field in the inspector and pick a suggested mark (brand or generic).
Custom nodes still count toward spend and node totals, but they're excluded from the technology and tool-usage stats (they don't represent a specific tool).
Each node has the same fields in the Inspector panel on the right:
Drawing edges
Hover any node to reveal the edge handle on its right side. Drag it onto another
node to draw a directed arrow - web → api → db. Edges describe request flow and
don't count toward your node limit.
Double-click any edge to add a label (gRPC, webhook, REST, async) for clarity.
Hit Auto-layout in the toolbar to re-flow the whole graph at any time.
Find & fix issues
Press ⌘ F (Ctrl F on Windows) to find a node by name or technology -
start typing and pick a match to jump straight to it on the canvas.
The toolbar also runs a live map lint. The Issues panel (the checklist icon in the left rail, or the ⚠ badge by the map name) flags the things a JSON paste or AI-generated map tends to leave broken:
- Dangling edges - an edge whose source or target node doesn't exist
- Duplicate node ids
- Unknown or missing icons - an icon slug Canopy doesn't recognise, or none set
- Missing spend - a node with no monthly cost (a suggestion, not an error)
Click any node-scoped issue to select and centre that node.
Keyboard shortcuts
Press ? anywhere in the editor to open this cheat-sheet (or click the keyboard
icon in the toolbar). On Windows and Linux, ⌘ is Ctrl.
Undo and redo also cover canvas drags - move a node and ⌘ Z puts it back.
Combining approaches
You can mix methods on the same map. A common pattern: import a repo to detect the core services, then hand-add the third-party SaaS tools (Stripe, Segment, Slack) that don't show up in a lockfile.