← Windsor.aiCONTENT HISTORY

Update to Windsor.ai

Snapshot Sep 30, 2026 · 23:18 UTC · version 4.0.0

Collection source: not recorded for this historical snapshot. These snapshots do not have a confirmed matching collection source. Differences in file lists alone do not establish changes to the package.

WHAT CHANGED · RULE-BASED ANALYSIS

Supporting file metadata differs

Newly listed paths: agents/openai.yaml. This compares saved file lists, not package contents; a different collection source can change the list.

Observed in package metadata. These changes alone do not establish a new customer-facing feature.

Supporting files

Before

[]

After

[{"relative_path":"agents/openai.yaml","size_in_bytes":506}]

Compare saved observations

Download comparison JSON
Full technical diff · 1 changed fields

changed /included_files

BEFORE
[]
AFTER
[
  {
    "relative_path": "agents/openai.yaml",
    "size_in_bytes": 506
  }
]
Full snapshot data
{
  "name": "windsor",
  "description": "Analyze marketing and business data and run supported write actions across 350+ sources through Windsor.ai. Use when the user asks about performance, metrics, or spend from any connected platform (ads, analytics, SEO, CRM, e-commerce, payments, warehouses), wants to compare channels, connect a source, run a supported action such as pausing a campaign or setting a budget, or schedule a recurring data export. Do not use for writing marketing copy or for general advice unrelated to the user's connected accounts.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 506
    }
  ],
  "skill_md_contents": "---\nname: windsor\ndescription: Analyze marketing and business data and run supported write actions across 350+ sources through Windsor.ai. Use when the user asks about performance, metrics, or spend from any connected platform (ads, analytics, SEO, CRM, e-commerce, payments, warehouses), wants to compare channels, connect a source, run a supported action such as pausing a campaign or setting a budget, or schedule a recurring data export. Do not use for writing marketing copy or for general advice unrelated to the user's connected accounts.\n---\n\n# Windsor.ai\n\nWindsor.ai exposes live data (read) and supported write actions across 350+\nconnected sources through MCP tools. Every tool takes a `connector` id, a\nlowercase slug such as `google_ads` for Google Ads, `facebook` for Meta Ads\n(Facebook and Instagram Ads), or `googleanalytics4` for GA4. This app is not\nscoped to a single connector, so always discover the right slug and accounts\nfirst.\n\n## Golden rules\n- **Never guess** connector slugs, account ids, field ids, action ids, or option\n  ids. Get them from `get_connectors`, `get_fields`, `list_actions`, and\n  `get_options`, and call those before `get_data` or `execute_action`.\n- **Reads are safe; writes change live platform state.** Only call\n  `execute_action` after the user confirms the specific change.\n\n## Core read workflow\n1. `get_connectors` shows connected accounts and, per connector, the available\n   `actions` and `options`. Pass `include_not_yet_connected=True` to list every\n   available source.\n2. `get_fields` (and `get_options` for date-filter columns and connector\n   options) returns valid field ids for the chosen connector. Field ids passed\n   to `get_data` must come from `get_fields`.\n3. `get_data` reads the metrics for the connector, fields, accounts, and date\n   range, then you analyze the result.\n\n## Write actions\n- `list_actions` returns the write actions a connector supports and each action's\n  parameter schema. The set is whatever it returns, so do not assume an action\n  exists.\n- `execute_action` runs one action id against one account id with params matching\n  its schema. It modifies external platform state, for example pausing or\n  enabling a campaign, setting a budget or bid, managing an audience list or\n  flow, or posting content, so confirm the exact change with the user first.\n\n## Connecting a source\nFor any request to connect, authorize, add, or reconnect an account, call\n`get_connectors(include_not_yet_connected=True)` for the slug, then\n`get_connector_authorization_url` for a ready-to-open setup link, or\n`get_connector_connect_info` for the auth type and the manual credential fields.\nSensitive credentials are entered by the user in that form, never pasted into\nchat.\n\n## Scheduled exports (destinations)\n- `get_destinations` lists where data can be exported on a schedule (BigQuery,\n  Google Sheets, Snowflake, databases, storage) and any reusable credentials.\n- `get_destination_setup_info` describes a destination's target fields and\n  allowed schedules. `create_destination_task` sets up a recurring export;\n  confirm the source, destination, and schedule with the user first.\n\n## Support and account\n- `get_current_user` returns the authenticated Windsor.ai user.\n- `get_windsor_login_url` returns an auto-login link into the dashboard.\n- `contact_windsor` files feedback, a support request, or a feature request.\n"
}

SHA-256: 526caf9d9090b89f87e44c290e5be4ecc28e81135430da117d3e4d796a9fbdf9