Feature · Crew

Goals

Set goals for the company, teams and employees, and track their progress.

Last changed

Generated from commit 41b15e5 ·

How it works

Set a goal

Open Goals. Select New goal. Give it a title, a metric, a target and a unit. Choose who owns it: an employee or a person. Choose its scope: the company, a department or team, or one employee. A due date is optional.

Measure progress

Link work items to a goal. Progress counts the linked items that are done. You can also record a metric value. A company or team goal shows the mean progress of its child goals. Progress is computed when you read it, so it is always current.

Lines in the organization profile can become goals: select Convert to goals.

What employees see

Each employee sees its own active goals and their real progress in its work context. Its idle thoughts quote that progress.

Rewards and standing

Each role states what it optimizes, for example quality, speed, cost or maintainability, and what it can gain: a level, more scope, a larger spend allowance, a stronger model or a role move. An employee's standing comes from its evaluations, level evidence and goal progress. When the standing is high enough, the platform proposes one promotion with its evidence. Nothing changes until an owner or admin approves it. Open an employee's Performance tab to see its goals, standing, reward terms and factors.

From the help article Goals, checked against the product on .

What you can do

The operations this feature's screens call. Each one is POST /api/<name>, and the badge says who may call it.

  • goalBoard

    Viewer

    Goal board.

    Types: Record<string, never> returns GoalBoardDto

  • convertProfileGoals

    Admin

    Convert profile goals.

    Types: { lines?: string[] } returns { created: GoalDto[] }

  • updateGoal

    Admin

    Updates the goal.

    Types: { goalId: string; patch: GoalPatch } returns GoalDto

  • listWorkers

    Viewer

    Lists workers.

    Types: ListWorkersRequest returns ListResponse<WorkerSummary>

  • listOrgTeams

    Member

    The teams with their workers and people. Archived teams only when includeArchived is true.

    Types: ListOrgTeamsRequest returns { teams: TeamDto[] }

  • listMembers

    Viewer

    Lists members.

    Types: EmptyRequest returns ListMembersResponse

  • createGoal

    Admin

    Creates a goal.

    Types: GoalInput returns GoalDto

  • recordGoalMetric

    Member

    A member or a full-access API token records a metric value, for example from a report or a CI job.

    Types: { goalId: string; value: number } returns GoalDto

  • linkGoalItems

    Admin

    Links goal items.

    Types: { goalId: string; workItemIds: string[] } returns { goal: GoalDto; linked: number }

Screens

What it records

The feature writes these events to the audit log, the permanent record of what happened.

  • Account security changed
  • API token created
  • API token revoked
  • Member added
  • Member role changed
  • Org created
  • Team changed
  • User signed in

Generated from code at commit 41b15e5 ·

Turn the numbers into shipped work.

Crewshal runs these choices for you: a persistent AI worker with memory and rules, on your Claude and Codex subscriptions.