In this article, we will review how cross-project dependencies work in PPM Express.
When managing multiple projects in a portfolio, it is often necessary to align work across these projects. Cross-Project dependencies (external predecessors) allow you to link tasks from different projects so that one task’s schedule depends on another, even if they belong to separate projects.
General overview and permissions
External predecessors extend standard task dependencies beyond a single project. They enable coordination between related projects and better visibility into cross-project impacts.
The cross-project dependencies are supported only between PPM Express tasks. General rules for regular task dependencies apply to cross-project dependencies as well.
Changes in a predecessor task from another project do not automatically update the successor task. The project manager (at least with Collaborate permission) must review and accept those changes before they take effect.
Cross-project dependencies cannot be created for Private projects, and tasks from Private projects cannot be used as external predecessors in other projects.
Permissions:
- The user needs at least Collaborate permission on the Successor project to create/edit/delete a cross-project dependency, or to accept changes from the Predecessor Tooltip.
- The user needs at least View permission on the Predecessor Project to create a cross-project dependency.
- If a cross-project dependency has already been created but the user has no View permission on the Successor Project, the user can still edit such a dependency (change the lag or type) or delete it.
Adding a cross-project dependency
To add a cross-project dependency, perform the following:
1. Open a PPM Express Tasks page.
2. Open a task for editing where you need to add a predecessor, and navigate to the Predecessors tab.
3. Click Add External Predecessor.

4. Select a Project. All projects where you have at least View permission are displayed (Private projects are excluded).
5. Select a Task.
6. Select a Dependency Type.
External predecessors follow the same logic as standard dependencies:
- Finish-to-Start (FS): the predecessor task must finish before the successor can start (but the successor might start at a later date).
- Start-to-Start (SS): the predecessor task must start before the successor task can start (but the successor might start later, and the predecessor can be incomplete when the successor starts).
- Finish-to-Finish (FF): the predecessor task must finish before the successor task can finish.
- Start-to-Finish (SF): the predecessor task must start before the successor task can finish.
The Lag and Lead options are available for predecessors.
Finish-to-Start dependency with zero lag is used by default.
An Estimated Date is calculated automatically based on:
- Dependency type
- Lag time
- Predecessor task dates
When a new predecessor is added to a task, its Lag is set to 0 by default. If the lag value changes, the estimated date changes accordingly. The Lag is set manually and is not recalculated when the task’s or predecessor’s Start/due Dates change.
7. Click Apply and then Save to create the dependency.

Once the cross-project dependency is created, it is displayed in the Predecessors tab and can be edited, if needed.

It is also displayed on the Tasks timeline as a dotted blue arrow. If the Predecessors field is added to the view, the cross-project dependency information becomes visible in the task list view as well.

When you hover over a predecessor, you’ll see detailed information.

Cross-project dependencies can only be added or edited from the Predecessors tab on the task’s Edit page.
In the task details view, external predecessors are visible, but they cannot be added or modified there; you can only remove them.

Handling updates to external predecessors
When a dependent date in a predecessor task in another project changes, the successor task's dates do not update automatically. Instead, a warning message appears next to a successor task: Task’s external predecessor "Task Name (Project Name)" was updated. Review and accept the changes to update the task.
To accept the changes, click Accept in the predecessor task tooltip or Predecessors tab.

Only users with Collaborate or Edit permissions can accept changes.
Once the changes are accepted, the successor task dates are recalculated accordingly.
Even if the update does not affect scheduling, acceptance is still required to acknowledge the change.
Cross-project dependencies can also be managed via CSV using this format:
task name [id:00000-0000-0000-0000] [projectId:0000-0000-0000-0000-0000] [projectName:NameofProject] [dueDate:2024-07-22][duration:2] (FS+0)
Please note the following:
- Project name must match the project ID.
- Include Due Date or Start Date, depending on dependency type.
- Dates must match the actual Predecessor Due Date/Start Date task dates to avoid warnings.