Skip to main content

Quest tracker for DMs

Track quests the way Multiloop does.

A DM-facing guide to running quests on the live Multiloop model: five status columns, player-visible next actions, and DM-only pressure notes. Use it inside Multiloop, or copy the same structure into any notes app.

Two example quests below show a filled-in row using the same structure as the native quest editor. Names and session numbers are placeholders.

Example quest board

Five columns. One DM-only pressure note.

Every Multiloop quest sits in exactly one of these five columns. The active row can also carry a player-visible next action and DM-only pressure notes, but those are not extra columns.

Quest status

  1. Available

    A hook exists. The party has not committed yet.

    Example row

    A stolen ledger page, posted as a Rumerton job.

  2. Active

    The party took it. Movement is the expectation.

    Example row

    Deliver Quill's sealed letter to Mireport.

    Player-visibleNext action

    Reach Saltwright ahead of the rival before session 12.

    DM onlyWaiting reasonStalled

    If they wait

    The rival claims the Saltwright page first; the letter becomes useless.

  3. Completed

    The stakes paid off in the party's favor.

    Example row

    The Redmarket job, paid out in Rumerton.

  4. Failed

    The stakes paid off against the party.

    Example row

    The Saltwright courier roster, burned before they reached it.

  5. Abandoned

    The party walked away. The row retires.

    Example row

    A smuggler's errand the party turned down in session 9.

Quest record guide

How the quest record is organized.

Use this as a quick map for where each piece of quest information belongs. These are the parts of the quest record, written as a DM-facing checklist.

Quest status
Available, Active, Completed, Failed, or Abandoned. This is the column the quest lives in and the state players can see when the quest is shared.
DM-only waiting reason
Stalled, Delayed, Ignored, Derailed, or blank. Use it only on an active or available quest that has stopped moving. It is a DM-only note on top of status, not another status.
Next action
One concrete sentence describing the move that would advance the quest next session. This is share-safe.
If they wait
DM-only pressure prep: what the world does if the party does not act. This stays out of shared quest views.
DM notes and secrets
Private reveal triggers, hidden motivations, and any one-line session delta you want in prose. These stay on the DM side.
Session movement
Quest movement is recorded by linking the quest to the session that moved it. Status changes during an active session can create a link automatically, Analysis can propose one from session notes, and DMs can add one manually.

Two worked quests

One commissioned. One the party made without meaning to.

Same quest record shape. Very different quests. Read either card for a minute and you should be able to run it next session.

ActiveDM onlyStalledSource / NPC offer

The stolen ledger page

A paid commission the party accepted but has not moved on in three sessions. Status is active; the DM-only waiting reason is Stalled.

Description (share-safe)
Quill Harrowfen, an archivist in Rumerton, has paid the party to recover a stolen ledger page before a rival patron claims it. 500 gold on delivery.
Quest giver (character link)
Quill Harrowfen.
Quest giver location (location link)
Rumerton.
Objective location (location link)
Saltwright.
Status
Active. Accepted in session 9; last moved in session 11.
DM onlyWaiting reason (DM-only)
Stalled. The quest is active, but no movement in three sessions.
Next action
Reach Saltwright before the rival files the claim. Ask who at the dock would know.
DM onlyIf they wait (DM-only)
Rival files the claim first. Quill converts the offer to a favor owed instead of coin.
Rewards description
500 gold on delivery, or an equivalent favor if the rival gets there first.
Objectives
Reach Saltwright ahead of the rival. Identify the rival's patron.
PublicSummary (share-safe)
Recover a misplaced document for an archivist. Collect on delivery.
DM onlyDM notes
Quill is building a case against Factor Madric. The page is the chain-of-custody evidence she needs. Rival may be hired by Madric or by someone in his Guild.
DM onlySecrets (DM-only)
The seal on the page identifies Madric as the Rumerton skimmer. Revealing it publicly is a campaign-level consequence.

