Skip to content
view raw .md

Track progress against a goal

Report how a Dailybot goal is going: goals with progress and projects, the is_partial flag, and the open work behind a goal.

Beta

Plan is in beta. Everything under /plan in the web app, the CLI and agent skill commands for projects, goals, boards and tasks, and the /v1/plan/ public API may change before general availability. Want to try it with your team? Write to [email protected].

A goal says what the work is for; the tasks under its projects say how it is going. This recipe builds a goal status report: every goal active today with its progress, then the open work behind one of them.

1. Goals active today, with progress

curl -sS "https://api.dailybot.com/v1/plan/goals/?active_on=$(date +%F)&include=progress,projects" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" \
  | jq '.results[] | {name, status, done: .progress.completed, total: .progress.total, percent: .progress.percent_complete, partial: .progress.is_partial}'
  • active_on keeps goals whose period covers that date.
  • include=progress,projects adds the progress roll-up and the linked projects. They are absent by default because each is an aggregate; an unknown token is 400 invalid_filter_value.
  • status is the goal’s declared status (on_track, at_risk, …); progress is measured from tasks. Show both.

From the CLI:

dailybot plan goal list --include progress --include projects

2. One goal in detail

The detail endpoint always includes progress, projects and project_count:

curl -sS "https://api.dailybot.com/v1/plan/goals/$GOAL/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN"
{
  "uuid": "00000000-0000-4000-8000-000000000006",
  "name": "Q4 Roadmap",
  "status": "on_track",
  "period_start": "2026-10-01",
  "period_end": "2026-12-31",
  "progress": { "total": 40, "completed": 18, "open": 22, "blocked": 3, "overdue": 2, "percent_complete": 45, "is_partial": true },
  "project_count": 2,
  "projects": [ { "uuid": "00000000-0000-4000-8000-000000000001", "name": "Platform", "health": "on_track" } ]
}

From the CLI:

dailybot plan goal get "$GOAL"

3. Respect is_partial

Progress counts only the tasks you can see. When some of the goal’s work sits on boards you cannot see, is_partial is true. Say so wherever you show the number, for example “45% of the work visible to you”. Never present it as the organization’s progress.

4. The open work behind the goal

The task list’s goal filter matches a task’s own goal, or the goal it inherits from its project, the same rule the progress roll-up uses, so the list and the numbers agree:

curl -sS "https://api.dailybot.com/v1/plan/tasks/?goal=$GOAL&state=open&sort=due_date" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" | jq '.results[] | {key, title, due_date, state: .state.name}'

Add &blocked=true for what is stuck, or &due_before=$(date +%F) for what is late.

Reference