Documentation

How CostFlow works, in plain language.

Not a developer API reference: CostFlow doesn't have a public API yet. This is what the product does, what it refuses to do, and why.

Getting started

Six steps, once, and about a minute of typing if your board is small. Nothing is written back to your tracker at any point.

  1. Connect Jira or ClickUp with a read-only API token.
  2. Scope: pick the Lists or projects to analyse. Picking a container (a ClickUp Space or Folder) includes everything inside it, now and later.
  3. Statuses: confirm which of the six stage kinds each of your statuses is. We pre-fill a suggestion from your board.
  4. Roles: optional. Map people to roles so their work is priced at a role rate rather than the default.
  5. Assumptions: accept or change the rates and thresholds. Nothing is priced on a value you did not confirm.
  6. Run: read-only, and re-runnable whenever you want.

Every step is changeable afterwards from Settings, and re-running is free and non-destructive: past reports stay exactly as they were.

Connecting Jira

You need three things: your site URL (https://your-org.atlassian.net), the email you sign in to Atlassian with, and an API token from id.atlassian.com → API tokens. Create one, name it "CostFlow", and paste it in.

The token inherits your own Jira permissions, so CostFlow sees exactly the projects you see and nothing else. It is used only to read issues, statuses, assignees and changelog history. It is encrypted at rest and never displayed again after you save it. Revoke it in Atlassian and the connection stops working immediately.

Connecting ClickUp

In ClickUp: avatar → SettingsClickUp API under Integrations & ClickApps → Copy. The token starts with pk_. Only use Regenerate if you have no token yet, because regenerating breaks any other tool already using it.

One thing to check before you run. Time spent waiting in a status is the largest cost CostFlow usually finds, and on ClickUp it exists only if a Workspace admin has enabled the Total Time in Status ClickApp. Without it CostFlow still prices overdue and stale work, and it will tell you in the report that wait analysis was skipped and why. Turning the ClickApp on and re-running fills it in.

Mapping statuses and roles

Your status names stay exactly as they are. The stage kind tells CostFlow how to treat the time spent in that status, and it decides whether time counts as work or as waiting.

  • queue — nobody has picked it up yet. Priced as waiting.
  • review — waiting on approval or sign-off. Also priced as waiting, kept separate so approval bottlenecks are visible on their own.
  • active — someone is working on it. Not priced as waiting; this is the work itself.
  • blocked — stopped by something outside the team. Not priced as waiting today. Map it to queue if you want that time counted as wait.
  • done — finished. Excluded from stale and overdue entirely.
  • abandoned — dropped without finishing. Excluded, like done.

Roles are optional and skipping them is the fastest route to a first report. It has one cost: with nobody mapped, every item is priced at the default hourly rate, which caps every figure in the report at confidence C. Mapping the few people who do most of the work raises it.

Understanding your report

A friction is a measurable place where your process loses money without anyone deciding to spend it: work sitting in a queue, items aging past your own threshold, commitments already past their due date. It is not a person, a project or a ticket. It is a stage, in one of your Lists or projects, with a magnitude CostFlow observed in your own data.

The report is ordered for a two-minute read. The top names one place to start and the cost at stake there. Below a labelled divider is the working: every priced friction ranked by cost, what changed since last time, what could not be priced, and how much of your data the analysis could actually see.

Every figure is a range with an expected value, never a single confident-looking number, because the inputs do not support that precision. Open How this number was computed on any friction to see the formula, every contributing work item, and each assumption with where it came from.

Confidence caps how much of the figure was observed rather than inferred. A means demonstrated in your event history. B means consistent with it, usually because a duration was inferred from snapshot dates rather than read from transitions. C means directionally supported, most often because a default rate was applied to people who were not mapped to roles. A finding never outranks one of a higher grade, however large it is.

Assumptions and rates

Two kinds of value go into every price: rates (what an hour costs) and parameters (your aging threshold, and how much attention a waiting item consumes per day). CostFlow suggests a starting value for each one.

A suggestion is never used to price anything. Until you accept a value or replace it with your own, it stays vendor-suggested and every friction that depends on it is reported as measured but unpriced, with the assumption it is waiting on named. That is deliberate: a number you did not agree to is a number you cannot defend in a meeting.

You can enter pay as an hourly rate or as a monthly salary, in which case CostFlow divides it into an hourly rate by exact decimal arithmetic and shows you the result. Change any assumption in Settings and re-run; old reports keep the assumptions they were computed with.

When CostFlow refuses to answer

Some of what the product does is decline, and each refusal names its own reason.

  • Unpriced frictions. Found and measured, but resting on an assumption you have not confirmed. The fix is one click on the assumptions step.
  • A skipped detector. Your data cannot support it, for example wait analysis without status history. The report says which capability is missing and, where you can fix it, how.
  • No trend. Run-over-run comparison is withheld when the two runs are not measuring the same thing: the scope changed, an assumption changed, or a detector that used to skip now runs. A total moving for those reasons is not your team improving, so no arrow is drawn.
  • No recommendation. Below a certain amount of evidence CostFlow names the largest measured cost instead of recommending an intervention, and says which of the two you are reading.

A refusal is never presented as a clean result. If nothing could be priced, the report says so and tells you what is blocking it.

Exporting your data, and deleting it

Today every report has a printable version (use your browser's Print → Save as PDF) and a full itemized view containing every contributing work item and its arithmetic, including the rows the on-screen report truncates for length.

Machine-readable export — JSON and CSV — and a documented API are planned and not built. If you need the underlying data for an audit before then, email us and we will get it to you.

Deleting a workspace or your organization removes it and every report derived from it, in one transaction, with no retained copy.

Not covered here? support@fbx1.com. A real person answers.