Last change from session notes

Session 12: party sailed for Saltwright without settling the Mireport ledger line. Recorded as a session link with progress type "progressed".

ActiveSource / Emergent from a player choice

The thief's debt

The party never accepted this one formally. A player choice in session 12 turned a spared life into an obligation. Status is active. No waiting reason set yet; the row is young.

Description (share-safe)
The party spared a Rumerton thief in session 12 instead of turning him over. The thief now owes the party a favor; the form is unspecified.
Quest giver (character link)
Unnamed so far. The thief record may be created if he surfaces again.
Quest giver location (location link)
Rumerton.
Objective location (location link)
Rumerton, probably.
Status
Active. No waiting reason set yet.
Next action
Next time in Rumerton, let the thief reach out. Or have Viv ask the dockside cook who he runs with.
DM onlyIf they wait (DM-only)
The crew chooses the form of repayment. Probably a job the party would not have picked.
Rewards description
An unspecified favor from a connected Rumerton thief.
PublicSummary (share-safe)
Cass spared a thief instead of turning him over. He owes the party a favor.
DM onlyDM notes
The thief runs the Rumerton side of a smuggling route the Mireport factors quietly depend on. Paying the debt may touch the smugglers directly. Decide whether the thief comes looking or the party has to hunt him down.
DM onlySecrets (DM-only)
The thief knows Madric uses the same smugglers. That is the hook he will trade the favor for.

Last change from session notes

Session 12: Cass spared the thief. Recorded as a session link with progress type "started".

The quest record / field by field

What each row is for.

Three groups. Promise is written once when the row opens. State is where most session updates land. Truth is what the players can name, what they cannot yet, and the one ambiguity that keeps the row alive.

Group

Identity

The share-safe frame of the quest: name, type, status, who drives it, and where it happens. These are the parts of the quest players may eventually see.

  1. Name

    Use the name the party would repeat at the table, not your private working title.

    Example / The stolen ledger page.

  2. Type

    Pick the closest quest type, such as Main quest, Side quest, Personal quest, Faction quest, Plot thread, or Rumor. This is a category, not a lifecycle.

    Example / Side quest, for a paid commission that is not the campaign spine.

  3. Status

    Use one of the five quest statuses: Available, Active, Completed, Failed, Abandoned. This is the quest lifecycle.

    Example / Active. The party accepted it in session 9; they have not finished, failed, or walked away from it.

  4. Quest giver and locations

    Link the quest giver character, the place the quest came from, and the objective location when they exist. Leave them blank for self-imposed or emergent quests.

    Example / Giver: Quill Harrowfen. Giver location: Rumerton. Objective location: Saltwright.

Group

Pressure

What changes session to session. This is where the next step, pressure, deadline, and DM-only waiting reason live.

  1. Next action

    One concrete sentence the party could act on next session. This is share-safe and can be visible when the quest is shared.

    Example / Reach Saltwright before the rival files the claim.

  2. If they wait

    DM-only pressure prep: what the world does if the party does not act. This stays out of shared quest views.

    Example / Rival files the claim first. Quill converts the offer to a favor owed instead of coin.

  3. Waiting reason

    A DM-only scan note for an active or available quest that stopped moving. Use Stalled, Delayed, Ignored, Derailed, or leave it blank.

    Example / Stalled. Accepted in session 9, no real movement in three sessions.

  4. Time limit

    Use this only for explicit deadlines ("before the next new moon", "by the tenth bell"). For pressure without a deadline, leave it blank and use If they wait instead.

    Example / Before the Saltwright assizes convene, next tenday.

Group

Story

