ott.
  • Pricing
  • Blog
  • Documentation
  • FAQ
  • Contact
Sign InStart Free Trial
ott.

The PPC analytics platform for marketing agencies. Manage Meta campaigns, track Telegram conversions, and optimize performance across all your clients.

© Copyright 2026 Ott. All Rights Reserved.

About
  • Blog
  • Contact
Product
  • Documentation
  • Pricing
  • PPC Reporting Tool
Use Cases
  • CAMPAIGN TRIAGE
  • CONVERSION & CUSTOM KPI TRACKING
  • CRYPTO & WEB3 AGENCIES
  • FOREX & PROP FIRM AGENCIES
  • HIGH-RISK & REGULATED AGENCIES
  • iGAMING AFFILIATES & OPERATORS
  • MULTI-BRAND CLIENT MANAGEMENT
  • SIGNAL PROVIDERS & COPY-TRADING
  • TELEGRAM CONVERSION TRACKING
  • TOPUP & BUDGET TRACKING
Comparisons
  • vs. Adzooma
  • vs. AgencyAnalytics
  • vs. Bïrch
  • vs. ClickGram
  • vs. DashThis
  • vs. Databox
  • vs. Looker Studio
  • vs. Madgicx
  • vs. NinjaCat
  • vs. Supermetrics
  • vs. Swydo
  • vs. TGTracker
Legal
  • Terms of Service
  • Privacy Policy
  • Cookie Policy
Competitive Positioning·Finance Agency Operations·MCP

Windsor.ai MCP Write Actions: 123 Published, 131 Live

Windsor.ai MCP write actions: the docs publish 123 across 18 connectors. The live registry its MCP server reads returns 131 across 19 — five on OpenAI Ads.

By Lukas·10 min read·Oct 17, 2026

Windsor.ai MCP write actions come with two published numbers. The documentation page — “How Windsor MCP Write Actions Work” — says 123 write actions across 18 connectors, and growing. The registry that Windsor’s own MCP server hands to Claude, ChatGPT and Copilot returns 131 actions across 19. Eight actions live in the gap between those two sentences, and one entire connector is missing from the inventory an agency would hand to its compliance lead.

That gap matters more than it looks, because documentation is not a description of a product. It is the thing a regulated agency copies into a client-facing AI usage policy. When the list you can read is eight actions behind the list a model can call, your policy has an unenumerated remainder — and nobody signed off on it.

The larger point sits underneath the arithmetic. A count of actions is a statement about what an agent can do. It is not a record of what it did, who approved it, or which client’s money moved. Windsor has now spent eight consecutive Fridays expanding the first number. The second has not appeared at all.

Key takeaways
  • The docs publish 123 write actions across 18 connectors; the live registry returns 131 across 19.
  • OpenAI Ads carries five live write actions and appears zero times in the reference — on a page whose own FAQ says the list “always reflects what’s live.”
  • Across 51,643 characters of action descriptions, approver, actor, jurisdiction, retention and human each appear zero times.
  • The audit-log claim is one changelog line dated July 24. Eight Fridays of write expansion have followed, and it has never been mentioned again.
  • Five of the 131 actions are declared irreversible by the registry, while the page headline says every action is reversible where the platform allows it.
  • Authorise a dated snapshot of the registry, not a count. A count changes every Friday; a dated list is evidence.

Credit where it is due: the registry is the best idea in this lane

Start with what Windsor actually shipped, because it is more than most competitors in the write-capable agent category have managed.

  • A real, enumerable action registry. Since June 26 the changelog has advertised “discoverable /actions API endpoints — LLMs and integrations can now dynamically list all available write actions per connector.” That endpoint is live, it is machine-readable, and it returns a typed parameter schema for every action. Most write-capable vendors in this lane publish nothing comparable.
  • Per-action documentation, not a feature page. Each of the documented actions carries its own description, its required parameters and — the part almost nobody does — a reversibility note: “Reversible via pause_campaign,” “Reversible via enable_campaign.”
  • Honest per-action warnings where the platform is unforgiving. The registry tells you that deleting a Google Ads Customer Match list “cannot be undone,” that an ad-group update is “a value change with no built-in undo,” and that a Salesforce delete is recoverable in the Salesforce UI “but not through Windsor.”
  • One action that genuinely requires a human. Changing a connected Google Business Profile storefront address refuses to run unless acknowledge_reverification_risk is set to true, which the docs describe as requiring “the end user’s explicit approval.” That is a real gate.
  • Free to run. The MCP server carrying all of this sits on Windsor’s free tier, which is a distribution decision worth crediting rather than dismissing.
★
The objection is not that they published it
A machine-readable list of what an agent may call is exactly the artifact this category needs. The problem is that almost nobody reads it. Agencies read the page, procurement reads the page, and the model reads the registry. Those two readers are looking at different products.

Two numbers, two readers

Same vendor, same week, two answers to the same question. Here is where each number lives.

