[New] Custom weights on goals

Summary

Asana will soon be releasing a feature to define custom weights for objects that contribute to a goal’s progress. The API will support this feature by:

  1. Adding a goals property named metric.is_custom_weight
  2. Modifying the contribution_weight field on the goal_relationships endpoint to accept any value between 0 and 1, whereas it previously only allowed values of 0 or 1

Who is affected

  • All current use cases related to goal progress are still supported
  • Once custom weights is released, developers will be able to read metric.is_custom_weight on a goal and set a custom weight on a goal relationship if the parent goal is measured through custom weight

Timeline

We plant to start rolling out this new behavior to 10% domains on May 15 and 100% on May 16.

Note: May 15 is our tentative target date for launching the weighted goals feature. The actual API implementation will be live sooner than this date. However, users cannot create custom weight goals until we launch the feature in the Asana web app.

Usage

GET /goals/{goal_gid}

Fetch a goal and include the new metric property is_custom_weight

Example request:

GET /goals/12345?opt_fields=metric.is_custom_weight 

Example response:

{
  "gid": "12345",
  "resource_type": "goal",
  "name": "Grow web traffic by 30%",
  "metric": {
    "gid": "678910",
    "resource_type": "goal_metric",
    "progress_source": "subgoal_progress",
    "is_custom_weight": true,
  }
}

PUT /goal_relationships/{goal_relationship_gid}

Update the contribution weight of a goal relationship

Example request:

PUT /goal_relationship/12345?opt_fields=contribution_weight,supporting_resource 
{
  "data": {
    "contribution_weight": 0.5
  }
}

Example response:

{
  "gid": "12345",
  "resource_type": "goal_relationship",
  "contribution_weight": 0.5,
  "resource_subtype": "subgoal",
  "supporting_resource": {
    "gid": "78889",
    "resource_type": "project",
    "name": "Bugs Backlog"
  }
}

Why we’re making this change

Introducing custom weights for goal metrics enhances measurement precision and flexibility, allowing for detailed progress tracking and strategic planning.

API Documentation

Questions and Feedback

The eng team that built weighted goals, alongside the Developer Relations team, will be actively monitoring this topic. This is your direct line to provide feedback and ask questions.

Happy coding!
Jeff

6 Likes

Goal progress can be measured via connected projects. Does this feature allow weighting of those projects, or just subgoals?

Hi Alden,

Goal’s progress can be measured via connected subgoals, projects, or tasks. The custom weight feature allows users to set specific weights for all types of connected objects.