Goals

A goal is an object in the goal-tracking system that helps your organization drive measurable results.


GoalCompact

PropertyTypeDescription
gidstringGlobally unique identifier of the resource, as a string.
resource_typestringThe base type of this resource.
namestringThe name of the goal.
ownerobjectA user object represents an account in Asana that can be given access to various workspaces, projects, and tasks.
owner.gidstringGlobally unique identifier of the resource, as a string.
owner.resource_typestringThe base type of this resource.
owner.namestringRead-only except when same user as requester. The user’s name.

Example JSON for GoalCompact:

{
  "gid": "12345",
  "resource_type": "goal",
  "name": "Grow web traffic by 30%",
  "owner": {
    "gid": "12345",
    "resource_type": "user",
    "name": "Greg Sanchez"
  }
}

Goal

PropertyTypeDescription
gidstringGlobally unique identifier of the resource, as a string.
resource_typestringThe base type of this resource.
namestringThe name of the goal.
html_notesstringThe notes of the goal with formatting as HTML.
notesstringFree-form textual information associated with the goal (i.e. its description).
due_onstringThe localized day on which this goal is due. This takes a date with format YYYY-MM-DD.
start_onstringThe day on which work for this goal begins, or null if the goal has no start date. This takes a date with YYYY-MM-DD format, and cannot be set unless there is an accompanying due date.
is_workspace_levelbooleanConditional. This property is only present when the workspace provided is an organization. Whether the goal belongs to the workspace (and is listed as part of the workspace’s goals) or not. If it isn’t a workspace-level goal, it is a team-level goal, and is associated with the goal’s team.
likedbooleanTrue if the goal is liked by the authorized user, false if not.
likes[object]Array of likes for users who have liked this goal.
likes[]objectAn object to represent a user's like.
likes[].gidstringGlobally unique identifier of the object, as a string.
likes[].userobjectA user object represents an account in Asana that can be given access to various workspaces, projects, and tasks.
likes[].user.gidstringGlobally unique identifier of the resource, as a string.
likes[].user.resource_typestringThe base type of this resource.
likes[].user.namestringRead-only except when same user as requester. The user’s name.
num_likesintegerThe number of users who have liked this goal.
teamobjectConditional. This property is only present when the workspace provided is an organization.
team.gidstringGlobally unique identifier of the resource, as a string.
team.resource_typestringThe base type of this resource.
team.namestringThe name of the team.
workspaceobjectA workspace is the highest-level organizational unit in Asana. All projects and tasks have an associated workspace.
workspace.gidstringGlobally unique identifier of the resource, as a string.
workspace.resource_typestringThe base type of this resource.
workspace.namestringThe name of the workspace.
followers[object]Array of users who are members of this goal.
followers[]objectA user object represents an account in Asana that can be given access to various workspaces, projects, and tasks.
followers[].gidstringGlobally unique identifier of the resource, as a string.
followers[].resource_typestringThe base type of this resource.
followers[].namestringRead-only except when same user as requester. The user’s name.
time_periodobject

Full object requires scope: time_periods:read