The narrative layers of the quest. Description and summary are share-safe; objectives are structured; DM notes and secrets stay on the DM side of the screen.

  1. Summary and description

    Summary is the short frame the party would repeat in a recap. Description is the fuller setup and stakes. Write both as share-safe.

    Example / Summary: Recover a misplaced document for an archivist. Description: Quill has paid the party 500g on delivery and loses standing if another patron claims the page first.

  2. Objectives

    Use one objective per concrete goal the party is working on. Mark optional objectives as optional instead of burying that note in prose.

    Example / Reach Saltwright ahead of the rival. Identify the rival's patron.

  3. Success outcome and failure outcome

    Write what success changes in the world and what failure changes. Keep both share-safe if the quest may be shared.

    Example / Success: Quill publishes the ledger and names Madric. Failure: Madric silences the archivist and the campaign loses a contact.

  4. Rewards

    Use narrative reward text plus payout notes when those numbers matter. Keep this share-safe.

    Example / 500 gold on delivery. An equivalent favor if the rival reaches the page first.

  5. DM notes and secrets

    Keep reveal triggers, private motivations, and any one-line delta from the most recent session note here. There is no separate "last change from session notes" field; session links record movement, and DM notes hold the prose delta.

    Example / DM notes: Quill is building a case against Madric. Session 12 delta: party sailed for Saltwright without settling the Mireport lead. Secrets: the seal on the page names Madric as the skimmer.

One more row

How Multiloop records what moved.

There is no separate 'last change from session notes' quest field. Multiloop records quest movement through session links: a status change during an active session can create one automatically, Analysis can propose one from session notes, and DMs can add one manually. If you want a one-line prose delta, write it into DM notes. A quest row with no next action, no waiting reason, and no recent session link is a signal to move the quest to completed, failed, or abandoned.

Tracker rhythm

Add on pressure. Update only on movement. Retire often.

A quest tracker fails when it becomes a second campaign to run. These three rules keep it under thirty rows and keep every row alive.

  1. 01

    First pressure

    Add

    Create the quest record the first time the quest pushes on the party: they accept it, the giver starts watching the clock, or a player choice pins an obligation to them. Set the status to Available if the hook exists but the party has not committed; set it to Active the moment they commit. Fill the share-safe description, summary, and (where relevant) the quest giver and location links. Leave rewards and DM notes for later if you do not have them yet.

  2. 02

    Sessions that moved it

    Update

    Edit the parts of the quest that changed in the session: status if the quest completed, failed, or was abandoned; next action after every session that moved it; if they wait when the pressure changes. Set or clear the waiting reason on active or available quests that stalled, were delayed, were ignored, or mutated. Status changes during an active session can create a session link automatically; add a manual session link if the quest moved narratively without a status shift.

  3. 03

    Completed, failed, or abandoned

    Close

    Move the quest to completed, failed, or abandoned when the stakes pay off one way or another. There is no "retire" status: closing the row is done through the three terminal statuses. If a quest sits on active or available for three sessions with no next action and no movement, it is a signal to decide whether it is actually abandoned, or whether the waiting reason "Ignored" captures the state more honestly.

A ship captain's cabin at evening, with charts, an open ledger, and a lantern pulled close over an unfinished contract.

A quest is a promise with a clock. The tracker keeps the promise; the clock keeps the pressure.

Margin rule / cut

Leave these out of the ledger.

Every row you write is a row you maintain. Keep the tracker small by keeping these out of it.

  • Plot outline entries the party has not heard and has not touched.
  • Every rumor. A rumor is a tracker row only when the party or the world pins it to them.
  • Quests that hit a terminal status last session (completed, failed, or abandoned); move them to an archive list.
  • Detailed payouts and rules math. Those live on the quest detail, not the tracker.
  • Lore you wish were a quest but is not a promise yet.
  • Copy-pasted descriptions from published adventures or paid quest bundles.

Margin rule / write

How this fits Multiloop

