Asana · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Asana Goals API

11 actions 11 updates phrasing extends openapi/asana-goals-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Asana's API. It is a proposal applied on top of the contract, not a document Asana publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 11

$.info
$.paths['/goals/{goal_gid}'].get
$.paths['/goals/{goal_gid}'].put
$.paths['/goals/{goal_gid}'].delete
$.paths['/goals'].get
$.paths['/goals'].post
$.paths['/goals/{goal_gid}/setMetric'].post
$.paths['/goals/{goal_gid}/setMetricCurrentValue'].post
$.paths['/goals/{goal_gid}/addFollowers'].post
$.paths['/goals/{goal_gid}/removeFollowers'].post
$.paths['/goals/{goal_gid}/parentGoals'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Asana Goals API
  version: 1.0.0
extends: openapi/asana-goals-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 10
- target: $.paths['/goals/{goal_gid}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a goal's details
      effect: read
      questions:
      - What does the full record of a goal show?
      - Can I look up a goal's owner, status and metric by ID?
      instructions:
      - text: Show the details of goal {goal}.
        slots:
          goal: path.goal_gid
      - text: Fetch goal {goal}.
        slots:
          goal: path.goal_gid
      method: generated
      generated: '2026-10-01'
- target: $.paths['/goals/{goal_gid}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a goal
      effect: write
      questions:
      - How do I change a goal's status, owner or due date?
      - Do fields I leave out of a goal update stay the same?
      instructions:
      - text: Set goal {goal}'s status to {status}.
        slots:
          goal: path.goal_gid
          status: requestBody.data
      - text: Update goal {goal} with {changes}.
        slots:
          goal: path.goal_gid
          changes: requestBody.data
      method: generated
      generated: '2026-10-01'
- target: $.paths['/goals/{goal_gid}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a goal
      effect: destructive
      questions:
      - Can I delete a goal that's no longer relevant?
      - What does deleting a goal return?
      instructions:
      - text: Delete goal {goal}.
        slots:
          goal: path.goal_gid
      - text: Remove goal {goal} permanently.
        slots:
          goal: path.goal_gid
      method: generated
      generated: '2026-10-01'
- target: $.paths['/goals'].get
  update:
    x-apievangelist-phrasing:
      intent: List goals by team, project or time period
      effect: read
      questions:
      - Which goals does a team have this quarter?
      - Can I list only workspace-level goals?
      - How do I find the goals tied to a portfolio or project?
      instructions:
      - text: List goals for team {team} in time periods {periods}.
        slots:
          team: query.team
          periods: query.time_periods
      - text: Show workspace-level goals in workspace {workspace}.
        slots:
          workspace: query.workspace
      - text: List the goals linked to project {project}.
        slots:
          project: query.project
      method: generated
      generated: '2026-10-01'
- target: $.paths['/goals'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a goal
      effect: write
      questions:
      - How do I create a new goal for my team?
      - Can a goal be created at the workspace level instead of under a team?
      instructions:
      - text: Create a goal named {goal} in my workspace.
        slots:
          goal: requestBody.data
      - text: Set a new team goal with {fields}.
        slots:
          fields: requestBody.data
      method: generated
      generated: '2026-10-01'
- target: $.paths['/goals/{goal_gid}/setMetric'].post
  update:
    x-apievangelist-phrasing:
      intent: Set the metric that tracks a goal
      effect: write
      questions:
      - How do I attach a numeric target to a goal?
      - Will setting a metric replace one the goal already has?
      instructions:
      - text: Set a metric on goal {goal} with target {metric}.
        slots:
          goal: path.goal_gid
          metric: requestBody.data
      - text: Replace goal {goal}'s metric with {metric}.
        slots:
          goal: path.goal_gid
          metric: requestBody.data
      method: generated
      generated: '2026-10-01'
- target: $.paths['/goals/{goal_gid}/setMetricCurrentValue'].post
  update:
    x-apievangelist-phrasing:
      intent: Record a goal metric's current value
      effect: write
      questions:
      - How do I report progress on a goal's metric?
      - What happens if I update the current value on a goal with no metric?
      instructions:
      - text: Set goal {goal}'s current metric value to {value}.
        slots:
          goal: path.goal_gid
          value: requestBody.data
      - text: Record progress of {value} on goal {goal}.
        slots:
          goal: path.goal_gid
          value: requestBody.data
      method: generated
      generated: '2026-10-01'
- target: $.paths['/goals/{goal_gid}/addFollowers'].post
  update:
    x-apievangelist-phrasing:
      intent: Add collaborators to a goal
      effect: write
      questions:
      - How do I add collaborators to a goal?
      - Can several people follow a goal?
      instructions:
      - text: Add collaborators {followers} to goal {goal}.
        slots:
          goal: path.goal_gid
          followers: requestBody.data
      - text: Have {followers} follow goal {goal}.
        slots:
          goal: path.goal_gid
          followers: requestBody.data
      method: generated
      generated: '2026-10-01'
- target: $.paths['/goals/{goal_gid}/removeFollowers'].post
  update:
    x-apievangelist-phrasing:
      intent: Remove collaborators from a goal
      effect: write
      questions:
      - Can I take a collaborator off a goal?
      - How do I stop people following a goal?
      instructions:
      - text: Remove collaborators {followers} from goal {goal}.
        slots:
          goal: path.goal_gid
          followers: requestBody.data
      - text: Stop {followers} following goal {goal}.
        slots:
          goal: path.goal_gid
          followers: requestBody.data
      method: generated
      generated: '2026-10-01'
- target: $.paths['/goals/{goal_gid}/parentGoals'].get
  update:
    x-apievangelist-phrasing:
      intent: List a goal's parent goals
      effect: read
      questions:
      - Which higher-level goals does this goal roll up to?
      - Can I see the parent goals of a goal?
      instructions:
      - text: List the parent goals of goal {goal}.
        slots:
          goal: path.goal_gid
      - text: Show what goal {goal} rolls up into.
        slots:
          goal: path.goal_gid
      method: generated
      generated: '2026-10-01'