Azure DevOps ACTION
Get Velocity
Report how much work each iteration actually completed, aggregated from the Analytics service. Returns one row per iteration with its name, start and finish dates and the number of completed work items. Covers the whole project by default; set Team Name to narrow it to a single team, which is what you want in a project several teams share. Use this to answer whether delivery is speeding up or slowing down, and to sanity-check whether the current sprint is committed beyond its recent average. Set Points Field to also sum an estimate, but only if the project's process defines one - the default Basic process has no estimation field and the query fails if you name one it does not have. Example:
Sprint 3 completed 8 items totalling 21 points. See the documentation- Action
- Read only
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Azure DevOps account once, then configure and run Get Velocity from your backend or agent.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "azure_devops-get-velocity",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
azure_devops: { authProvisionId: "apn_xxxxxxx" },
organization: "Organization",
project: "Project",
},
})
console.log(result)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "azure_devops-get-velocity",
"configured_props": {
"azure_devops": { "authProvisionId": "apn_xxxxxxx" },
"organization": "Organization",
"project": "Project"
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "azure_devops",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "azure_devops-get-velocity",
arguments: {
organization: "Organization",
project: "Project",
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
organization Organization | string | Name of the organization Required Dynamic |
project Project | string | Project ID or project name. Run the List Projects action first to obtain valid values. Required |
teamName Team Name | string | Only count work owned by this team, e.g. Fabrikam-Fiber-Git Team. Analytics matches teams by name, so this must be the display name rather than the team GUID. Run the List Teams action first to obtain valid values. Omit to report across every team in the project. Optional |
workItemType Work Item Type | string | Only count work items of this type, e.g. User Story. Run the List Work Item Types action first to obtain valid values. Omit to count every type. Optional |
pointsField Points Field | string | Analytics property to sum as the iteration's delivered size, e.g. StoryPoints (Agile and Scrum processes), Effort (Scrum) or Size (CMMI). Omit to return completed item counts only, which works on every process. The Basic process defines none of these, so naming one there fails the query. Optional |
fromDate From Date | string | Only include iterations starting on or after this date, e.g. 2026-01-01Z. OData date literals are not quoted. Optional |
limit Limit | integer | Maximum number of iterations to return (1-1000) Optional |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- azure_devops-get-velocity
- Version
- 0.0.2
- App
- Azure DevOps
- Authentication
- OAuth
- Read-only
- Yes
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