SurfaceWhat it publishesDatedWho reads it
/documentation/windsor-mcp/write-actions/123 write actions across 18 connectors, and growing7 September 2026Agencies, procurement, client AI policies
connectors.windsor.ai/all/actions131 actions across 19 connectors (JSON, with parameter schemas)Live, checked 17 September 2026The MCP server, the model, and the call that actually executes
Two published answers to “how many write actions does Windsor MCP support,” both live on 2026-09-17.

Neither surface is wrong about anything it says. The documentation page was accurate on 7 September. The trouble is that the page also makes a promise about being current, and the registry is the falsifier.

Where the eight actions are

Eighteen of the nineteen connectors tally exactly between the two surfaces. Three do not, and each one reconciles to a dated changelog entry.

ConnectorDocumentedLive registryWhat moved
OpenAI Adsnot listed at all5 actionsenable/pause campaign, set campaign budget, enable/pause ad group
Salesforce1 action3 actionscreate_object and delete_object added 11 September
Google Ads33 actions34 actionsset_campaign_geo_targeting added 11 September
The three divergences between Windsor’s documentation and its live action registry, 2026-09-17. The other 16 connectors match exactly.

The smallest item is the most interesting one. Five live write actions for OpenAI Ads — pause and resume a campaign, set its spend limit, pause and resume an ad group — are callable right now, and the word OpenAI appears zero times on the documentation page that enumerates the whole surface.

That page is explicit about its own currency. From its FAQ: “Coverage keeps expanding, and the list above always reflects what’s live.”

“Coverage keeps expanding, and the list above always reflects what’s live.”
Windsor.ai, /documentation/windsor-mcp/write-actions/, live 2026-09-17

The list above does not. And the missing connector is the newest advertising surface in the market — the one an agency is most likely to be asked about by a client in the next two quarters, and the one where almost nothing about measurement or governance has settled.

!
This is how a policy gap appears
An agency writes its AI usage policy by enumerating what the vendor documents. The model calls what the registry returns. If those two lists differ, the unenumerated actions are the ones nobody reviewed — not because anyone hid them, but because the enumerating surface lags the executing surface by however long it takes someone to update a page. Windsor writes to OpenAI Ads today. Your policy mentions it whenever somebody notices.

A count is not a record

Suppose Windsor reconciled every number tomorrow and the two surfaces matched perfectly. The gap that matters for a regulated agency would still be open, because the unit is wrong.

Every one of the 131 action descriptions tells you what the action does. Across 51,643 characters of them, here is what the vocabulary looks like:

131
live write actions, each documented in detail
0
mentions of an approver, approved by, or actor
0
mentions of jurisdiction, client or retention
1
action that requires an explicit human acknowledgement

Approver: zero. Approved by: zero. Actor: zero. Human: zero. Jurisdiction: zero. Retention: zero. Export: zero. Evidence: zero.

The two near-misses are worth reading closely, because they show what governance vocabulary looks like when it is genuinely about governance rather than about capability. The single approval is the Google Business Profile address gate. The single audit is a field audit: “Currently set attributes can be audited via the location_attributes field.” That is a way to inspect a listing, not a way to reconstruct who changed a client’s campaign budget in March.

The word record appears eighteen times across those descriptions. Every one of them means a CRM record in Salesforce or a database row — the thing being written. None of them means a record of the write.

Eight Fridays, one line about a log

Windsor publishes weekly, and the cadence itself is a credit: every entry below is dated on a Friday, eight in a row, each one shipping more write capability. Read the third column and notice how quickly the one governance claim in the set stops appearing.

FridayWrite actions shippedAudit log mentioned?
24 JulyAmazon Seller Central update_listing“All write actions executed through Windsor.ai MCP are now recorded in an audit log for compliance and traceability”
31 JulyInstagram create post, Klaviyo flow actions, Google My Business, Facebook Ads creative edit, Google Ads customer matchNo
7 AugustSalesforce create and update objects (new platform), Instagram video and comment, Google Ads ad schedule, ad assets, renamesNo
14 AugustWordPress create and update posts and pagesNo
21 AugustGoogle Ads language targeting, plus a settings page for enabling write actions per user or teamNo
28 AugustLinkedIn Organic posts, GoHighLevel, Stripe customers and subscriptions, Instagram comment replies and deletions, Facebook Ads video adsNo
4 SeptemberGoogle Ads ad-group update action, Google Business Profile service items and attributes, Threads write actionsNo
11 SeptemberGoogle Ads campaign geo targeting, Salesforce create and delete objectsNo
Windsor.ai public changelog, verified live 2026-09-17 (page dated 14 September 2026). Every entry lands on a Friday.

On 24 July, Windsor claimed an audit log covering all write actions, “for compliance and traceability.” Since then: no documentation page for the log, no field list, no retention period, no export format, and no second mention — while the changelog accumulated twelve further write-action releases and its own page recorded zero uses of the words governance and approval.

That is not an accusation of dishonesty. It is an observation about addressability, and it applies to every vendor in this category. A claim that lives in a changelog line is a claim. An artifact lives somewhere a stranger can read its schema — the docs, a security page, a contract. A security page that carries twice as much SOC 2 language as it does audit language is telling you where its attention is: vendor security, not client evidence.