A generic Asana Resource, containing a globally unique identifier.
time_period.gidstringGlobally unique identifier of the resource, as a string.
time_period.resource_typestringThe base type of this resource.
time_period.end_onstringThe localized end date of the time period in YYYY-MM-DD format.
time_period.start_onstringThe localized start date of the time period in YYYY-MM-DD format.
time_period.periodstringThe cadence and index of the time period. Values can be: FY, H1, H2, Q1, Q2, Q3, Q4.
time_period.display_namestringA string representing the cadence code and the fiscal year.
metricobjectA generic Asana Resource, containing a globally unique identifier.
metric.gidstringGlobally unique identifier of the resource, as a string.
metric.resource_typestringThe base type of this resource.
metric.resource_subtypestringThe subtype of this resource. Different subtypes retain many of the same fields and behavior, but may render differently in Asana or represent resources with different semantic meaning. Values can be: number.
metric.precisionintegerConditional. Only relevant for goal metrics of type Number. This field dictates the number of places after the decimal to round to, i.e. 0 is integer values, 1 rounds to the nearest tenth, and so on. Must be between 0 and 6, inclusive. For percentage format, this may be unintuitive, as a value of 0.25 has a precision of 0, while a value of 0.251 has a precision of 1. This is due to 0.25 being displayed as 25%.
metric.unitstringA supported unit of measure for the goal metric, or none. Values can be: none, currency, percentage.
metric.currency_codestringISO 4217 currency code to format this custom field. This will be null if the unit is not currency.
metric.initial_number_valuenumberThis number is the start value of a goal metric of type number.
metric.target_number_valuenumberThis number is the end value of a goal metric of type number. This number cannot equal initial_number_value.
metric.current_number_valuenumberThis number is the current value of a goal metric of type number.
metric.current_display_valuestringThis string is the current value of a goal metric of type string.
metric.progress_sourcestringThis field defines how the progress value of a goal metric is being calculated. A goal's progress can be provided manually by the user, calculated automatically from contributing subgoals, projects, or tasks, or managed by an integration with an external data source, such as Salesforce. Values can be: manual, subgoal_progress, project_task_completion, project_milestone_completion, task_completion, external.
metric.is_custom_weightbooleanConditional. Only relevant if metric.progress_source is one of subgoal_progress, project_task_completion, project_milestone_completion, or task_completion. If true, we use the supporting object's custom weight to calculate the goal's progress. If false, we treat all supporting objects as equally weighted
metric.can_managebooleanConditional. Only relevant for progress_source of type external. This boolean indicates whether the requester has the ability to update the current value of this metric. This returns true if the external metric was created by the requester, false otherwise.
ownerobjectA user object represents an account in Asana that can be given access to various workspaces, projects, and tasks.
owner.gidstringGlobally unique identifier of the resource, as a string.
owner.resource_typestringThe base type of this resource.
owner.namestringRead-only except when same user as requester. The user’s name.
current_status_updateobjectThe latest status_update posted to this goal.
current_status_update.gidstringGlobally unique identifier of the resource, as a string.
current_status_update.resource_typestringThe base type of this resource.
current_status_update.titlestringThe title of the status update.
current_status_update.resource_subtypestringThe subtype of this resource. Different subtypes retain many of the same fields and behavior, but may render differently in Asana or represent resources with different semantic meaning. The resource_subtypes for status objects represent the type of their parent. Values can be: project_status_update, portfolio_status_update, goal_status_update.
statusstringThe current status of this goal. When the goal is open, its status can be green, yellow, and red to reflect "On Track", "At Risk", and "Off Track", respectively. When the goal is closed, the value can be missed, achieved, partial, or dropped. Note you can only write to this property if metric is set.

Example JSON for Goal:

{
  "gid": "12345",
  "resource_type": "goal",
  "name": "Grow web traffic by 30%",
  "html_notes": "<body>Start building brand awareness.</body>",
  "notes": "Start building brand awareness.",
  "due_on": "2019-09-15",
  "start_on": "2019-09-14",
  "is_workspace_level": true,
  "liked": false,
  "likes": [
    {
      "gid": "12345",
      "user": {
        "gid": "12345",
        "resource_type": "user",
        "name": "Greg Sanchez"
      }
    }
  ],
  "num_likes": 5,
  "team": {
    "gid": "12345",
    "resource_type": "team",
    "name": "Marketing"
  },
  "workspace": {
    "gid": "12345",
    "resource_type": "workspace",
    "name": "My Company Workspace"
  },
  "followers": [
    {
      "gid": "12345",
      "resource_type": "user",
      "name": "Greg Sanchez"
    }
  ],
  "time_period": {
    "gid": "12345",
    "resource_type": "time_period",
    "end_on": "2019-09-14",
    "start_on": "2019-09-13",
    "period": "Q1",
    "display_name": "Q1 FY22"
  },
  "metric": {
    "gid": "12345",
    "resource_type": "task",
    "resource_subtype": "number",
    "precision": 2,
    "unit": "example string",
    "currency_code": "EUR",
    "initial_number_value": 5.2,
    "target_number_value": 10.2,
    "current_number_value": 8.12,
    "current_display_value": "8.12",
    "progress_source": "manual",
    "is_custom_weight": false,
    "can_manage": true
  },
  "owner": {
    "gid": "12345",
    "resource_type": "user",
    "name": "Greg Sanchez"
  },
  "current_status_update": {
    "gid": "12345",
    "resource_type": "status_update",
    "title": "Status Update - Jun 15",
    "resource_subtype": "project_status_update"
  },
  "status": "green"
}
Asana Home
Asana helps you manage projects, focus on what's important, and organize work in one place for seamless collaboration.
© 2023 Asana, Inc.