Every row above is a real quest record in the Quests module. The product holds the structure; you hold the judgment about what belongs on the record.

  1. 01Quests live in the Quests module. Each row carries one of five statuses, links to a quest giver character and relevant locations, an objectives list, share-safe summary and outcome text, and DM-only notes, secrets, waiting reason, and if-they-wait pressure prep.
  2. 02Session notes and shared player notes drive Analysis. It can propose new quest records and create or update the session link that records how an existing quest moved. It does not rewrite every quest field for you; approve supported suggestions, then use the native editor for deliberate field edits.
  3. 03Faction references stay as rich-text mentions inside description, DM notes, or secrets for now; there is no quest-to-faction structured link. Quest-to-session linkage is structured and is the main way Multiloop records that a quest moved.

Quest sharing happens through the campaign share view. Each quest has a player-view setting (Public, Party-only, or DM-only) that gates whether it appears in the shared view. DM notes, secrets, if-they-wait, and waiting-reason content are kept out of the shared view so DM-only pressure prep never leaks.

Next prep opens with approved new quest records already in place, recent session links visible, and active or available quests reviewed against waiting reason so nothing rots silently.

Copy the outline into your notes app.

Markdown / plain text

This works in a plain document, a markdown file, a notebook page, or a campaign workspace. One file per quest, or one block per quest in a single file. Select and copy.

# Quest: [name]

Identity (share-safe)
   Type:                 (main quest / side quest / rumor / ...)
   Status:               (available / active / completed / failed / abandoned)
   Quest giver:          (character record)
   Quest giver location: (location record)
   Objective location:   (location record)

Pressure
   Next action:          (player-visible, one concrete sentence)
   If they wait:         (DM-only)
   Waiting reason:       (DM-only; stalled / delayed / ignored / derailed / none)
   Time limit:           (optional, only if there is a real deadline)

Story
   Summary:              (share-safe, one line)
   Description:          (share-safe, two to five lines)
   Objectives:           (each objective is a row; flag optional ones)
   Success outcome:      (share-safe)
   Failure outcome:      (share-safe)
   Rewards description:  (share-safe)
   Reward value / payout: (share-safe)

DM only (stripped from share payloads)
   DM notes:             (motivations, one-line session deltas, reveal triggers)
   Secrets:              (true-but-hidden facts with reveal conditions)

FAQ

Before you open your first row.

What is the difference between a quest tracker and a plot outline?
A plot outline tracks what you want to happen. A quest tracker tracks what the party agreed to, what the world is waiting for, and what changed. The two can disagree; when they do, the tracker wins, because it is what is true in play.
When should a quest be closed, not just left alone?
Multiloop has three terminal statuses: completed, failed, and abandoned. Move the quest into whichever one matches what actually happened. If a quest has sat on active with no next action and no session link in three sessions, decide whether it is abandoned, or whether the waiting reason "Ignored" describes it more honestly; both are valid answers, but leaving it as a silent active row is not.
What about side quests the party created themselves?
They belong in the Quests module the same as any other row. Open them with status active the moment a player choice pins an obligation on the party; status available if the hook exists but nobody has committed yet. You can note "emergent from a player choice" in DM notes if it helps you reason about the quest; there is no emergent quest status.
Do I need to track every rumor or hook?
No. A rumor becomes a tracker row only when one of three things happens: the party accepts it, the world applies pressure that will affect them later, or a player makes a choice that pins it to them. Rumors without any of those stay in your session note.
Does this work outside D&D?
Yes. The structure is system-agnostic. Pathfinder, Call of Cthulhu, Blades in the Dark, and most campaign-based tabletop RPGs fit the same promise-first model.
Do I need a tool, or will a document work?
A document works. Many DMs run the tracker as a spreadsheet or a single markdown file sorted by quest title. A campaign manager helps once rows start connecting to NPCs, locations, and sessions, and you want those connections to stay current. Faction references stay as rich-text mentions for now.

Get Early Access

Keep the promises moving after the game.

Multiloop holds each quest in the Quests module, links it to the NPCs, locations, and sessions it touches, references factions by mention, and turns DM and shared player notes into reviewable new quests and session-link updates.