The gate appears where the vendor carries the risk

Windsor requires a person to approve moving a shop’s storefront address. It requires nobody to approve changing a client’s Meta campaign budget — and that asymmetry is not hypocrisy, it is a design signal about what the control is for.

The action refuses to run unless acknowledge_reverification_risk is set to true, which requires the end user’s explicit approval.

The reason the gate exists there is that an address change can push the listing into Google’s re-verification flow and unpublish it — a direct operational cost to the vendor. Nothing in 131 actions puts Windsor’s own numbers at risk the way a paused campaign does, and so nothing else is gated the same way. If a control only activates when the platform penalises the tool, it is a liability limiter, not a governance feature.

The same reading applies to reversibility. The documentation headline says “every action is reversible where the platform allows it.” The registry itself says five of the 131 are not: a Customer Match list deletion that “cannot be undone,” an ad-group value change with “no built-in undo,” a permanent Instagram comment deletion, a video upload that cannot be reversed by an action, and a Salesforce delete recoverable only “in the Salesforce UI but not through Windsor.” Neither sentence is false. Only one of them is a specification, and it is the one the marketer never reads.

What the regulator asks instead

The FCA’s Nikhil Rathi, in “Rethinking regulation for the age of AI” (June 24, 2026):

Accountability for regulated activities and outcomes must remain clear.

Try to answer a financial-promotion review with either of Windsor’s numbers. The question is never “how many actions can your agent call?” It is: on 14 March, who approved the budget increase on this client’s brand-search campaign, what did the account look like before and after, which jurisdiction was the campaign running under, and can you show me. A count cannot answer that. A registry cannot answer that. Only a record can, and only if it still exists when the question arrives — nine months after somebody clicked a settings page next to the action-enablement toggle.

The registry test

Five steps. Run them on any write-capable MCP vendor, including the ones we will not name here. None of them require a security team.

Before an agent gets a client's ad account
  • ✓Ask for the machine-readable action registry, not the documentation page. Any vendor with a real write surface has one; most have a discoverable endpoint the MCP client already consumes.
  • ✓Count it yourself and compare with the published number. If they differ, you now know which number your AI usage policy will quote and which number the model will call.
  • ✓Check the registry for the newest ad surface on your roadmap, not the platforms you ran last year. Coverage reaches the registry before it reaches the docs — OpenAI Ads is the live example.
  • ✓Read the reversibility notes per action rather than the summary sentence, and list the actions that cannot be undone. Those are the ones that belong in a client contract.
  • ✓Authorise a dated snapshot, not a count. Save the registry with the date, put that list in the client AI policy, and re-pull it. A count is a marketing number that changes every Friday; a dated list is evidence of what you permitted on a specific day.

What this looks like when the record is the product

Ott’s answer is narrower and less impressive to look at, because it is the second half of the problem rather than the first:

  • Activity Logging records every campaign change — pauses, budget edits, creative swaps, bid and review changes — timestamped, attributed to the actor the platform reports, with before-and-after values. Stored independently of the platform that accepted the change, and with no retention tier to reconcile.
  • Budget Ledger keeps one prepaid ledger per brand, so a top-up, a correction and a reset are dated entries, not recollections.
  • Agency Hierarchy runs Client → Brand → Account, so a record is filed against the engagement it belongs to rather than against whoever owns the ad account.
  • Telegram conversion tracking writes joins and FTDs into the same account-level record through CAPI postbacks that survive the chat, so the Telegram side of a finance funnel lands beside the Meta side.
  • Client View lets a brand read its own slice without a shared login and without seeing anything beyond its own accounts.
  • Flat CHF plans with no per ad account, per data source, or per Telegram join fees.

To be exact about the comparison: Windsor executes campaigns across nineteen platforms from inside a chat, and Ott does not write campaigns into ad platforms at all. Our lane is the record of what happened and who authorised it. If you want an agent to pause a campaign from Claude, Windsor ships that today and documents most of it well.

But the number in your policy is not the number your agent can call, and neither of them is a record. Ask for the registry, count it, and then ask the question the count cannot answer: when this changes a client’s budget on a Tuesday afternoon in March, what survives — and where does it live when the ad account is the thing that got restricted? Read more on the same axis in the six lifetimes one vendor publishes for a single audit log.

See the half of the stack a count cannot give you
Activity Logging records every campaign change with a named actor, before-and-after values, stored independently of the platform that accepted it.
See Activity Logging

Meta PPC analytics, built for finance agencies.

Campaign analytics, Telegram and FTD tracking, and client hierarchy in one platform. Flat pricing, no per-client fees.

Start Free TrialBook a Demo

Keep reading

Competitive Positioning

Read-Only Is the Half They Documented

Adalysis MCP Server: Who Made the Change Is a Setting

Oct 17, 2026Read article→
Analytics

Measure the Journey. Record the Decision.

AI-Driven Customer Journeys: 45% Can't Compare Them

Oct 17, 2026Read article→
Competitive Positioning

What Happens When the Meter Empties

Audit Log Retention: What Happens at Zero

Oct 17, 2026Read article→
View all articles →