# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Asana Projects API version: 1.0.0 extends: openapi/asana-projects-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: 19 - target: $.paths['/projects'].get update: x-apievangelist-phrasing: intent: List projects filtered by workspace or team effect: read questions: - How do I list projects across a workspace or team? - Can I exclude archived projects when listing projects? instructions: - text: List the projects in workspace {workspace}. slots: workspace: query.workspace - text: Show projects for team {team} where archived is {archived}. slots: team: query.team archived: query.archived method: generated generated: '2026-10-01' - target: $.paths['/projects'].post update: x-apievangelist-phrasing: intent: Create a project effect: write questions: - How do I create a new project in Asana? - Can a project's workspace be changed after it's created? instructions: - text: Create a new project called {project}. slots: project: requestBody.data - text: 'Set up a new project with these settings: {fields}.' slots: fields: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/projects/{project_gid}'].get update: x-apievangelist-phrasing: intent: Get a project's details effect: read questions: - What does the full record for one project include? - Can I look up a project's owner and due date by its ID? instructions: - text: Show the details of project {project}. slots: project: path.project_gid - text: Fetch the complete record for project {project}. slots: project: path.project_gid method: generated generated: '2026-10-01' - target: $.paths['/projects/{project_gid}'].put update: x-apievangelist-phrasing: intent: Update a project's settings effect: write questions: - How can I rename a project or change its owner? - Can I archive a project by updating it? instructions: - text: Archive project {project}. slots: project: path.project_gid - text: Update project {project} with {changes}. slots: project: path.project_gid changes: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/projects/{project_gid}'].delete update: x-apievangelist-phrasing: intent: Delete a project effect: destructive questions: - What happens when I delete a project? - Can I remove a project permanently through the API? instructions: - text: Delete project {project}. slots: project: path.project_gid - text: Remove project {project} for good. slots: project: path.project_gid method: generated generated: '2026-10-01' - target: $.paths['/projects/{project_gid}/duplicate'].post update: x-apievangelist-phrasing: intent: Duplicate a project effect: write questions: - Can I copy a whole project including its tasks and members? - Does duplicating a project return a job I have to poll? instructions: - text: Duplicate project {project} as {new_project}. slots: project: path.project_gid new_project: requestBody.data - text: Make a copy of project {project}. slots: project: path.project_gid method: generated generated: '2026-10-01' - target: $.paths['/tasks/{task_gid}/projects'].get update: x-apievangelist-phrasing: intent: List the projects a task belongs to effect: read questions: - Which projects is a given task part of? - Can I see every project a task has been multi-homed into? instructions: - text: List the projects that task {task} is in. slots: task: path.task_gid - text: Show which projects contain task {task}. slots: task: path.task_gid method: generated generated: '2026-10-01' - target: $.paths['/teams/{team_gid}/projects'].get update: x-apievangelist-phrasing: intent: List a team's projects effect: read questions: - What projects does a particular team own? - Can I list only a team's archived projects? instructions: - text: List the projects for team {team}. slots: team: path.team_gid - text: Show team {team}'s projects with archived set to {archived}. slots: team: path.team_gid archived: query.archived method: generated generated: '2026-10-01' - target: $.paths['/teams/{team_gid}/projects'].post update: x-apievangelist-phrasing: intent: Create a project shared with a team effect: write questions: - How do I create a project that belongs to a specific team? - Can I make a new project directly under a team? instructions: - text: Create a project named {project} in team {team}. slots: team: path.team_gid project: requestBody.data - text: Start a new team project for team {team} with {fields}. slots: team: path.team_gid fields: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/workspaces/{workspace_gid}/projects'].get update: x-apievangelist-phrasing: intent: List all projects in a workspace effect: read questions: - Can I get every project in a workspace in one list? - Why might listing all of a large workspace's projects time out? instructions: - text: List all projects in workspace {workspace}. slots: workspace: path.workspace_gid - text: Show workspace {workspace}'s projects where archived is {archived}. slots: workspace: path.workspace_gid archived: query.archived method: generated generated: '2026-10-01' - target: $.paths['/workspaces/{workspace_gid}/projects'].post update: x-apievangelist-phrasing: intent: Create a project in a workspace effect: write questions: - Do I need to supply a team when creating a project in an organization workspace? - How do I create a project scoped directly to a workspace? instructions: - text: Create a project named {project} in workspace {workspace}. slots: workspace: path.workspace_gid project: requestBody.data - text: Add a new workspace project to {workspace} with {fields}. slots: workspace: path.workspace_gid fields: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/projects/{project_gid}/addCustomFieldSetting'].post update: x-apievangelist-phrasing: intent: Add a custom field to a project effect: write questions: - How do I attach a custom field to a project? - Can I make a custom field important on a project when I add it? instructions: - text: Add custom field {custom_field} to project {project}. slots: project: path.project_gid custom_field: requestBody.data - text: Attach the field {custom_field} to project {project}'s columns. slots: project: path.project_gid custom_field: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/projects/{project_gid}/removeCustomFieldSetting'].post update: x-apievangelist-phrasing: intent: Remove a custom field from a project effect: write questions: - Can I detach a custom field from a project without deleting the field? - What's the way to drop a custom field column from one project? instructions: - text: Remove custom field {custom_field} from project {project}. slots: project: path.project_gid custom_field: requestBody.data - text: Detach field {custom_field} from project {project}. slots: project: path.project_gid custom_field: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/projects/{project_gid}/task_counts'].get update: x-apievangelist-phrasing: intent: Count a project's tasks effect: read questions: - How many tasks, completed and incomplete, does a project have? - Why does the task count come back empty unless I opt in to fields? instructions: - text: Count the tasks in project {project}. slots: project: path.project_gid - text: Get completed and incomplete task counts for project {project} with fields {fields}. slots: project: path.project_gid fields: query.opt_fields method: generated generated: '2026-10-01' - target: $.paths['/projects/{project_gid}/addMembers'].post update: x-apievangelist-phrasing: intent: Add members to a project effect: write questions: - How do I give users access to a project? - Will adding someone as a project member also make them a follower? instructions: - text: Add members {users} to project {project}. slots: project: path.project_gid users: requestBody.data - text: Give users {users} membership in project {project}. slots: project: path.project_gid users: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/projects/{project_gid}/removeMembers'].post update: x-apievangelist-phrasing: intent: Remove members from a project effect: write questions: - Can I take users out of a project's membership? - How do I revoke someone's membership in a project? instructions: - text: Remove members {users} from project {project}. slots: project: path.project_gid users: requestBody.data - text: Take users {users} off project {project}'s member list. slots: project: path.project_gid users: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/projects/{project_gid}/addFollowers'].post update: x-apievangelist-phrasing: intent: Add followers to a project effect: write questions: - How do I get users notified when tasks are added to a project? - Can I make project members follow the project? instructions: - text: Add followers {users} to project {project}. slots: project: path.project_gid users: requestBody.data - text: Have {users} follow project {project} for new-task notifications. slots: project: path.project_gid users: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/projects/{project_gid}/removeFollowers'].post update: x-apievangelist-phrasing: intent: Remove followers from a project effect: write questions: - Does removing a project follower also remove their membership? - How do I stop users from following a project? instructions: - text: Remove followers {users} from project {project}. slots: project: path.project_gid users: requestBody.data - text: Stop {users} following project {project} but keep them as members. slots: project: path.project_gid users: requestBody.data method: generated generated: '2026-10-01' - target: $.paths['/projects/{project_gid}/saveAsTemplate'].post update: x-apievangelist-phrasing: intent: Save a project as a project template effect: write questions: - Can I turn an existing project into a reusable template? - Is creating a template from a project an asynchronous job? instructions: - text: Save project {project} as a template named {template}. slots: project: path.project_gid template: requestBody.data - text: Create a project template from project {project}. slots: project: path.project_gid method: generated generated: '2026-10-01'