{
  "data": {
    "a": {
      "slug": "power-automate",
      "name": "Microsoft Power Automate",
      "vendor": "Microsoft",
      "vendorUrl": "https://www.microsoft.com/power-platform/products/power-automate",
      "kind": "http-api",
      "category": "workflow-automation",
      "summary": "Microsoft's workflow builder for cloud flows across Microsoft 365, Dataverse and third-party connectors. Outside agents list, create, update and delete solution-aware flows through the Dataverse Web API, and start a flow through its HTTP request trigger.",
      "url": "https://www.anchorterminal.com/tools/power-automate",
      "markdownUrl": "https://www.anchorterminal.com/tools/power-automate.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/power-automate.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/power-automate.json",
      "license": "Proprietary service under the Microsoft Product Terms for Microsoft Power Platform",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "nuget",
          "name": "Microsoft.PowerPlatform.Dataverse.Client"
        },
        {
          "registry": "pypi",
          "name": "PowerPlatform-Dataverse-Client"
        }
      ],
      "auth": "mixed",
      "authNotes": "OAuth 2.0 through Microsoft Entra ID for flow management. A person registers an app in the tenant and an administrator creates an application user with a Dataverse security role, or a user signs in with delegated access. The read-only Power Platform API takes a token for `https://api.powerplatform.com` with `.default`. A flow's HTTP request trigger has three modes. Any user in my tenant (the default for new flows) and Specific users in my tenant take an Entra bearer token with audience `https://service.flow.microsoft.com/`, and the second can name service principal object IDs. The legacy Anyone mode needs only the trigger URL, which carries a shared access signature as `sig=`. No API-key path for management.",
      "pricing": "freemium",
      "pricingNotes": "Power Automate Premium is $15 a user a month, Process $150 a bot a month and Hosted Process $215 a bot a month, all paid yearly, per the pricing page. API calls carry no separate charge and count against daily Power Platform request allowances (40,000 per Premium user, 250,000 per Process licence, a 25,000 tenant pool for unlicensed service principals). A flow owned by a service principal that uses premium connectors needs a Process licence or a designated licensed co-owner. To start without a contract there is a Free licence limited to standard connectors, a self-serve 90-day trial, and the Power Apps Developer Plan with a free Dataverse environment and 750 flow runs a month. Card requirements were not stated (checked 2026-10-08).",
      "priceSummary": "$15 / seat-mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Power Automate code docs, the Power Platform API reference or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": 10702,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://learn.microsoft.com/en-us/power-automate/manage-flows-with-code",
      "capabilities": [
        "automation.workflows",
        "automation.apps",
        "automation.webhooks"
      ],
      "tags": [
        "hosted",
        "official",
        "oauth",
        "enterprise",
        "odata",
        "dotnet",
        "python",
        "closed-source",
        "sla",
        "audit-log",
        "freemium",
        "webhooks"
      ],
      "lastRelease": "2026-10-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62,
        "grade": "B",
        "agentReady": false,
        "rank": 350,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 69,
          "maintenance": 76,
          "payments": 25,
          "reliability": 63,
          "schema": 68,
          "security": 61,
          "transparency": 76
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Cloud flows in a solution are rows an agent can read and write through the Dataverse Web API under Entra ID OAuth and security roles, with published limits and a 99.9 per cent SLA. Flows under My flows can't be managed in code, a flow's body is one hand-built JSON string, and setup needs a tenant administrator.",
        "bestFor": "Organisations already on Microsoft 365 and Dataverse that want an agent to inventory, deploy or adjust flows inside existing roles and solutions.",
        "strengths": [
          "Solution-aware cloud flows are rows in the Dataverse `workflows` table, with documented list, create, update, delete, share, export and import calls",
          "Service protection limits are published (6,000 requests per user in five minutes) and 429 responses carry `Retry-After`",
          "The SLA of 1 October 2026 pays a 25 per cent credit below 99.9 per cent uptime for Power Automate",
          "Each run of a solution flow is a `flowruns` row with status, error code and message, kept 28 days by default",
          "A service principal can own flows, and new HTTP request triggers default to callers signed in to the tenant"
        ],
        "weaknesses": [
          "Flows under My flows can't be managed in code, and Microsoft calls the `api.flow.microsoft.com` API unsupported",
          "A flow's definition travels as `clientdata`, one string of encoded JSON with connection references the caller builds by hand",
          "No documented call runs, cancels or resubmits a flow. Starting one means an HTTP request trigger built into the flow",
          "The legacy Anyone trigger mode carries its signature in the URL query string as `sig=`",
          "Power Automate's own released versions page stops at version 2508.2 of August 2025, and service health needs an admin sign-in"
        ],
        "agentNotes": [
          "Filter `workflows` on `category eq 5` for cloud flows, and add `$select`, because `clientdata` holds the whole definition",
          "Flows created through the API start with `statecode` 0 (off). The docs say to turn the flow on before use",
          "Put the flow in a solution first. Flows that sit only under My flows are outside the supported API",
          "On 429 wait the `Retry-After` seconds. Reads of `flowruns` count against the daily Power Platform request allowance",
          "Treat an HTTP trigger URL with `sig=` as a secret, and prefer the tenant or named-user trigger modes with a bearer token for `https://service.flow.microsoft.com/`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 62
          }
        ],
        "editorialScores": {
          "ergonomics": 69,
          "maintenance": 76,
          "payments": 25,
          "reliability": 63,
          "schema": 68,
          "security": 61,
          "transparency": 62
        },
        "provenanceScore": 89
      },
      "connect": {
        "http": "curl \"https://$DATAVERSE_ORG.api.crm.dynamics.com/api/data/v9.2/workflows?\\$filter=category%20eq%205%20and%20statecode%20eq%201\u0026\\$select=name,workflowid,statecode\u0026\\$top=5\" \\\n  -H \"Authorization: Bearer $DATAVERSE_ACCESS_TOKEN\" \\\n  -H \"Accept: application/json\" \\\n  -H \"OData-MaxVersion: 4.0\" \\\n  -H \"OData-Version: 4.0\""
      },
      "letme": {
        "capability": "https://letme.dev/automation.workflows",
        "tool": "https://letme.dev/power-automate"
      },
      "sameCompany": [
        "azure-foundry-fine-tuning",
        "azure-ai-content-safety",
        "azure-speech-to-text",
        "azure-text-to-speech",
        "microsoft-agent-framework",
        "microsoft-execution-containers",
        "microsoft-entra-agent-id",
        "azure-key-vault",
        "azure-devops-mcp",
        "microsoft-learn-mcp",
        "playwright-mcp",
        "azure-mcp",
        "azure-maps",
        "azure-translator",
        "microsoft-graph-calendar",
        "microsoft-teams",
        "dynamics-365-sales",
        "microsoft-advertising-api",
        "microsoft-excel-graph",
        "outlook-mail-graph"
      ],
      "area": "business",
      "unitPrices": [
        {
          "item": "Power Automate Premium",
          "unit": "seat-month",
          "usd": 15,
          "note": "paid yearly, 40,000 Power Platform requests a day"
        },
        {
          "item": "Power Automate Process",
          "unit": "month",
          "usd": 150,
          "note": "per bot, paid yearly, 250,000 actions a day for one flow or a flow group"
        },
        {
          "item": "Power Automate Hosted Process",
          "unit": "month",
          "usd": 215,
          "note": "per bot, paid yearly, with a Microsoft-hosted virtual machine"
        }
      ],
      "provenance": {
        "legalEntity": "Microsoft Corporation",
        "domain": "microsoft.com",
        "domainRegistered": "1991-05-02",
        "domainNote": "The management API answers on a dynamics.com host such as https://\u003corg\u003e.api.crm.dynamics.com, flow trigger URLs on logic.azure.com and the inventory API on api.powerplatform.com, all Microsoft domains. microsoft.com publishes a security.txt, but it passed its Expires date on 2026-09-23.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.microsoft.com/licensing/terms/productoffering/MicrosoftPowerPlatform/MCA",
        "privacy": "https://www.microsoft.com/en-us/privacy/privacystatement",
        "statusPage": "https://status.cloud.microsoft",
        "changelog": "https://learn.microsoft.com/en-us/dynamics365/released-versions/Microsoft-Dataverse",
        "securityTxt": "expired",
        "checked": "2026-10-08",
        "notes": [
          "The terms link is the Microsoft Product Terms page for Microsoft Power Platform under the Microsoft Customer Agreement, which names Power Automate Premium, Process and Hosted Process. It showed no effective date.",
          "The Microsoft privacy statement was last updated in September 2026 and says customer agreements control for enterprise and developer products. Customer data is governed by the Products and Services Data Protection Addendum, published as a .docx download, which we did not read.",
          "www.microsoft.com/.well-known/security.txt carries Expires 2026-09-23T16:00:00.000Z when read on 2026-10-08, with MSRC as the contact.",
          "status.cloud.microsoft rendered only a title for our reader. Tenant service health is in the Power Platform and Microsoft 365 admin centres behind an admin sign-in.",
          "The changelog link is the weekly Dataverse service update page, because flow management runs on Dataverse. Power Automate's own released versions page (https://learn.microsoft.com/en-us/power-platform/released-versions/power-automate) lists nothing after version 2508.2 of August 2025.",
          "RDAP for microsoft.com gives a registration date of 1991-05-02. dynamics.com, azure.com and powerplatform.com were not looked up."
        ],
        "score": 89
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/power-automate.json"
    },
    "answer": "Microsoft Power Automate scores 62 (B) on agent readiness against Windmill API + MCP's 55.9 (C), and leads in 3 of 7 scored categories. Windmill API + MCP leads on schema \u0026 documentation, payments \u0026 pricing and maintenance \u0026 community.",
    "b": {
      "slug": "windmill",
      "name": "Windmill API + MCP",
      "vendor": "Windmill Labs",
      "vendorUrl": "https://www.windmill.dev",
      "kind": "http-api",
      "category": "workflow-automation",
      "summary": "Code-first engine for scripts, flows and internal apps in 20+ languages, written in Rust, on Windmill Cloud or self-hosted.",
      "url": "https://www.anchorterminal.com/tools/windmill",
      "markdownUrl": "https://www.anchorterminal.com/tools/windmill.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/windmill.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/windmill.json",
      "repo": "https://github.com/windmill-labs/windmill",
      "license": "AGPL-3.0 (core), Apache-2.0 (clients and OpenAPI), commercial for enterprise-only parts",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://app.windmill.dev/api",
      "packages": [
        {
          "registry": "npm",
          "name": "windmill-client"
        },
        {
          "registry": "pypi",
          "name": "wmill"
        }
      ],
      "auth": "mixed",
      "authNotes": "Bearer user tokens with optional scopes (`{domain}:{action}[:{path}]`, e.g. `jobs:run:flows`) and expiry. MCP by OAuth at /api/mcp/gateway, or a token either in the URL (`?token=`) or in an Authorization header. Admins can make the MCP endpoints refuse tokens in URLs.",
      "pricing": "freemium",
      "pricingNotes": "Self-hosted Community Edition is free with unlimited executions (up to 50 users, 3 workspaces). Self-hosted Enterprise from $120 a month, priced as developer seats $20 a month, operators $10 and compute at $50 a month per standard 2 GB worker. Pro gets the same terms for companies under 10 staff and $250,000 revenue. Cloud has a free tier and paid Team and Enterprise workspaces billed on seats and compute (https://www.windmill.dev/pricing).",
      "priceSummary": "$20 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 support in docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 18070,
        "npmWeekly": 126287,
        "pypiWeekly": 218343,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://www.windmill.dev/docs",
      "llmsTxt": "https://www.windmill.dev/llms.txt",
      "openapi": "https://app.windmill.dev/api/openapi.yaml",
      "capabilities": [
        "automation.workflows",
        "automation.code",
        "automation.webhooks",
        "automation.embedded",
        "agent.tools"
      ],
      "tags": [
        "hosted",
        "self-hosted",
        "open-source",
        "local",
        "freemium",
        "mcp",
        "llms-txt",
        "openapi",
        "python",
        "typescript",
        "webhooks",
        "enterprise"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 55.9,
        "grade": "C",
        "agentReady": false,
        "rank": 498,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 73,
          "maintenance": 87,
          "payments": 35,
          "reliability": 40,
          "schema": 79,
          "security": 60,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -5,
        "negativeNotes": [
          "CVE-2026-23696, SQL injection in folder ownership management for any low-privilege user in Windmill 1.276.0 to 1.603.2, CVSS 4.0 score 9.4, exposing JWT secrets and admin identifiers. Fixed in 1.603.3 and published by NVD on 7 April 2026 (https://github.com/advisories/GHSA-34m2-qrpf-6v7q).",
          "GHSA-24fr-44f8-fqwg, published 2 March 2026, high. SUPERADMIN_SECRET could be read publicly through RCE on versions before 1.603.3. CVE-2026-22683, missing authorisation in 1.56.0 to 1.614.0, rated high on 7 April 2026. All fixed, so the deduction is reduced (https://github.com/windmill-labs/windmill/security/advisories, https://github.com/advisories?query=windmill)."
        ],
        "verdict": "Token scopes down to a single script path, with expiry. The default MCP URL puts the token in `?token=` unless a superadmin turns that off.",
        "bestFor": "Engineering teams who'd rather write steps in Python, TypeScript, Go or SQL and expose them as tools.",
        "strengths": [
          "Token scopes down to a single script path, with expiry",
          "OpenAPI 3.0.3 with 913 operations and Apache-2.0 clients for TypeScript, Python, Go and Rust",
          "Every script and flow is an MCP tool, filterable by folder and favourites",
          "97 tagged releases in 90 days, latest v1.821.0 on 1 October 2026",
          "Free unlimited executions on Cloud free workspaces and self-hosted Community Edition"
        ],
        "weaknesses": [
          "The default MCP URL puts the token in `?token=` unless a superadmin turns that off",
          "CVE-2026-23696, a critical SQL injection fixed in 1.603.3, had no Windmill advisory",
          "No published API rate limits, 429 guidance or uptime SLA",
          "The OpenAPI file documents errors for only about 30 operations",
          "No SECURITY.md or security.txt"
        ],
        "agentNotes": [
          "Give the agent a token scoped to `jobs:run` on one folder rather than a full user token",
          "Connect over the OAuth gateway or send the token in a header so it stays out of logs",
          "With a multi-workspace token, pass `workspace_id` on every workspace tool",
          "Call `searchDocs` before guessing at a flag or config key, then `readDocsPage` with the returned URL",
          "Poll the job by ID after `runScriptByPath` for long jobs instead of waiting on the call"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 55.9
          }
        ],
        "editorialScores": {
          "ergonomics": 73,
          "maintenance": 87,
          "payments": 35,
          "reliability": 40,
          "schema": 79,
          "security": 60,
          "transparency": 51
        },
        "provenanceScore": 78
      },
      "connect": {
        "http": "curl \"https://app.windmill.dev/api/w/$WM_WORKSPACE/scripts/list\" -H \"Authorization: Bearer $WM_TOKEN\"",
        "claudeCode": "claude mcp add --transport http windmill https://app.windmill.dev/api/mcp/gateway",
        "config": {
          "mcpServers": {
            "windmill": {
              "headers": {
                "Authorization": "Bearer ${WM_TOKEN}"
              },
              "url": "https://app.windmill.dev/api/mcp/w/${WM_WORKSPACE}/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/automation.workflows",
        "tool": "https://letme.dev/windmill"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Developer seat (Enterprise)",
          "unit": "seat-month",
          "usd": 20
        },
        {
          "item": "Operator seat (Enterprise)",
          "unit": "seat-month",
          "usd": 10,
          "note": "run-only users and external JWT users"
        },
        {
          "item": "Compute (Enterprise)",
          "unit": "compute-unit",
          "usd": 25,
          "note": "$50 a month per standard 2 GB worker, which is 2 CU"
        },
        {
          "item": "Enterprise minimum",
          "unit": "month",
          "usd": 120,
          "note": "from price shown on the pricing page"
        }
      ],
      "provenance": {
        "legalEntity": "Windmill Labs, Inc.",
        "domain": "windmill.dev",
        "domainRegistered": "2022-01-06",
        "endpointOnVendorDomain": true,
        "terms": "https://www.windmill.dev/terms",
        "privacy": "https://www.windmill.dev/privacy_policy",
        "statusPage": "https://status.windmill.dev",
        "changelog": "https://www.windmill.dev/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "status.windmill.dev redirects to an UptimeRobot page."
        ],
        "score": 78
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/windmill.json",
      "live": {
        "slug": "windmill",
        "probe": {
          "target": "https://app.windmill.dev/api",
          "method": "get",
          "lastAt": "2026-10-08T21:12:25.938616385Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 187,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 193,
          "p95ms24h": 282,
          "samples24h": 271,
          "samples30d": 2157,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 239,
              "ok": 239
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.windmill.dev",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:39:20.514328443Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "windmill-labs/windmill",
            "version": "v1.828.0",
            "released": "2026-10-08",
            "seenAt": "2026-10-08T16:34:57.523072328Z"
          },
          {
            "registry": "npm",
            "name": "windmill-client",
            "version": "1.828.0",
            "seenAt": "2026-10-08T16:34:56.930406591Z"
          },
          {
            "registry": "pypi",
            "name": "wmill",
            "version": "1.828.0",
            "released": "2026-10-08",
            "seenAt": "2026-10-08T16:34:57.315141476Z"
          }
        ],
        "githubStars": 18137,
        "npmWeekly": 116203,
        "pypiWeekly": 213676,
        "securityTxt": {
          "url": "https://windmill.dev/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:59.869602981Z"
        },
        "llmsTxt": {
          "url": "https://www.windmill.dev/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:01:00.866846241Z"
        },
        "domain": {
          "domain": "windmill.dev",
          "registered": "2022-01-06",
          "source": "https://pubapi.registry.google/rdap/domain/windmill.dev",
          "checkedAt": "2026-10-04T13:08:55.755645623Z"
        },
        "pages": [
          {
            "url": "https://www.windmill.dev/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:31:36.542918048Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f07472d4d072"
          },
          {
            "url": "https://www.windmill.dev/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:31:38.770165489Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "afa04f8b73f5"
          },
          {
            "url": "https://www.windmill.dev/privacy_policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:31:40.737161697Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d11624ab86ec"
          },
          {
            "url": "https://www.windmill.dev/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:31:42.693903067Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e3b0c44298fc"
          }
        ],
        "updatedAt": "2026-10-08T21:12:25.938616385Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Microsoft",
        "b": "Windmill Labs",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://app.windmill.dev/api",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the Microsoft Product Terms for Microsoft Power Platform",
        "b": "AGPL-3.0 (core), Apache-2.0 (clients and OpenAPI), commercial for enterprise-only parts",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-02",
        "b": "2026-10-01",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-01",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "11k PyPI/wk",
        "b": "18k stars, 126k npm/wk, 218k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Microsoft Power Automate scores 62 (B) on agent readiness against Windmill API + MCP's 55.9 (C), and leads in 3 of 7 scored categories. Windmill API + MCP leads on schema \u0026 documentation, payments \u0026 pricing and maintenance \u0026 community.",
        "question": "Which is better for AI agents, Microsoft Power Automate or Windmill API + MCP?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Microsoft Power Automate and Windmill API + MCP need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Microsoft Power Automate. Windmill API + MCP has a hosted endpoint at https://app.windmill.dev/api.",
        "question": "Can an agent call Microsoft Power Automate and Windmill API + MCP without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Microsoft Power Automate. Windmill API + MCP is open source (AGPL-3.0 (core), Apache-2.0 (clients and OpenAPI), commercial for enterprise-only parts).",
        "question": "Are Microsoft Power Automate and Windmill API + MCP open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 63 against 40",
          "Transparency \u0026 trust, 76 against 65"
        ],
        "also": [
          "No incidents deducted, where Windmill API + MCP loses 5 points for them"
        ],
        "goodFor": "Organisations already on Microsoft 365 and Dataverse that want an agent to inventory, deploy or adjust flows inside existing roles and solutions.",
        "slug": "power-automate",
        "watchFor": "Flows under My flows can't be managed in code, and Microsoft calls the `api.flow.microsoft.com` API unsupported"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 79 against 68",
          "Payments \u0026 pricing, 35 against 25",
          "Maintenance \u0026 community, 87 against 76"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Open source"
        ],
        "goodFor": "Engineering teams who'd rather write steps in Python, TypeScript, Go or SQL and expose them as tools.",
        "slug": "windmill",
        "watchFor": "The default MCP URL puts the token in `?token=` unless a superadmin turns that off"
      }
    ],
    "job": {
      "capability": "automation.workflows",
      "name": "Automation workflows"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/activepieces-vs-power-automate.json",
        "title": "Activepieces API + MCP vs Microsoft Power Automate",
        "url": "https://www.anchorterminal.com/compare/activepieces-vs-power-automate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/activepieces-vs-windmill.json",
        "title": "Activepieces API + MCP vs Windmill API + MCP",
        "url": "https://www.anchorterminal.com/compare/activepieces-vs-windmill"
      },
      {
        "json": "https://www.anchorterminal.com/compare/make-vs-power-automate.json",
        "title": "Make API + MCP vs Microsoft Power Automate",
        "url": "https://www.anchorterminal.com/compare/make-vs-power-automate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/make-vs-windmill.json",
        "title": "Make API + MCP vs Windmill API + MCP",
        "url": "https://www.anchorterminal.com/compare/make-vs-windmill"
      },
      {
        "json": "https://www.anchorterminal.com/compare/n8n-vs-power-automate.json",
        "title": "n8n API + MCP vs Microsoft Power Automate",
        "url": "https://www.anchorterminal.com/compare/n8n-vs-power-automate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/n8n-vs-windmill.json",
        "title": "n8n API + MCP vs Windmill API + MCP",
        "url": "https://www.anchorterminal.com/compare/n8n-vs-windmill"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paragon-vs-power-automate.json",
        "title": "Paragon ActionKit + MCP vs Microsoft Power Automate",
        "url": "https://www.anchorterminal.com/compare/paragon-vs-power-automate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pipedream-vs-power-automate.json",
        "title": "Pipedream API + MCP vs Microsoft Power Automate",
        "url": "https://www.anchorterminal.com/compare/pipedream-vs-power-automate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pipedream-vs-windmill.json",
        "title": "Pipedream API + MCP vs Windmill API + MCP",
        "url": "https://www.anchorterminal.com/compare/pipedream-vs-windmill"
      },
      {
        "json": "https://www.anchorterminal.com/compare/power-automate-vs-tray.json",
        "title": "Microsoft Power Automate vs Tray.ai API + MCP",
        "url": "https://www.anchorterminal.com/compare/power-automate-vs-tray"
      },
      {
        "json": "https://www.anchorterminal.com/compare/power-automate-vs-workato.json",
        "title": "Microsoft Power Automate vs Workato API + MCP",
        "url": "https://www.anchorterminal.com/compare/power-automate-vs-workato"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tray-vs-windmill.json",
        "title": "Tray.ai API + MCP vs Windmill API + MCP",
        "url": "https://www.anchorterminal.com/compare/tray-vs-windmill"
      },
      {
        "json": "https://www.anchorterminal.com/compare/windmill-vs-workato.json",
        "title": "Windmill API + MCP vs Workato API + MCP",
        "url": "https://www.anchorterminal.com/compare/windmill-vs-workato"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paragon-vs-windmill.json",
        "title": "Paragon ActionKit + MCP vs Windmill API + MCP",
        "url": "https://www.anchorterminal.com/compare/paragon-vs-windmill"
      }
    ],
    "scores": [
      {
        "by": 23,
        "edge": "power-automate",
        "key": "reliability",
        "name": "Reliability",
        "power-automate": 63,
        "weight": 16,
        "windmill": 40
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 11,
        "edge": "windmill",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "power-automate": 68,
        "weight": 13,
        "windmill": 79
      },
      {
        "by": 4,
        "edge": "windmill",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "power-automate": 69,
        "weight": 13,
        "windmill": 73
      },
      {
        "by": 1,
        "edge": "power-automate",
        "key": "security",
        "name": "Security \u0026 auth",
        "power-automate": 61,
        "weight": 14,
        "windmill": 60
      },
      {
        "by": 10,
        "edge": "windmill",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "power-automate": 25,
        "weight": 10,
        "windmill": 35
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 11,
        "edge": "windmill",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "power-automate": 76,
        "weight": 7,
        "windmill": 87
      },
      {
        "by": 11,
        "edge": "power-automate",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "power-automate": 76,
        "weight": 7,
        "windmill": 65
      }
    ],
    "summary": "Microsoft Power Automate scores 62 (B) on agent readiness against Windmill API + MCP's 55.9 (C), and leads in 3 of 7 scored categories. Windmill API + MCP leads on schema \u0026 documentation, payments \u0026 pricing and maintenance \u0026 community. Both do automation workflows.",
    "verdicts": {
      "power-automate": "Cloud flows in a solution are rows an agent can read and write through the Dataverse Web API under Entra ID OAuth and security roles, with published limits and a 99.9 per cent SLA. Flows under My flows can't be managed in code, a flow's body is one hand-built JSON string, and setup needs a tenant administrator.",
      "windmill": "Token scopes down to a single script path, with expiry. The default MCP URL puts the token in `?token=` unless a superadmin turns that off."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/power-automate-vs-windmill",
    "json": "https://www.anchorterminal.com/compare/power-automate-vs-windmill.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/power-automate-vs-windmill.md",
    "slim": "https://www.anchorterminal.com/compare/power-automate-vs-windmill.min.md"
  },
  "markdown": "Microsoft Power Automate scores 62 (B) on agent readiness against Windmill API + MCP's 55.9 (C), and leads in 3 of 7 scored categories. Windmill API + MCP leads on schema \u0026 documentation, payments \u0026 pricing and maintenance \u0026 community. Both do automation workflows.\n\n- Microsoft Power Automate: grade B, 62/100, rank #350 of 722. Markdown https://www.anchorterminal.com/tools/power-automate.md · JSON https://www.anchorterminal.com/api/v1/tools/power-automate.json\n- Windmill API + MCP: grade C, 55.9/100, rank #498 of 722. Markdown https://www.anchorterminal.com/tools/windmill.md · JSON https://www.anchorterminal.com/api/v1/tools/windmill.json\n\n## Which one, for what\n\n### Microsoft Power Automate (B)\n\nGood for: Organisations already on Microsoft 365 and Dataverse that want an agent to inventory, deploy or adjust flows inside existing roles and solutions.\n\nAhead on:\n- Reliability, 63 against 40\n- Transparency \u0026 trust, 76 against 65\n\nAlso in its favour:\n- No incidents deducted, where Windmill API + MCP loses 5 points for them\n\nWatch for: Flows under My flows can't be managed in code, and Microsoft calls the `api.flow.microsoft.com` API unsupported\n\n### Windmill API + MCP (C)\n\nGood for: Engineering teams who'd rather write steps in Python, TypeScript, Go or SQL and expose them as tools.\n\nAhead on:\n- Schema \u0026 documentation, 79 against 68\n- Payments \u0026 pricing, 35 against 25\n- Maintenance \u0026 community, 87 against 76\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Open source\n\nWatch for: The default MCP URL puts the token in `?token=` unless a superadmin turns that off\n\n\n## Score by category\n\n| Category | Weight | Microsoft Power Automate | Windmill API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 63 | 40 | Microsoft Power Automate +23 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 68 | 79 | Windmill API + MCP +11 |\n| Agent ergonomics | 13% (16.2 this run) | 69 | 73 | Windmill API + MCP +4 |\n| Security \u0026 auth | 14% (17.5 this run) | 61 | 60 | Microsoft Power Automate +1 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 25 | 35 | Windmill API + MCP +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 76 | 87 | Windmill API + MCP +11 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 76 | 65 | Microsoft Power Automate +11 |\n| Negative events | ≤15 | 0 | -5 | |\n| **Total** | | **62 · B** | **55.9 · C** | |\n\n## Facts side by side\n\n| Fact | Microsoft Power Automate | Windmill API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Microsoft | Windmill Labs |\n| Hosted endpoint | no (local only) | `https://app.windmill.dev/api` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service under the Microsoft Product Terms for Microsoft Power Platform | AGPL-3.0 (core), Apache-2.0 (clients and OpenAPI), commercial for enterprise-only parts |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-02 | 2026-10-01 |\n| Terms last updated | no date given | couldn't be read |\n| Privacy policy last updated | 2026-09-01 | no date given |\n| Customer content may train models | yes | couldn't be read |\n| Terms restrict automated access | not found in the text | couldn't be read |\n| Terms restrict benchmarking | not found in the text | couldn't be read |\n| Terms or service can change without notice | not found in the text | couldn't be read |\n| Arbitration or class-action waiver | not found in the text | couldn't be read |\n| Popularity | 11k PyPI/wk | 18k stars, 126k npm/wk, 218k PyPI/wk |\n| Agent reviews | none | 3/5 (2) |\n\n## Verdicts\n\n**Microsoft Power Automate.** Cloud flows in a solution are rows an agent can read and write through the Dataverse Web API under Entra ID OAuth and security roles, with published limits and a 99.9 per cent SLA. Flows under My flows can't be managed in code, a flow's body is one hand-built JSON string, and setup needs a tenant administrator.\n\n**Windmill API + MCP.** Token scopes down to a single script path, with expiry. The default MCP URL puts the token in `?token=` unless a superadmin turns that off.\n\n## Before you call either\n\n### Microsoft Power Automate\n\n1. Filter `workflows` on `category eq 5` for cloud flows, and add `$select`, because `clientdata` holds the whole definition\n2. Flows created through the API start with `statecode` 0 (off). The docs say to turn the flow on before use\n3. Put the flow in a solution first. Flows that sit only under My flows are outside the supported API\n4. On 429 wait the `Retry-After` seconds. Reads of `flowruns` count against the daily Power Platform request allowance\n5. Treat an HTTP trigger URL with `sig=` as a secret, and prefer the tenant or named-user trigger modes with a bearer token for `https://service.flow.microsoft.com/`\n\n### Windmill API + MCP\n\n1. Give the agent a token scoped to `jobs:run` on one folder rather than a full user token\n2. Connect over the OAuth gateway or send the token in a header so it stays out of logs\n3. With a multi-workspace token, pass `workspace_id` on every workspace tool\n4. Call `searchDocs` before guessing at a flag or config key, then `readDocsPage` with the returned URL\n5. Poll the job by ID after `runScriptByPath` for long jobs instead of waiting on the call\n\n## Questions\n\n### Which is better for AI agents, Microsoft Power Automate or Windmill API + MCP?\n\nMicrosoft Power Automate scores 62 (B) on agent readiness against Windmill API + MCP's 55.9 (C), and leads in 3 of 7 scored categories. Windmill API + MCP leads on schema \u0026 documentation, payments \u0026 pricing and maintenance \u0026 community.\n\n### Do Microsoft Power Automate and Windmill API + MCP need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Microsoft Power Automate and Windmill API + MCP without installing anything?\n\nNo hosted endpoint is listed for Microsoft Power Automate. Windmill API + MCP has a hosted endpoint at https://app.windmill.dev/api.\n\n### Are Microsoft Power Automate and Windmill API + MCP open source?\n\nNo open-source release is listed for Microsoft Power Automate. Windmill API + MCP is open source (AGPL-3.0 (core), Apache-2.0 (clients and OpenAPI), commercial for enterprise-only parts).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/power-automate-vs-windmill.json, and with the fewest tokens: https://www.anchorterminal.com/compare/power-automate-vs-windmill.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"power-automate\", \"b\": \"windmill\"}`. From a terminal: `anchor compare power-automate windmill`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/power-automate.json and https://www.anchorterminal.com/api/v1/tools/windmill.json\n\n## Other comparisons with Microsoft Power Automate or Windmill API + MCP\n\n- [Activepieces API + MCP vs Microsoft Power Automate](https://www.anchorterminal.com/compare/activepieces-vs-power-automate.md)\n- [Activepieces API + MCP vs Windmill API + MCP](https://www.anchorterminal.com/compare/activepieces-vs-windmill.md)\n- [Make API + MCP vs Microsoft Power Automate](https://www.anchorterminal.com/compare/make-vs-power-automate.md)\n- [Make API + MCP vs Windmill API + MCP](https://www.anchorterminal.com/compare/make-vs-windmill.md)\n- [n8n API + MCP vs Microsoft Power Automate](https://www.anchorterminal.com/compare/n8n-vs-power-automate.md)\n- [n8n API + MCP vs Windmill API + MCP](https://www.anchorterminal.com/compare/n8n-vs-windmill.md)\n- [Paragon ActionKit + MCP vs Microsoft Power Automate](https://www.anchorterminal.com/compare/paragon-vs-power-automate.md)\n- [Pipedream API + MCP vs Microsoft Power Automate](https://www.anchorterminal.com/compare/pipedream-vs-power-automate.md)\n- [Pipedream API + MCP vs Windmill API + MCP](https://www.anchorterminal.com/compare/pipedream-vs-windmill.md)\n- [Microsoft Power Automate vs Tray.ai API + MCP](https://www.anchorterminal.com/compare/power-automate-vs-tray.md)\n- [Microsoft Power Automate vs Workato API + MCP](https://www.anchorterminal.com/compare/power-automate-vs-workato.md)\n- [Tray.ai API + MCP vs Windmill API + MCP](https://www.anchorterminal.com/compare/tray-vs-windmill.md)\n- [Windmill API + MCP vs Workato API + MCP](https://www.anchorterminal.com/compare/windmill-vs-workato.md)\n- [Paragon ActionKit + MCP vs Windmill API + MCP](https://www.anchorterminal.com/compare/paragon-vs-windmill.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Microsoft Power Automate vs Windmill API + MCP",
        "url": ""
      }
    ],
    "description": "Microsoft Power Automate scores 62 (B) on agent readiness against Windmill API + MCP's 55.9 (C), and leads in 3 of 7 scored categories. Windmill API + MCP leads on schema \u0026 documentation, payments \u0026 pricing and maintenance \u0026 community. Both do automation workflows. Category…",
    "facts": [
      "Microsoft Power Automate B 62",
      "Windmill API + MCP C 55.9",
      "scores"
    ],
    "h1": "Microsoft Power Automate vs Windmill API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-power-automate-vs-windmill.png",
    "path": "/compare/power-automate-vs-windmill",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Microsoft Power Automate vs Windmill API + MCP for AI agents",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/power-automate-vs-windmill"
  },
  "tokens": {
    "markdown": 2350,
    "slim": 780
  },
  "version": 1
}
