Not all stories are independent. Some cannot start until another one finishes. Some are actively stuck because something else is broken or unbuilt. Tracking these relationships in a doc or a Slack thread works for a day or two, then it falls apart. Dependencies in Orvezo give you a structured way to model this directly in your project.
Two relationship types, not one
Orvezo supports two distinct dependency types: Blocks and Depends on. They are not interchangeable, and understanding the difference is the most important thing to get right before you start linking stories.
Blocks is an active impediment. Story A blocks story B means story B cannot proceed right now because of story A. This is an urgent, operational signal. It shows up in sprint planning as a risk. Example: the authentication bug blocks the user dashboard feature because the dashboard cannot be tested until login works.
Depends on is a sequencing constraint. Story A depends on story B means story A logically follows story B in the planned order of work, but it may not be actively blocked today. Example: the billing report depends on the payment integration. The report cannot be built until the integration is done, but if the integration is on track, there is no active crisis.
Each type has two perspectives. Blocks has Blocks and Blocked by. Depends on has Depends on and Needed by. All four are writable from either story. If story A blocks story B, you can record that from story A or story B and the data is the same either way.
The dependency canvas
The Dependencies page gives you a spatial view of every dependency relationship across your project. Stories are arranged in vertical columns by sprint, ordered chronologically left to right, with the backlog at the far right. Completed sprints are not shown since the canvas is focused on work that still needs decisions.
Arrows follow the standard cause to effect direction: the predecessor points toward the successor. Blocks arrows are amber. Depends on arrows are teal. Arrows generally flow left to right across sprint columns. An arrow pointing right to left is a signal that something in your planning needs attention.
Click any story card to select it. Its dependency arrows appear immediately and a panel opens at the top showing a four-column summary of all its relationships: Depends on, Needed by, Blocks, and Blocked by. Click another story to switch. Click the same story again to deselect.
Adding and removing dependencies
From the canvas, click the + button next to any of the four sections in the panel header. This puts you in add mode for that relationship type. Story cards on the canvas become clickable targets. Click a story to link it. The link saves immediately, no confirmation needed. Click another + button to switch relationship types, or click Done to exit. Pressing Escape also works.
To remove a dependency, find the linked story chip in the panel and click the x button. The relationship is removed immediately.
You can also manage dependencies from the story modal. Open any story and look for the Dependencies section in the right panel. It shows the same four subsections with count badges and + buttons. Click + to open an inline search picker, type a story key or keywords from the title, and click a result to add the link. The picker stays open so you can add multiple stories in sequence.
Circular dependency protection
If adding a dependency would create a circular chain, the action is blocked. On the canvas, stories that would cause a cycle appear dimmed and cannot be selected. If a cycle is attempted through the API or modal, the server rejects it with a clear error message.
Blocked checkbox vs blocked by dependency
These are two separate concepts in Orvezo. The Blocked checkbox is a manual operational flag you set when a story is stuck for any reason: waiting on a vendor, a design decision has not been made, a meeting needs to happen. It does not require linking to another story. The indicator shows up on board cards so the team sees impediments at a glance.
Blocked by dependencies are structured links to specific stories in the project. They model the formal dependency graph. Both can be used independently or together. A story can have an external reason it is stuck (checkbox) while also having story-level dependencies. They serve different purposes and neither replaces the other.
A few things to know
Dependencies are scoped to a single project. Cross-project dependencies are not currently supported. The canvas is not available on mobile, but dependencies can be viewed and managed from the story modal on smaller screens. When a story is deleted, all its dependency relationships are removed automatically. Bulk deletions that affect stories with dependencies will show a warning in the confirmation dialog.
Every dependency change is recorded in the workspace audit log. You can filter the audit log by Dependencies to see who linked or unlinked which stories and when.