Manage processes

VSTS (Inheritance)

You customize your team project work tracking system through a process. The customizations you make are in effect for all teams. ON the otherhand, you configure your Agile tools—Scrum and Kanban—through the web UI. A process defines the building blocks of the work tracking system. Whenever you create a team project, you select the process you want your team project to use.

You'll see two types of processes:

  • locked icon System processes —Scrum, Agile, and CMMI—which are locked from being changed.
  • inherited process icon Inherited processes, which you can customize, are so named as they inherit from the system process from which they were created. Any updates VSTS makes to the parent system process will automatically update your custom inherited process.

In addition, all processes are shared. That is, one or more team projects can use a single process. Instead of customizing a single team project, you customize a process. Changes made to the process automatically update all team projects that use that process.

Once you've created an inherited process, you can customize it, create team projects based on it, and change existing team projects to use it.

For example, as shown in the picture below, you see a list of team projects defined for the fabrikam account. The second column shows the process used by each team project. To update the Fabrikam Fiber team project, you need to update the MyAgile process (which inherits from the Agile system process). Any changes you make to the MyAgile process will also update the Test Agile team project. You can't customize the Scrum project, on the other hand, until you change it to a Scrum inherited process.

Admin context, Account settings, Overview, Project list and the process they use

To perform any of the following actions, you must be a member of the Project Collection Administrators group or be granted explicit permissions to edit or create a specific process. To get added to an admin group, see Add administrators.

  • Import Process (only supported for accounts that use the Hosted XML process model)
  • Create an inherited process
  • Customize a process
  • Change team projects to use an inherited process or a system process
  • Add a new team project based on a process
  • Enable or disable a process
  • Set a process as the default when creating a team project

Open Process in the admin context

  1. To open the admin context from the user context, click the gear Settings icon and choose Account settings.


    If you don't see the Account settings option, then you're working from an on-premises TFS. The Process page isn't supported. You must use the features supported for the On-premises XML process model as described in Customize your work tracking experience.

    Default Collection Overview, Projects reference processes

  2. Click Process.

    Web portal, Account menu, Turn on new navigation selection

Create an inherited process

You can create an inherited process from any one of the three system processes: Agile, Scrum, or CMMI.

  1. From the Process page, open the … context menu of the process you'll use to create an inherited process, and then choose Create inherited process.

    Here, we create an inherited process from the Agile system process.

    Process, choose Create inherited process

    If you don't have access to these options, ask your project collection admin to grant you permissions.

  2. Enter a name for your process and optionally a description. (For naming restrictions, see Process name restrictions later in this topic.)

    Create inherited process dialog

Once you've defined the inherited process, you can perform these actions:

Change the process used by team projects


When you change a team project to use an inherited process, you may find one or more Agile tools or work items appear in an invalid state. For example:

  • If you make a field required, work items with that field undefined will show an error message. You'll need to resolve the errors to make additional changes and save the work item.
  • If you add or remove/hide workflow states of a WIT that appears on the Kanban board, you'll need to update the Kanban board column configurations for all teams defined in the team project.

You can change the process a team project uses from a system process or inherited process to an inherited process. You can only change team projects to use another process that inherits from the same system process. That is, you can change an Agile-based team project to any process you created from the Agile system process as well as to the Agile process. Whereas, you can't change a Scrum-based team project to an Agile-derived inherited process.


You can change the process of a team project as long as you don't have any undeleted work items of a custom work item type that isn't also defined in the target process.

Also, if you change a team project to a system process or other inherited process that doesn't contain the same custom fields, data is still maintained. However, the custom fields that aren't represented in the current process won't appear on the work item form. You can still access the field data through a query or REST APIs. These fields are essentially locked from changes and appear as read-only values.

  1. Open the … context menu for the process and choose the Change team projects… option.

    Here we open the menu for the Agile system process:

    Agile process context menu, Choose Change team projects to use Agile

    The system lists only those team projects that are valid for the current process.

  2. Click the checkbox of those team projects you want to change to use the Agile process.

    Here we choose to use the Agile process for the team projects Fabrikam Fiber A and Fabrikam Fiber. Only those projects created from the Agile process or one that inherits from Agile will appear under the Available projects column.

    Change process to a system process dialog

  3. After you've confirmed that the projects you want to change are correct, click Ok.

Create a team project from a process

  1. Open the … context menu for the process you want to use and choose New team project.

    Create a team project from the selected process

  2. The Create new project page opens. For details, see Create your team project.

Enable/disable a process

To prevent team projects being created from a process, you disable it. You might choose this option when you want to apply several customizations and don't want the process used until they are complete. Or, you might want to retire use of a process in favor of moving team projects to a new process.

All system processes and newly created inherited processes are enabled by default.

  1. To disable a process, open the … context menu for the process and choose Disable process.

  2. To enable a process, open the … context menu for the process and choose Enable process.

Set the default process

Set a process as the default to have it pre-selected for any additional team projects you plan to create.

To set a process as the default, open the … context menu for the process and choose Set as default process.

Account owners and Project Collection Administrators can add team projects from the admin Overview page or the account My Projects page.

An inherited process supports team projects defined in accounts that use the Inherited process models. For an overview of all process models, see Customize the work tracking experience.

For an overview of what you can customize, see Customize a process.

Process name restrictions

Process names must be unique and 128 Unicode characters or less. Also, names can't contain the following characters: .,;'`:~\/\*|?"&%$!+=()[]{}<>.

To rename a process, open the … context menu for the process and choose Edit.

Programmatically work with processes

You can get, create, update, and delete processes defined for an account using the REST API, Processes.