CrossLink for Planner Help
CrossLink for Planner lets you link a getter task to the giver task it should follow, across two different plans. When the giver's date moves, CrossLink flags the link as Drifted and proposes a matching change to your task. On a Buffer link it waits until the spare days are used up. CrossLink never moves your dates on its own — you decide, one link at a time, by pressing Accept.
Need a hand? Contact support.
Jump to: Getting started · Need access? · The ideas in two minutes · Timeline and Monitor · Create a link · When a link has Drifted · When a link is Broken · History, and deleting a link · Export and import · What CrossLink changes in your plans, and what it never does · Troubleshooting · What your administrator manages · Getting help · Glossary
Getting started
Where CrossLink lives. CrossLink is its own app, sitting beside Planner rather than inside it. You open it from your app list in Power Apps, or from a link your administrator sends you. It reads the plans you already have in Planner and writes back to them only when you tell it to.
Signing in. CrossLink uses the Microsoft account you already use for Planner. There is no second sign-in and nothing to connect. If you are blocked at the door with a message reading "Invalid License.", see Need access? below.
The first screen. CrossLink opens on the Timeline. Down the left you will see four pages:
| Page | What it is for |
|---|---|
| Timeline | The chart. Your plans side by side, with the links drawn between them. This is where you create links. |
| Monitor | The worklist. Every link as a row, with the ones needing a decision at the top. |
| Setup | For administrators. Five steps from installed to the first link. |
| Health | Whether CrossLink is working properly in this environment, and the report to send support. |
The very first time. With no plan ticked in the picker, the chart area reads "Nothing to show yet", then "Tick a plan in the picker above to see its tasks and links." and "To create a link, right-click a task and choose New link — this is the getter." Tick a plan or two in the picker and your tasks appear.
Need access?
If you opened CrossLink and were stopped by a dialog reading "Invalid License.", naming publisher PowerGraph and the plans CrossLink-P1 to CrossLink-P4, this section is for you. There is nothing wrong with your account, and nothing you can fix yourself.
If you were blocked
What the message means. CrossLink is licensed per person. The message means your organization has CrossLink, but a CrossLink license has not been assigned to you. Microsoft checks this at the door, before CrossLink itself runs, which is why you see a Microsoft dialog rather than a CrossLink one.
Two things are needed, and they are separate. You need both:
- A CrossLink license assigned to you in Microsoft 365.
- The CrossLink User security role in the environment.
Having one without the other will not get you in. Your administrator does both.
What to ask for. Send your administrator a note along these lines:
I need access to CrossLink for Planner. Please assign me one of the CrossLink license plans in the Microsoft 365 admin center (they are named CrossLink-P1 through CrossLink-P4), and give me the CrossLink User security role in the Power Platform environment where CrossLink is installed.
Which plan to ask for. Any of them. CrossLink-P1, CrossLink-P2, CrossLink-P3 and CrossLink-P4 all give exactly the same access — they are volume bands, not feature tiers, so which one your organization buys depends only on how many people need CrossLink. Ask for whichever one your organization already has.
You will also need Planner. CrossLink reads and writes Planner's schedule, so you need a Planner plan that includes it — Planner Premium, or Project Plan 3 or above. If you can already open your plans in Planner, you have this.
If you are the administrator
Where CrossLink appears. When CrossLink is bought through the Microsoft Marketplace, the license plans land in your tenant automatically. They appear in the Microsoft 365 admin center under Billing ▸ Licenses, and on each person's licenses, named CrossLink-P1 through CrossLink-P4.
To assign one to a person, in the Microsoft 365 admin center:
- Choose Users ▸ Active users, and open the person.
- Choose Licenses and apps.
- Tick the CrossLink plan your organization holds.
- Choose Save changes.
Then give them the security role, in the Power Platform admin center:
- Choose Environments, then the environment CrossLink is installed in.
- Choose Settings ▸ Users + permissions ▸ Users.
- Open the person, choose Manage roles, and tick CrossLink User.
- Choose Save. They can open CrossLink the next time they sign in.
⚠ Testing it yourself does not prove anything. System administrators bypass license checks by design — that is Microsoft's behavior, not a CrossLink setting. You will get into CrossLink whether or not you hold a license, so the only way to confirm your team can get in is to ask one of them.
The Setup page's step 3 reports how many people hold the CrossLink User role and which CrossLink plans it can see in this environment. It deliberately does not claim to check licenses, because it cannot: "Each person also needs a CrossLink license assigned to them in Microsoft 365, which this page cannot check."
The ideas in two minutes
CrossLink has six words in it. Learn these and the rest follows.
- Plan — a plan in Planner. CrossLink shows several of them side by side.
- Task — a task or a milestone in a plan.
- Link — one connection between two tasks, usually in two different plans. A link has a direction.
- Giver — the task that provides a date. When it moves, work downstream may have to move.
- Getter — the task in your plan that depends on the giver's date.
- Lag — the spacing between the giver's finish and the getter's start, in calendar days. It can be positive, zero, or negative.
You read a link as getter ← giver: the getter receives its timing from the giver. On the chart the giver is teal, the getter is purple, and anything not in a link is plain gray.
Why you accept, instead of CrossLink just moving things. Inside one plan, Planner already reschedules dependent tasks for you. Across a team boundary that would be wrong: the other team's slip is news, not an instruction. So CrossLink raises a proposal — "the giver moved; here is what that would do to your task" — and your date changes only when you accept it.
A new link starts already in sync. CrossLink records the giver's current date as the link's baseline and says nothing. You hear from it the next time the giver moves away from that baseline. Creating a link does not create work; it starts the watch.
The three statuses
| Symbol | Status | What it means |
|---|---|---|
| ✓ (green) | In sync | The getter still lines up with its giver. Nothing to do. |
| ▲ (amber) | Drift | The giver moved, and a proposed change to your task is waiting for you. |
| ✕ (red) | Broken | One end of the link no longer exists, or you can no longer read it. There is nothing to accept. |
On the Monitor these appear in the Status column. On the Timeline the same three states appear in the task fly-out as In sync, Drifted · ±N days, and a red reason pill.
Timeline and Monitor
Two screens, one set of data. The Timeline is where you see shape and create links; the Monitor is where you work through decisions. Both run the same check and both show the same Last checked time.
CrossLink checks your links when you open a view. Every time you open the Timeline or the Monitor — and every time you press Refresh — CrossLink checks all of your links before drawing. You will see "⏳ Checking for changes…" briefly while it runs. There is no background schedule and no email: whatever is on screen was checked the moment you got there.
The Timeline
The plan picker reads "N of M plans". Open it to tick the plans you want on the chart. You can type to search, and use All and None. A small dot beside a plan name means it participates in a cross-link. If no plans are readable at all, the button reads "No plans available".
The filter chips sit beside the picker. There are four, and only one is active at a time. Each carries a live count.
| Chip | Shows |
|---|---|
| All links | Every link in the plans you have ticked. |
| Drifted | Only links with an open proposal waiting for you. |
| Slipped | Only drifted links where the giver moved later — the ones most likely to push your dates out. |
| Broken | Only broken links. |
Search tasks… filters to tasks and milestones whose name contains what you type. It shows a live "N matches" count and a ✕ to clear. Matches are highlighted in lavender, deliberately never amber, so a search hit never reads as drift.
The four view checkboxes change only what is drawn — never your plan selection, never the counts on the chips.
- All tasks — reveal the unlinked tasks in every plan at once, instead of opening one plan at a time with its + / − control.
- Link partners — show or hide tasks borrowed from plans you have not ticked, so a cross-plan link can draw both of its ends. On by default. When you untick it the label tells you what you are hiding, for example Link partners (3) — that number counts plans, not tasks.
- Names — show or hide the task names drawn on the bars. The name column on the left stays either way.
- Summaries — show or hide the summary and phase bars. Their names in the left column stay either way.
The zoom control has five stops — Year, Qtr, Month, Week, Day — with a slider for fine adjustment between them and − / + buttons at each end. It opens at Qtr. Zooming keeps the date in the middle of your view in the middle of your view. A vertical Today line marks the current date, and the date axis stays pinned at the top while the rows scroll under it.
Last checked and Refresh sit top right. Refresh runs the check again and repaints in place — your plans, chips, search and zoom all stay exactly as you left them. The ⓘ beside them opens About CrossLink.
The legend is a row of symbols with short labels beneath the controls. It only ever shows what is on your chart right now — if nothing has drifted there is no Drifted link entry, because there is no amber line to explain. If there is nothing to explain, the row is not drawn at all. The order never changes, there are no numbers on it (the chips own the counts), and nothing in it is clickable.
| Symbol | Label | What it means |
|---|---|---|
| Gray line with an arrowhead | Link | A cross-plan link, in sync. The arrow points from the giver to the getter. |
| Amber line with an arrowhead | Drifted link | A link whose giver has moved, so the other end is out of date. |
| Hollow dashed bar or diamond | Proposed position | Where the drifted task would land if you accept. |
| Red dashed line into a pale red bar | Broken link | A link whose other end no longer exists. |
| Rotated diamond | Milestone | A task with no duration. |
| Slim bar with end ticks | Rollup | A summary or phase task, spanning the work beneath it. |
| Pill reading, for example, +2d · Accept | Needs review | A drifted link waiting for you. Select the pill to review and accept. |
| Neutral dashed line | Draft link | Shown while you are creating a link, before you press Create link. |
| Muted plan row with a link mark | Link partner plan | A plan you did not tick, shown because your links point into it. |
Seeing one task's links. Right-click any task and choose Task information. The fly-out names the task, its type and its plan, then its dates — a task shows Start and Finish, a milestone shows one Date. Below that its links are grouped into GETS FROM (links where this task is the getter) and GIVES TO (where it is the giver). Every card shows its state at a glance: a green ✓ In sync, an amber Drifted · ±N days, or a red reason. Select a card to jump to that link's detail.
The list is always complete, including links into plans you are not showing. Such a card reads "Plan not on the timeline — select to add it" with a + — selecting it adds that plan and loads it. If you do not have access to the plan on the other end, the card still appears and says "Plan not on the timeline — you do not have access to it".
Under the task's own details is Open task in Planner ↗, and under each giver and getter card is its own Open in Planner ↗ for the task at the other end.
Narrowing to one task's neighborhood. Right-click a task and choose Show only linked tasks to narrow the whole chart to that task plus everything directly linked to it. A chip appears in the header reading Linked to: task name; its ✕ clears it, and so does Esc. If a linked task lives in a plan you are not showing, CrossLink adds that plan for you and says which one it added. Clearing the filter puts your original plans back — unless you changed the picker yourself while the filter was on, in which case your selection is yours and CrossLink leaves it alone.
The menu item is grayed out only when the task genuinely has no cross-links ("This task has no cross-links") or when its only cross-link is broken ("This task's only cross-link is broken — the task on the other side no longer exists").
The Monitor
The Monitor is the same information as a worklist. Each row is one link.
It carries the same four chips — All links, Drifted, Slipped, Broken — the same plan picker, and a Search tasks… box that filters on the getter or the giver task name. They stack, so you can show Drifted and search for a task at the same time.
The columns are Status, Getter Task / Plan, Giver Task / Plan, and Variance. Getter is always on the left; the ← between them reads "gets its date from". Variance shows ↑ +N days in red for a slip, ↓ −N days in green for a pull-in, and an em dash when there is nothing waiting. A drifted row is tinted amber with an amber left edge; a broken row is tinted pink with a red left edge.
Beneath the chips a line reads "Showing all N links" (or "Showing 1 link", or "No links yet"). On a very large environment it reads "Showing N of M links — the most this page can show".
Click a row to open its detail on the right. It is headed Link details, Drift on this link, or Broken link, and shows:
- Getter — your task's name, its plan, its current start, and, when a change is waiting, the proposed start.
- Giver — the source task's name, its plan, and its finish date.
- Lag — the spacing, in calendar days, plus the lag policy control (see Create a link).
- Change — slip, pull-in, or aligned.
- Last modified by — who last touched the underlying proposal.
- HISTORY — LAST ACCEPTED — the last few accepts on this link, most recent first. If there are none it reads "No prior accepts — new link".
- Open getter task in Planner ↗ and Open giver task in Planner ↗.
The empty state. With nothing to do the Monitor reads "You're all caught up." and offers + Create a link.
The … menu (top right) holds Export links…, Import links…, About CrossLink, and, for administrators, Clear stuck operation sets, Reset with staged links and Reset clean.
Create a link
You can create a link from either screen. The Timeline is the natural place, because you can see what you are pointing at.
On the Timeline
- Right-click the task that depends — the one whose date should follow something else — and choose New link — this is the getter.
- A banner appears reading "Creating link — pick the giver, then Create link.", and a fly-out opens on the right.
- Right-click the task it should follow, in the other plan, and choose This is the giver.
- Check the fly-out, then press Create link.
You can start from either end: the menu also offers New link — this is the giver. Picking a side again replaces that side rather than starting over. Cancel, the ✕, or Esc abandons the draft and writes nothing.
On the Monitor
Press + Create a link to open a four-step picker: Getter plan, Getter task, Giver plan, Giver task, each reading Pick a plan or Pick a task or milestone until you choose. An Only milestones checkbox narrows the task list. Then press Create link.
Rules CrossLink enforces
- A task cannot link to itself. You will see "A task can't link to itself — pick a different task."
- The same pair cannot be linked twice. "A link already exists between these two tasks."
- Linking two tasks in the same plan gives you a warning, not a block. A Same-plan link dialog explains that Planner's own dependencies may serve you better, and that a CrossLink on top of them can move your getter twice — once by each mechanism. Choose Create link to go ahead anyway, or Cancel. Cross-plan links never see this.
- Either end can be a task or a milestone.
Lag, and the two lag policies
Lag is the spacing between the giver's finish and your task's start, in calendar days — weekends and holidays included. It is signed: positive means your task starts after the giver, zero means they line up, and negative means your task starts before the giver finishes, which CrossLink labels "Getter starts before giver finishes". Negative lag is perfectly legitimate; plenty of work overlaps on purpose.
Every link has a Lag policy. You choose it when you create the link, and you can change it later in the link's detail panel on the Monitor.
| Policy | What a giver slip means |
|---|---|
| Preserve lag (default) | "Any giver move proposes a matching getter move." Your spacing is kept exactly as it is: your task shifts by the same number of days the giver shifted. |
| Buffer | "Slips consume the lag down to the target before drift is proposed." The spacing itself is the protection. Nothing is proposed while the buffer holds. |
Choosing Buffer. Press Buffer, then set a Target lag — the gap you want protected. The target defaults to 0d ("tell me only when the giver would actually reach my task"); the 0d chip sets it back to zero in one click. To protect a bigger gap, type a whole number of calendar days and press Set. The line underneath reads "calendar days of lag this link protects", or, while you have typed something you have not applied, "Target is still 3d — press Set to apply 10d." Out of range, it reads "Enter a whole number of calendar days from 0 to 3650."
Reading a buffered link. The detail panel tells you how many more days of slip the link can absorb. While a slip is being absorbed the change line reads aligned · buffer absorbing — the giver has moved, nothing needs you, and the buffer is doing its job. Slips the buffer absorbs are deliberately not recorded; recording them would recreate the noise the buffer exists to remove.
When the buffer runs out, the link drifts as usual and the proposed change is only the overflow. Accepting it lands your task at exactly the target spacing. A giver moving earlier never proposes anything on a buffered link — it only grows your gap. Switching back to Preserve lag adopts the spacing you have now; anything the buffer already absorbed stays absorbed.
CrossLink preserves your spacing; it never dictates it. If you want to change the spacing, change your task in your own plan in Planner. CrossLink will notice the new spacing and carry it forward.
When a link has Drifted
A giver moved. CrossLink has not touched your task. It is showing you what accepting would do.
Where you see it. On the Timeline, the connector turns amber, a hollow dashed twin of your task appears at the Proposed position, and a pill reading, for example, +2d · Accept sits beside the task name. On the Monitor the row is tinted amber and the Variance column reads ↑ +2 days. The Drifted chip counts them.
Accepting one change. Open the link's detail and read the effect line, which spells it out in plain words — "Accepting moves [your task] from [current date] to [new date] to realign with the giver." The panel shows the old date and the new one, so you can check the arithmetic yourself. Then press Accept change (+2d). The button reads Accepting… while it runs. On the Timeline you can simply press the +2d · Accept chip.
When it lands you will see "Accepted — the task in your plan was updated."
What accepting does, in the app's own words: "Accept sets the getter task to the new date in your plan. Planner reschedules downstream tasks; if a plan constraint blocks the full move, the task lands as close as the plan allows and the link stays in sync."
Accepting takes a few seconds. The change goes through Planner's own scheduling engine, which has to do real work. Twenty seconds is normal.
Accepting several at once
- Use the round select circles on the drifted rows, or the select-all circle in the header. Broken and in-sync rows have none — there is nothing to accept on them.
- A bar appears reading "N selected", with Clear and Accept selected (N).
- A confirmation dialog reads "Accept N updates?" and "This moves each getter task to its proposed dates to realign with its giver. It can't be undone.", and lists every one of them, getter first.
- CrossLink works through them one at a time — "Accepting 3 of 7 updates…", with the note "Keep this page open until it finishes."
- The result reads Batch accept finished, with a tally — "5 accepted · 1 clamped · 1 failed" — and three groups: ACCEPTED, CLAMPED — ACCEPTED, MOVED LESS THAN REQUESTED, and FAILED. Press Done.
Two things that surprise people
A task that did not move the whole way — a "clamped" accept. Sometimes your own plan will not let a task move as far as the proposal asks: an earlier task, a constraint or a dependency in your plan is in the way. CrossLink does not refuse, and does not leave you flagged. Your task moves as close as your plan allows, the accept still counts, and the link will not flag again for that change. You will see "Accepted, but a constraint in your plan held the task at an earlier feasible date." A clamp is a normal, successful outcome, not an error. If you want the full move, make the room in your own plan first.
A flag that changes its number. A flag is never a historical event — it always shows the giver's current difference from the date you last accepted. A giver that pulls in 14 days and then slips past its original date updates the same flag from −14 days to +28 days. It is the same conversation about the same link, showing the latest reality. If the giver moves back to exactly your accepted date, the flag clears on its own.
And one that looks like a bug but is not. Accepting moves a task in your plan, and Planner may move its successors. If one of those successors is the giver for another cross-plan link, that link can now flag. That is a real schedule change reaching the next team down as a decision they get to make. It is the governance working.
When a link is Broken
A link is Broken when one of its two tasks can no longer be read. CrossLink cannot compute a proposal, so there is nothing to accept — and it will not sit in your worklist pretending to be a normal dependency.
Broken links are excluded from the Drifted and Slipped chips. Use Broken to see just them.
The five reasons
| Reason pill | What happened | What to do |
|---|---|---|
| Giver task deleted | The source task is gone, but its plan still exists. Someone deleted that one task. | Look in the plan using Open giver plan in Planner ↗. If the task was recreated, delete this link and create a fresh one. |
| Giver plan deleted | The whole source plan is gone, and every task in it with it. | Nothing to go and look at. Delete the link. |
| Getter task deleted | Your task is gone — the giver is fine. | Check your own plan. If the task was recreated, delete this link and create a fresh one. |
| Getter plan deleted | Your whole plan is gone. | Delete the link. |
| Access denied | The plan may still exist, but you can no longer read it. | Often temporary — a permissions change that gets put back. Ask whoever owns that plan. A link broken this way heals on its own the next time CrossLink can see the plan. |
What a broken link looks like
On the Monitor, the row is tinted pink with a red left edge, the status reads ✕ Broken, the reason appears as a red pill where the variance would be, and the task that is gone is shown struck through. There is no Accept.
On the Timeline, there is no real bar to draw for a task that no longer exists, so CrossLink draws a ghost bar — a dashed, pale-red marker in the row above your task, labeled with the last known task name, struck through, and its plan. Its right edge sits at the last accepted finish: the last date CrossLink can still vouch for. A dashed red connector runs from the ghost to your task.
The detail fly-out is headed Broken link and names the Reason and when the break was detected. It shows the surviving end normally and the lost end as LAST KNOWN — struck-through name, the last accepted finish, and a plain-language line: "This task no longer exists in its plan.", "This task's plan no longer exists.", or "You may have lost access to this plan. This can be temporary." It also shows the lag you had when you last accepted, as a record of how things stood, since nothing can move now.
Accept is never offered on a broken link, anywhere.
Opening the surviving end in Planner. When the plan still exists, the fly-out offers to open it. When the plan itself is gone, that button is hidden — there is nothing to open.
There is no "relink". CrossLink cannot re-point a broken link at a replacement task. If a task was recreated, delete the broken link and create a fresh one.
History, and deleting a link
History. Every link's detail panel carries HISTORY — LAST ACCEPTED: the most recent accepts, newest first, each showing the date you accepted and the dates the task moved between. A link you have never accepted on reads "No prior accepts — new link". A broken link's history line names the break and when it happened.
Deleting a link. Open the link — from either screen — and press Delete link. A confirmation appears:
Delete link
getter ← giver
The link between these tasks will be deleted. Neither task is affected. This can't be undone.
N proposal history item(s) will also be removed.[ Cancel ] [ Delete link ]
Delete removes the watch and nothing else. Your task keeps its dates exactly as they are. The task at the other end is untouched. All it removes is the dependency and its proposal history. You will see "Link deleted."
It cannot be undone. If you want the dependency back later, create a fresh link.
Export and import
On the Monitor, … ▸ Export links… saves every link in this environment to an Excel (.xlsx) file, together with the history behind each one. … ▸ Import links… reads such a file back, into a new environment or into the same one after a rebuild.
Export. CrossLink reports progress — "Preparing export…", "Reading links…", "Reading proposals…", "Resolving provenance…" — then confirms Export links · "Saved to your browser's downloads." with the file name, size, and counts of links, resolved proposals, and open proposals.
Import always previews first and writes nothing until you confirm. Choose the file, and CrossLink reads it ("Checking this environment for existing links…") and shows you what it would do: how many links to create, how many duplicates (skipped), how many invalid rows (skipped), and how many history rows to restore. The problem rows are listed individually under Invalid rows — skipped and Duplicates — already in this environment. Cancel writes nothing at all.
Two things are worth knowing:
- Pending changes are not imported. They are saved into the file so you have a record, but they are never restored, because a pending change is a claim about dates that were true when the file was written. "Open proposals are included for your records only and are never re-imported — after an import, detection recreates any drift that is still real from live Plan dates."
- Links that already exist are skipped, never overwritten. Importing the same file twice is safe.
An old file always works. CrossLink does not stop reading files it has written, and you never need to re-export before an upgrade.
If something is wrong with the file, nothing is changed — all the checks run before the preview is built.
| What happened | What CrossLink says |
|---|---|
| The file came from a newer version of CrossLink | "This file was made by a newer version of CrossLink than the one installed here… Update CrossLink in this environment, or export the file again from the same version you are importing into. Nothing has been changed." |
| The file is damaged, or is not an export at all | "That file could not be read as an Excel workbook. It may be a different kind of file, or it may be damaged. Choose the .xlsx file CrossLink produced when you exported your links, then try again. Nothing has been changed." |
| The file was edited by hand and its version marker is unreadable | The message names the marker and tells you to export again and import the new file. |
What CrossLink changes in your plans, and what it never does
CrossLink changes a date in your plan in exactly one circumstance: you pressed Accept. That is the whole of it.
What Accept writes. It sets the getter task's start and finish in your plan, moving it by the same number of days the giver moved. Planner then reschedules that task's own downstream tasks, exactly as it would if you had dragged the task yourself. If a constraint in your plan blocks the full move, the task lands as close as your plan allows.
What CrossLink never does:
- It never changes a date without an accept. There is no automatic cascade across plans, ever.
- It never writes to the giver's plan. Checking for changes only reads the giver's finish date and name.
- Creating a link changes no dates. Deleting a link changes no dates.
- Changing a lag policy, or a buffer target, changes no dates. It is recorded on the link.
- Importing links creates links; it does not move anything in your plans.
- There is no email and no notification of any kind. CrossLink checks when you open a view, and tells you on screen.
- There is no Ignore, Reject or Dismiss button, by design. Not accepting is declining. A flag simply waits until you accept it, or until the giver moves back to where it was.
One exception, and it is administrator-only. The Reset with staged links and Reset clean commands on the Monitor's … menu do return tasks to baseline dates. They exist for preparing demonstrations, they are visible only to environment administrators, and each asks you to confirm first. See What your administrator manages.
Troubleshooting
I can't get in — it says "Invalid License." A CrossLink license has not been assigned to you. See Need access?.
I'm in, but there are no plans in the picker. The button reads "No plans available" when CrossLink can see no plans you have access to. Check that you can open your plans in Planner, and that you have a Planner plan that includes scheduling (Planner Premium, or Project Plan 3 or above).
The chart is blank and it says "Nothing to show yet". No plan is ticked. Open the plan picker and tick one.
It says "Your cross-plan links are in plans you haven't selected." Your links exist, but none of them touches the plans you have ticked. Add the plans that hold them.
It says "No cross-plan links yet." There are no links anywhere you can see. Right-click a task and choose New link — this is the getter to make the first one. If CrossLink has not been set up in this environment yet, your administrator should open Setup first.
It says "No items match this filter." or "No broken links." Your links are there; the chip or the search box is hiding them. Press All links and clear the search.
"Couldn't load your plans. Check your connection and select Refresh to try again." CrossLink could not read your data and is deliberately showing you nothing rather than something stale or invented. Press Refresh. Last checked was not advanced.
"N linked plan(s) could not be refreshed just now - showing last-known dates. We will retry next time you open." One or more plans were unreachable during the check. The dates on screen are the last known good ones. Press Retry now, or just come back later.
"The check could not run, so the dates shown may be out of date. Press Retry now — if this keeps happening, contact your administrator." The check itself failed. If it persists, the Health page has the detail.
"This check is taking longer than usual and is still finishing in the background. The dates shown are the latest saved results. Press ⟳ Refresh in a couple of minutes to pick up the outcome." Exactly what it says — nothing is wrong, the pass is just slow. Come back and refresh.
I pressed Accept and nothing happened. Accept goes through Planner's own scheduling engine and takes a few seconds — around twenty is normal, and there is no progress bar. If it is genuinely stuck, see the next two entries.
"This is taking longer than expected. Please refresh and check the change." The write was sent but CrossLink stopped waiting for confirmation. Press Refresh and look at the task: it may well have moved.
"The task didn't update as expected. The change was not recorded." The move did not happen, and CrossLink recorded nothing — your link is exactly as it was. Try again. If accepts have stopped working for a whole plan, ask your administrator to run Clear stuck operation sets.
"Accepted, but a constraint in your plan held the task at an earlier feasible date." This is a clamp, and it is a success. Your task moved as far as your plan allowed, and the link will not flag again for this change.
"This change has already been accepted or is no longer current. Refreshing." or "The baseline for this change has shifted. Refreshing your view." Somebody else got there first, or the giver moved again while you were looking. CrossLink refreshes itself; read the new numbers and decide again.
"This link no longer exists. Refreshing your view." Somebody deleted the link while you had it open.
"The task in your plan no longer exists." Your getter task has been deleted. The link will show as Getter task deleted; delete it.
"The lag policy could not be saved. Try again." or "The target lag could not be saved. Try again." The write did not land. If it keeps happening, ask your administrator to check that the CrossLink Lag Policy Writer flow is turned on — detecting and accepting can work perfectly while that one is off.
"The link was created, but the Buffer setting could not be saved, so it is set to Preserve lag. Open the link and choose Buffer again." The link exists and is fine; only the policy did not stick. Open it and set Buffer again.
A flag shows a different number than last time. The giver moved again. A flag always shows the giver's current difference from the date you last accepted, not the difference you first saw.
A new flag appeared right after I accepted something. Expected. Your accept moved a task, Planner moved its successors, and one of those is a giver for someone else's link.
What your administrator manages
Most of CrossLink needs no administration at all. These are the parts that do.
The Setup page walks through five steps, from installed to your first link, and everything on it is measured when the page opens — nothing is remembered, so a step done in Microsoft's own screens simply reads Done next time. If you are not an environment administrator you see a single card instead, because none of the steps are yours to do.
| Step | What it covers |
|---|---|
| 1 — Check CrossLink's connection | Nothing to do. CrossLink's flows run as the person signed in and using them, so they work whether or not the shipped Dataverse connection is bound. This step never blocks anything. |
| 2 — Turn on the engine | CrossLink's four background flows must be on. They arrive on. |
| 3 — Give people access | The CrossLink User role, and the license each person also needs. See Need access?. |
| 4 — Verify that detection works | Run first detection proves the engine answers. |
| 5 — Start linking | Unlocks once detection has answered. |
Licenses. CrossLink is licensed per person, through the Microsoft Marketplace. Buying it puts the plans in your tenant; assigning them is a separate step, and the Setup page is explicit that it cannot check them for you.
The Health page is the fastest answer to "is CrossLink working properly here?". Everything on it is read fresh from your environment when you open it, and nothing on it can change a task date. The band at the top reads ✓ All checks passing, ⚠ N checks need attention, or ⚠ N checks failing. A fact it cannot read is reported as "not readable" and turns the band amber — never green.
Copy diagnostics report is on the Health page and is available to everyone. Press it once, and every value on the page is copied to your clipboard as one plain block of text with a timestamp and your environment identifier. The report also stays on screen so you can read it before you send it.
Every other button on the Health page is visible only to environment administrators — hidden rather than grayed out, because a grayed-out button says "this is for you, but not now" when the truth is "this is not for you". They are:
- Run detection now — runs a check immediately. Safe; it never moves a date.
- Clear stuck operation sets — the repair for when accepting has quietly stopped working. It only releases batches left open for more than 30 minutes, tells you how many it actually cleared, and is safe to run twice. Also on the Monitor's … menu.
- Repair install — re-creates any of CrossLink's own configuration rows that have gone astray. Safe at any time; on a healthy environment it says "Nothing needed repair - CrossLink's own settings are all present."
- Reset flags to defaults — turns every CrossLink feature switch back to its built-in behavior. The only button on the page that asks first, because it discards deliberate choices.
Demo resets. The Monitor's … menu also carries Reset with staged links and Reset clean, visible only to administrators. These are the only commands in CrossLink that change task dates without an accept, and both ask you to confirm. Reset clean warns that "This permanently deletes ALL links, proposals, and change history in this environment, and returns every task and milestone to its original date." They are for preparing demonstrations, not for day-to-day work.
Settings. CrossLink reads a few optional settings from your environment — which roles count as "environment administrator", whether export and import appear on the … menu, and so on. A setting you have not created means "use the normal behavior." An empty settings list is a perfectly healthy installation. Changes take effect the next time a page loads.
Which roles count as administrator is configurable, because role names differ by language and by organization. By default it is System Administrator and System Customizer. It decides who sees the guided Setup page, who sees the Health page's repair buttons, and who sees the reset commands on the Monitor — and nothing else.
Getting help
Before you write in, take the diagnostics. Open Health and press Copy diagnostics report. It is read-only, it changes nothing, you can read the whole thing before you send it, and it answers roughly every question a first support reply contains. If nothing pastes, the text is still on screen — click in the box, press Ctrl+A then Ctrl+C.
Your version numbers are on the Monitor's … ▸ About CrossLink, and on the Timeline's ⓘ beside Refresh. You get three: the CrossLink version itself, the Timeline chart, and Link export / import. Read them out as they appear. If support asks whether they agree with each other, that is a real question — CrossLink deliberately shows both what was installed and what is actually running, because the two can disagree after an upgrade.
Then tell us:
- What you were doing, and on which screen.
- The exact message, word for word.
- The names of the two tasks and the two plans, if it is about one link.
- The time it happened, and your time zone.
- The diagnostics report.
Contact us at powergraph.com/contact or email support@powergraph.com.
Glossary
Accept — the action that applies a proposed date change to your task. The only thing in CrossLink that moves a date in your plan.
Access denied — a broken-link reason. The plan at the other end may still exist, but you can no longer read it. Often temporary, and heals on its own.
Administrator — an environment administrator. By default, someone holding the System Administrator or System Customizer role.
Aligned — no open change on a link. Shown in green.
Baseline — the giver date your link is currently in step with. Set when the link is created, and advanced each time you accept.
Batch accept — accepting several drifted links in one pass, from the Monitor.
Broken — a link whose giver or getter can no longer be read. Nothing to accept. See When a link is Broken.
Buffer — a lag policy. Giver slips consume the spacing down to a target you set before anything is proposed.
Clamp — an accept where your own plan would not let the task move the whole way. It still counts as accepted, and the link will not flag again for that change.
CrossLink User — the security role a person needs in the environment, in addition to a CrossLink license.
Drifted — the giver has moved away from the baseline, so a change is proposed and waiting for you.
Export links / Import links — saving every link in the environment to an Excel file, and reading such a file back. On the Monitor's … menu.
Getter — the task in your plan that depends on another task's date.
Giver — the task that provides a date. When it moves, the getter may have to move.
Ghost bar — the dashed, pale-red marker the Timeline draws in place of a task that no longer exists, at the last date CrossLink can vouch for.
Health — the page that measures whether CrossLink is working properly in this environment, and produces the diagnostics report.
In sync — the getter still lines up with its giver. Nothing to do.
Lag — the spacing between the giver's finish and the getter's start, in calendar days. Signed; it can be negative.
Lag policy — how a link should treat a giver slip. Either Preserve lag or Buffer.
Last checked — when CrossLink last ran a real check over your links. Stamped from the completed check, not from when the page loaded.
Link — one connection between a giver and a getter. The unit CrossLink works in.
Link partner — a task CrossLink borrows from a plan you have not ticked, so that a cross-plan link can draw both of its ends.
Milestone — a task with no duration, drawn as a diamond.
Monitor — the worklist page: every link as a row.
Plan — a plan in Planner.
Preserve lag — the default lag policy. Your spacing is kept exactly; any giver move proposes a matching getter move.
Proposal — CrossLink's statement of what a giver's move would do to your task. It updates in place as the giver keeps moving, and it never acts on its own.
Proposed position — the dashed outline showing where your task would land if you accept.
Pull-in — the giver moved earlier. Shown with a down arrow in green.
Rollup — a summary or phase task, spanning the work beneath it.
Setup — the administrator page that walks an installation from installed to its first link.
Slip — the giver moved later. Shown with an up arrow in red. The Slipped chip shows only these.
Target lag — on a Buffer link, the spacing you want protected. Measured in calendar days, from 0 to 3650.
Task information — the Timeline fly-out listing everything one task gets from and gives to.
Timeline — the chart page: your plans side by side, with the links drawn between them. Where links are created.
Variance — how far the giver has moved from the baseline, in signed days. The number on the Accept chip and in the Monitor's Variance column.