← Plugin catalog
Business & Operations

Windsor.ai

Windsor.ai v4.1.1

Report on and manage campaigns

Create a free account to save this plugin.

From the developer

Declared capabilities

  • Analyze Instagram Business and Creator account reach, engagement, followers and media performance
  • Analyze Meta Ads and Facebook Ads spend, conversions, CPA and ROAS
  • Analyze Google Search Console SEO clicks, impressions, CTR and average position

Cost & access

Windsor.ai does not sell products, show plans, or process payments in the app.

Declared limitations

  • General strategy advice, no account data
  • General marketing advice
  • General industry knowledge

Onboarding example

Which of my connected marketing channels drove the most conversions and revenue last month?

View onboarding source →

Sources & dates

Developer declarations; not independently tested. Listing last checked Nov 12, 2026. Package observed Nov 12, 2026.

View package source →

Description

From the marketplace listing

Windsor.ai connects your marketing and business data sources to your AI assistant, so you can ask questions and take action in plain English. Reporting examples: - Google Search Console: SEO clicks, impressions, CTR and average search position (rankings), by search query and page. - Meta Ads (Facebook and Instagram Ads): ad spend, clicks, conversions, CPA and ROAS. - Google Analytics 4 (GA4): website and app users, sessions, engagement and conversions/key events, by channel or landing page. - Instagram: organic reach, followers, engagement, and post and Reels performance for Business or Creator accounts. - Google Ads: campaign, ad group and keyword cost, clicks, conversions and ROAS. - Facebook Pages: organic followers, engagement, reactions, comments and shares. - Google Business Profile: Search and Maps views (impressions), search keywords, call clicks, direction requests and reviews. - Google Merchant Center: product-feed issues, disapprovals, clicks and impressions. - YouTube: channel and video views, watch time and subscriber growth. - TikTok: organic video views, followers and engagement; TikTok Ads spend and conversions. - Shopify: sales, orders and product performance. It pulls performance data from any connected source, and on supported ad and marketing platforms it can make changes directly, such as pausing or enabling a campaign, setting a budget, creating a Google Business Profile post, or replying to a review, always after you confirm. Common workflows: - Compare spend, clicks, and conversions across every connected ad account - Find and pause an underperforming Meta Ads, Google Ads, TikTok Ads, LinkedIn Ads, or Microsoft Ads campaign - Post or reply as your Instagram, Threads, Facebook, or Google Business Profile account - Pull GA4, Google Search Console, or YouTube Analytics data straight into the conversation - Pull HubSpot, Salesforce, or Shopify data into the conversation, and update Salesforce records after you confirm - Update a Klaviyo flow or an Amazon Seller Central listing Connects to 350+ sources across advertising, analytics, organic social, CRM, e-commerce, email, and payments, including Google Ads, Meta (Facebook) Ads, Instagram, TikTok Ads, LinkedIn Ads, LinkedIn Company Pages, Microsoft Ads (Bing), GA4, Google Search Console, YouTube, Google Business Profile, HubSpot, Salesforce, Shopify, Klaviyo, Amazon Ads, Google Merchant Center, Stripe, and GoHighLevel. Reading data only requires connecting the relevant account once. Making a change (pausing a campaign, posting content, replying to a review) always asks for your confirmation first, and it is only available on platforms Windsor explicitly supports write access for. Every other connected source is read-only. It can also upload image files from the chat to a Meta Ads ad account for use in ads, or to a Facebook Page or LinkedIn company page for use in an image post. Windsor.ai is an independent product and is not affiliated with or endorsed by the platforms it connects to.

Language: English · Automatically detected from descriptions.

Matches for “Threads”

Exact text from the indicated source. A mention alone does not establish support for your task.

Publisher capabilities · listing

Analyze Instagram Business and Creator account reach, engagement, followers and media performance Analyze Meta Ads and Facebook Ads spend, conversions, CPA and ROAS Analyze Google Search Console SEO clicks, impressions, CTR and average position Analyze Google Analytics 4 (GA4) sessions, users, engagement and conversions Analyze Google Ads campaign, ad group and keyword performance Analyze Google Business Profile views, searches, calls and direction requests Analyze Facebook Pages organic reach, engagement, followers and post performance Analyze public Instagram profiles, posts and engagement through Instagram Public Analyze YouTube channel and video views, watch time and subscriber growth Analyze TikTok organic video views, followers, likes, comments and shares Analyze Google Merchant Center product feed issues, disapprovals and Shopping performance Analyze LinkedIn company pages, follower growth, organic posts and engagement Analyze TikTok Ads campaign, ad group and ad performance Analyze Google Ad Manager reporting data Analyze Amazon Ads campaign performance Read Facebook Lead Ads form submissions and lead data Analyze Threads organic account and post performance Analyze LinkedIn Ads spend, clicks, conversions and campaign performance Analyze Shopify sales, orders and product performance Analyze Pinterest organic account and Pin performance

Publisher keywords · listing

instagram facebook ads meta ads google search console search console google analytics 4 ga4 google analytics google ads google business profile google my business facebook pages facebook organic instagram public public instagram youtube youtube analytics tiktok organic tiktok analytics google merchant center linkedin pages linkedin company pages tiktok ads google ad manager amazon ads facebook lead ads facebook leads threads linkedin ads linkedin shopify pinterest organic pinterest windsor.ai windsor ai windsor mcp marketing marketing analytics marketing reporting marketing reports marketing data marketing performance marketing kpis marketing insights digital marketing performance marketing reporting reports analytics cross-channel reporting multi-channel reporting blended reporting client reporting agency reporting weekly marketing report monthly marketing report automated reporting report automation ads advertising online advertising paid media paid social paid search ppc ppc reporting ppc analytics ppc audit sem ad spend ad performance ad reporting ads reporting ads analytics ad campaigns campaigns campaign performance campaign reporting campaign management ads management ad account audit ad budgets campaign budgets budget pacing wasted spend wasted ad spend search terms negative keywords keyword performance bid strategy pause campaigns roas return on ad spend cpa cost per acquisition cost per lead cpc cpm ctr conversions meta ads manager facebook ads manager facebook advertising meta advertising meta ads reporting facebook ads reporting facebook ads analytics instagram ads google adwords adwords google advertising google ads reporting google ads analytics google ads audit performance max google shopping ads tiktok advertising tiktok ads reporting linkedin advertising linkedin campaign manager linkedin ads reporting microsoft ads microsoft advertising bing ads amazon advertising sponsored products chatgpt ads snapchat ads connect google ads to chatgpt connect facebook ads to chatgpt connect meta ads to chatgpt connect ga4 to chatgpt connect search console to chatgpt google ads chatgpt facebook ads chatgpt meta ads chatgpt ga4 chatgpt google analytics chatgpt instagram chatgpt tiktok ads chatgpt linkedin ads chatgpt google ads mcp facebook ads mcp meta ads mcp ga4 mcp google analytics mcp search console mcp marketing mcp web analytics website analytics website traffic traffic sources landing pages ga4 reporting google analytics reporting seo seo reporting seo analytics keyword rankings search performance organic traffic organic search gsc social media social media analytics social media reporting social media management instagram analytics instagram insights instagram reels facebook insights facebook page insights linkedin analytics tiktok insights youtube channel analytics social media posts comment moderation google reviews review replies local seo google maps ecommerce ecommerce analytics ecommerce reporting shopify analytics shopify reports amazon seller central amazon sales woocommerce product feed shopping feed merchant center klaviyo email marketing crm crm reporting hubspot salesforce gohighlevel sales pipeline pipeline reporting leads stripe paypal quickbooks revenue reporting data sources data export scheduled exports data warehouse bigquery snowflake google sheets

Publisher keywords · package

instagram facebook ads meta ads google search console search console google analytics 4 ga4 google analytics google ads google business profile google my business facebook pages facebook organic instagram public public instagram youtube youtube analytics tiktok organic tiktok analytics google merchant center linkedin pages linkedin company pages tiktok ads google ad manager amazon ads facebook lead ads facebook leads threads linkedin ads linkedin shopify pinterest organic pinterest windsor.ai windsor ai windsor mcp marketing marketing analytics marketing reporting marketing reports marketing data marketing performance marketing kpis marketing insights digital marketing performance marketing reporting reports analytics cross-channel reporting multi-channel reporting blended reporting client reporting agency reporting weekly marketing report monthly marketing report automated reporting report automation ads advertising online advertising paid media paid social paid search ppc ppc reporting ppc analytics ppc audit sem ad spend ad performance ad reporting ads reporting ads analytics ad campaigns campaigns campaign performance campaign reporting campaign management ads management ad account audit ad budgets campaign budgets budget pacing wasted spend wasted ad spend search terms negative keywords keyword performance bid strategy pause campaigns roas return on ad spend cpa cost per acquisition cost per lead cpc cpm ctr conversions

Saved package evidence →
Publisher description

Windsor.ai connects your marketing and business data sources to your AI assistant, so you can ask questions and take action in plain English. Reporting examples: - Google Search Console: SEO clicks, impressions, CTR and average search position (rankings), by search query and page. - Meta Ads (Facebook and Instagram Ads): ad spend, clicks, conversions, CPA and ROAS. - Google Analytics 4 (GA4): website and app users, sessions, engagement and conversions/key events, by channel or landing page. - Instagram: organic reach, followers, engagement, and post and Reels performance for Business or Creator accounts. - Google Ads: campaign, ad group and keyword cost, clicks, conversions and ROAS. - Facebook Pages: organic followers, engagement, reactions, comments and shares. - Google Business Profile: Search and Maps views (impressions), search keywords, call clicks, direction requests and reviews. - Google Merchant Center: product-feed issues, disapprovals, clicks and impressions. - YouTube: channel and video views, watch time and subscriber growth. - TikTok: organic video views, followers and engagement; TikTok Ads spend and conversions. - Shopify: sales, orders and product performance. It pulls performance data from any connected source, and on supported ad and marketing platforms it can make changes directly, such as pausing or enabling a campaign, setting a budget, creating a Google Business Profile post, or replying to a review, always after you confirm. Common workflows: - Compare spend, clicks, and conversions across every connected ad account - Find and pause an underperforming Meta Ads, Google Ads, TikTok Ads, LinkedIn Ads, or Microsoft Ads campaign - Post or reply as your Instagram, Threads, Facebook, or Google Business Profile account - Pull GA4, Google Search Console, or YouTube Analytics data straight into the conversation - Pull HubSpot, Salesforce, or Shopify data into the conversation, and update Salesforce records after you confirm - Update a Klaviyo flow or an Amazon Seller Central listing Connects to 350+ sources across advertising, analytics, organic social, CRM, e-commerce, email, and payments, including Google Ads, Meta (Facebook) Ads, Instagram, TikTok Ads, LinkedIn Ads, LinkedIn Company Pages, Microsoft Ads (Bing), GA4, Google Search Console, YouTube, Google Business Profile, HubSpot, Salesforce, Shopify, Klaviyo, Amazon Ads, Google Merchant Center, Stripe, and GoHighLevel. Reading data only requires connecting the relevant account once. Making a change (pausing a campaign, posting content, replying to a review) always asks for your confirmation first, and it is only available on platforms Windsor explicitly supports write access for. Every other connected source is read-only. It can also upload image files from the chat to a Meta Ads ad account for use in ads, or to a Facebook Page or LinkedIn company page for use in an image post. Windsor.ai is an independent product and is not affiliated with or endorsed by the platforms it connects to.

Publisher translations · package

Kampagnen messen und steuern Windsor.ai verbindet Ihre Marketing- und Geschäftsdatenquellen mit Ihrem KI-Assistenten. So können Sie in natürlicher Sprache Fragen stellen und Aktionen ausführen. Beispiele für Berichte: - Google Search Console: SEO-Klicks, Impressionen, CTR und durchschnittliche Suchposition (Rankings), nach Suchanfrage und Seite. - Meta Ads (Facebook und Instagram Ads): Werbeausgaben, Klicks, Conversions, CPA und ROAS. - Google Analytics 4 (GA4): Website- und App-Nutzer, Sitzungen, Interaktionen und Conversions bzw. Schlüsselereignisse, nach Kanal oder Landingpage. - Instagram: organische Reichweite, Follower, Interaktionen sowie die Leistung von Beiträgen und Reels für Business- oder Creator-Konten. - Google Ads: Kosten, Klicks, Conversions und ROAS nach Kampagne, Anzeigengruppe und Keyword. - Facebook Pages: organische Follower, Interaktionen, Reaktionen, Kommentare und geteilte Inhalte. - Google Business Profile: Aufrufe in Search und Maps (Impressionen), Suchbegriffe, Anrufklicks, Routenanfragen und Rezensionen. - Google Merchant Center: Probleme mit Produktfeeds, Ablehnungen, Klicks und Impressionen. - YouTube: Kanal- und Videoaufrufe, Wiedergabezeit und Abonnentenwachstum. - TikTok: organische Videoaufrufe, Follower und Interaktionen; Ausgaben und Conversions für TikTok Ads. - Shopify: Verkäufe, Bestellungen und Produktleistung. Windsor.ai ruft Leistungsdaten aus jeder verbundenen Quelle ab. Auf unterstützten Werbe- und Marketingplattformen können nach Ihrer Bestätigung auch Änderungen vorgenommen werden, etwa Kampagnen pausieren oder aktivieren, Budgets festlegen, Beiträge in Google Business Profile erstellen oder auf Rezensionen antworten. Typische Anwendungsfälle: - Ausgaben, Klicks und Conversions aller verbundenen Werbekonten vergleichen - Kampagnen mit geringer Leistung in Meta Ads, Google Ads, TikTok Ads, LinkedIn Ads oder Microsoft Ads erkennen und pausieren - Über Ihr Instagram-, Threads-, Facebook- oder Google-Business-Profile-Konto Beiträge veröffentlichen oder antworten - Daten aus GA4, Google Search Console oder YouTube Analytics direkt im Gespräch abrufen - Daten aus HubSpot, Salesforce oder Shopify ins Gespräch holen und Salesforce-Datensätze nach Ihrer Bestätigung aktualisieren - Einen Klaviyo-Flow oder ein Produktangebot in Amazon Seller Central aktualisieren Verbindet mehr als 350 Quellen aus Werbung, Analytics, organischen sozialen Medien, CRM, E-Commerce, E-Mail und Zahlungsdiensten. Dazu gehören Google Ads, Meta (Facebook) Ads, Instagram, TikTok Ads, LinkedIn Ads, LinkedIn-Unternehmensseiten, Microsoft Ads (Bing), GA4, Google Search Console, YouTube, Google Business Profile, HubSpot, Salesforce, Shopify, Klaviyo, Amazon Ads, Google Merchant Center, Stripe und GoHighLevel. Zum Lesen von Daten genügt es, das jeweilige Konto einmal zu verbinden. Änderungen wie das Pausieren einer Kampagne, das Veröffentlichen von Inhalten oder das Beantworten einer Rezension erfordern immer Ihre Bestätigung. Diese Aktionen sind nur auf Plattformen verfügbar, für die Windsor ausdrücklich Schreibzugriff unterstützt. Alle anderen verbundenen Quellen sind schreibgeschützt. Bilddateien aus dem Chat lassen sich außerdem in ein Meta-Ads-Werbekonto zur Verwendung in Anzeigen oder auf eine Facebook-Seite beziehungsweise LinkedIn-Unternehmensseite für einen Bildbeitrag hochladen. Windsor.ai ist ein unabhängiges Produkt. Es gehört nicht zu den Unternehmen hinter den angebundenen Plattformen und wird von diesen weder empfohlen noch unterstützt. Informes y gestión de campañas Windsor.ai conecta tus fuentes de datos de marketing y de negocio con tu asistente de IA para que puedas hacer preguntas y realizar acciones en lenguaje natural. Ejemplos de informes: - Google Search Console: clics de SEO, impresiones, CTR y posición media en los resultados de búsqueda, por consulta y página. - Meta Ads (Facebook e Instagram Ads): gasto publicitario, clics, conversiones, CPA y ROAS. - Google Analytics 4 (GA4): usuarios de sitios web y aplicaciones, sesiones, interacción y conversiones o eventos clave, por canal o página de destino. - Instagram: alcance orgánico, seguidores, interacción y rendimiento de publicaciones y Reels de cuentas Business o Creator. - Google Ads: coste, clics, conversiones y ROAS por campaña, grupo de anuncios y palabra clave. - Facebook Pages: seguidores orgánicos, interacción, reacciones, comentarios y contenido compartido. - Google Business Profile: visualizaciones en Search y Maps (impresiones), términos de búsqueda, clics para llamar, solicitudes de indicaciones y reseñas. - Google Merchant Center: problemas del feed de productos, rechazos, clics e impresiones. - YouTube: visualizaciones de canales y vídeos, tiempo de visualización y crecimiento de suscriptores. - TikTok: visualizaciones de vídeos orgánicos, seguidores e interacción; gasto y conversiones de TikTok Ads. - Shopify: ventas, pedidos y rendimiento de productos. Obtiene datos de rendimiento de cualquier fuente conectada y, en las plataformas de publicidad y marketing compatibles, puede realizar cambios directamente, como pausar o activar una campaña, establecer un presupuesto, crear una publicación en Google Business Profile o responder a una reseña, siempre después de que lo confirmes. Flujos de trabajo habituales: - Comparar el gasto, los clics y las conversiones de todas las cuentas publicitarias conectadas - Identificar y pausar una campaña con bajo rendimiento en Meta Ads, Google Ads, TikTok Ads, LinkedIn Ads o Microsoft Ads - Publicar o responder desde tu cuenta de Instagram, Threads, Facebook o Google Business Profile - Consultar datos de GA4, Google Search Console o YouTube Analytics directamente en la conversación - Consultar datos de HubSpot, Salesforce o Shopify en la conversación y actualizar registros de Salesforce tras tu confirmación - Actualizar un flujo de Klaviyo o una ficha de producto en Amazon Seller Central Se conecta a más de 350 fuentes de publicidad, analítica, redes sociales orgánicas, CRM, comercio electrónico, correo electrónico y pagos, como Google Ads, Meta (Facebook) Ads, Instagram, TikTok Ads, LinkedIn Ads, páginas de empresa de LinkedIn, Microsoft Ads (Bing), GA4, Google Search Console, YouTube, Google Business Profile, HubSpot, Salesforce, Shopify, Klaviyo, Amazon Ads, Google Merchant Center, Stripe y GoHighLevel. Para consultar datos, basta con conectar la cuenta correspondiente una vez. Antes de realizar cualquier cambio, como pausar una campaña, publicar contenido o responder a una reseña, siempre se solicita tu confirmación. Estas acciones solo están disponibles en las plataformas para las que Windsor admite expresamente acceso de escritura. Las demás fuentes conectadas son de solo lectura. También permite subir imágenes del chat a una cuenta publicitaria de Meta Ads para usarlas en anuncios, o a una página de Facebook o de empresa de LinkedIn para usarlas en una publicación con imagen. Windsor.ai es un producto independiente y no está afiliado a las plataformas con las que se conecta ni cuenta con su respaldo. Suivez et gérez vos campagnes Windsor.ai relie vos sources de données marketing et métier à votre assistant IA pour vous permettre de poser des questions et d'effectuer des actions en langage naturel. Exemples de rapports : - Google Search Console : clics SEO, impressions, CTR et position moyenne dans les résultats de recherche, par requête et page. - Meta Ads (Facebook et Instagram Ads) : dépenses publicitaires, clics, conversions, CPA et ROAS. - Google Analytics 4 (GA4) : utilisateurs web et d'applications, sessions, engagement et conversions ou événements clés, par canal ou page de destination. - Instagram : portée organique, abonnés, engagement et performances des publications et Reels des comptes Business ou Creator. - Google Ads : coût, clics, conversions et ROAS par campagne, groupe d'annonces et mot-clé. - Facebook Pages : abonnés organiques, engagement, réactions, commentaires et partages. - Google Business Profile : vues dans Search et Maps (impressions), termes de recherche, clics d'appel, demandes d'itinéraire et avis. - Google Merchant Center : problèmes de flux produits, refus, clics et impressions. - YouTube : vues des chaînes et vidéos, durée de visionnage et croissance des abonnés. - TikTok : vues des vidéos organiques, abonnés et engagement ; dépenses et conversions TikTok Ads. - Shopify : ventes, commandes et performances des produits. Il récupère les données de performance de toute source connectée et peut, sur les plateformes publicitaires et marketing compatibles, effectuer directement des modifications : suspendre ou activer une campagne, définir un budget, créer une publication Google Business Profile ou répondre à un avis, toujours après votre confirmation. Exemples d'utilisation : - Comparer les dépenses, les clics et les conversions de tous les comptes publicitaires connectés - Repérer et suspendre une campagne peu performante sur Meta Ads, Google Ads, TikTok Ads, LinkedIn Ads ou Microsoft Ads - Publier ou répondre depuis votre compte Instagram, Threads, Facebook ou Google Business Profile - Consulter les données GA4, Google Search Console ou YouTube Analytics directement dans la conversation - Récupérer les données HubSpot, Salesforce ou Shopify dans la conversation et mettre à jour des enregistrements Salesforce après votre confirmation - Mettre à jour un flux Klaviyo ou une fiche produit Amazon Seller Central Connexion à plus de 350 sources couvrant la publicité, l'analytique, les réseaux sociaux organiques, le CRM, le commerce électronique, l'e-mail et les paiements, notamment Google Ads, Meta (Facebook) Ads, Instagram, TikTok Ads, LinkedIn Ads, les pages d'entreprise LinkedIn, Microsoft Ads (Bing), GA4, Google Search Console, YouTube, Google Business Profile, HubSpot, Salesforce, Shopify, Klaviyo, Amazon Ads, Google Merchant Center, Stripe et GoHighLevel. Pour consulter des données, il suffit de connecter le compte concerné une seule fois. Toute modification, comme la suspension d'une campagne, la publication de contenu ou la réponse à un avis, nécessite toujours votre confirmation. Ces actions sont disponibles uniquement sur les plateformes pour lesquelles Windsor prend explicitement en charge l'accès en écriture. Toutes les autres sources connectées sont en lecture seule. Vous pouvez également envoyer des fichiers image depuis le chat vers un compte publicitaire Meta Ads pour les utiliser dans des annonces, ou vers une page Facebook ou une page d'entreprise LinkedIn pour les utiliser dans une publication avec image. Windsor.ai est un produit indépendant, sans affiliation avec les plateformes auxquelles il se connecte et sans approbation de leur part. キャンペーンの分析と管理 Windsor.aiは、マーケティングやビジネスのデータソースをAIアシスタントに接続し、自然な言葉での質問や操作を可能にします。 レポートの例: - Google Search Console:検索クエリやページ別のSEOクリック数、表示回数、CTR、平均掲載順位。 - Meta Ads(FacebookとInstagram Ads):広告費、クリック数、コンバージョン、CPA、ROAS。 - Google Analytics 4(GA4):チャネルやランディングページ別のウェブサイト・アプリのユーザー数、セッション数、エンゲージメント、コンバージョン・キーイベント。 - Instagram:Business・Creatorアカウントのオーガニックリーチ、フォロワー、エンゲージメント、投稿やReelsのパフォーマンス。 - Google Ads:キャンペーン、広告グループ、キーワード別の費用、クリック数、コンバージョン、ROAS。 - Facebook Pages:オーガニックのフォロワー、エンゲージメント、リアクション、コメント、シェア。 - Google Business Profile:Search・Mapsでの閲覧数(表示回数)、検索キーワード、通話ボタンのクリック、ルート検索、クチコミ。 - Google Merchant Center:商品フィードの問題、不承認、クリック数、表示回数。 - YouTube:チャンネルや動画の視聴回数、総再生時間、登録者数の増加。 - TikTok:オーガニック動画の視聴回数、フォロワー、エンゲージメント、TikTok Adsの費用とコンバージョン。 - Shopify:売上、注文、商品のパフォーマンス。 接続済みのあらゆるデータソースからパフォーマンスデータを取得できます。対応する広告・マーケティングプラットフォームでは、キャンペーンの一時停止や有効化、予算の設定、Google Business Profileへの投稿、クチコミへの返信などの変更も、ご確認をいただいた後に実行できます。 主な活用例: - 接続済みのすべての広告アカウントの費用、クリック数、コンバージョンを比較する - Meta Ads、Google Ads、TikTok Ads、LinkedIn Ads、Microsoft Adsで成果の低いキャンペーンを見つけ、一時停止する - Instagram、Threads、Facebook、Google Business Profileのアカウントから投稿や返信を行う - GA4、Google Search Console、YouTube Analyticsのデータを会話の中で直接確認する - HubSpot、Salesforce、Shopifyのデータを会話に取り込み、確認後にSalesforceのレコードを更新する - KlaviyoのフローやAmazon Seller Centralの商品情報を更新する 広告、アクセス解析、オーガニックのソーシャルメディア、CRM、Eコマース、メール、決済など、350以上のデータソースに接続できます。対応先には、Google Ads、Meta (Facebook) Ads、Instagram、TikTok Ads、LinkedIn Ads、LinkedInの企業ページ、Microsoft Ads (Bing)、GA4、Google Search Console、YouTube、Google Business Profile、HubSpot、Salesforce、Shopify、Klaviyo、Amazon Ads、Google Merchant Center、Stripe、GoHighLevelなどがあります。 データを読み取るには、対象のアカウントを一度接続するだけです。キャンペーンの一時停止、コンテンツの公開、クチコミへの返信などの変更には、必ず事前の確認が必要です。変更を実行できるのは、Windsorが書き込みアクセスに明示的に対応しているプラットフォームに限られます。それ以外の接続先は読み取り専用です。また、チャット内の画像ファイルをMeta Adsの広告アカウントにアップロードして広告に使用したり、FacebookページやLinkedInの企業ページにアップロードして画像付きの投稿に使用したりできます。 Windsor.aiは独立した製品であり、接続先のプラットフォームと提携関係にあるものでも、それらから推奨や公認を受けているものでもありません。 Analise e gerencie campanhas O Windsor.ai conecta suas fontes de dados de marketing e negócios ao seu assistente de IA, para que você possa fazer perguntas e executar ações em linguagem natural. Exemplos de relatórios: - Google Search Console: cliques de SEO, impressões, CTR e posição média nos resultados de busca, por consulta e página. - Meta Ads (Facebook e Instagram Ads): investimento em anúncios, cliques, conversões, CPA e ROAS. - Google Analytics 4 (GA4): usuários de sites e aplicativos, sessões, engajamento e conversões ou eventos principais, por canal ou página de destino. - Instagram: alcance orgânico, seguidores, engajamento e desempenho de publicações e Reels de contas Business ou Creator. - Google Ads: custo, cliques, conversões e ROAS por campanha, grupo de anúncios e palavra-chave. - Facebook Pages: seguidores orgânicos, engajamento, reações, comentários e compartilhamentos. - Google Business Profile: visualizações na Search e no Maps (impressões), termos de pesquisa, cliques para ligar, solicitações de rotas e avaliações. - Google Merchant Center: problemas no feed de produtos, reprovações, cliques e impressões. - YouTube: visualizações de canais e vídeos, tempo de exibição e crescimento de inscritos. - TikTok: visualizações de vídeos orgânicos, seguidores e engajamento; investimento e conversões do TikTok Ads. - Shopify: vendas, pedidos e desempenho de produtos. Ele consulta dados de desempenho de qualquer fonte conectada e, nas plataformas de publicidade e marketing compatíveis, pode fazer alterações diretamente, como pausar ou ativar uma campanha, definir um orçamento, criar uma publicação no Google Business Profile ou responder a uma avaliação, sempre após a sua confirmação. Fluxos de trabalho comuns: - Comparar gastos, cliques e conversões de todas as contas de anúncios conectadas - Identificar e pausar uma campanha com baixo desempenho no Meta Ads, Google Ads, TikTok Ads, LinkedIn Ads ou Microsoft Ads - Publicar ou responder usando sua conta do Instagram, Threads, Facebook ou Google Business Profile - Consultar dados do GA4, Google Search Console ou YouTube Analytics diretamente na conversa - Trazer dados do HubSpot, Salesforce ou Shopify para a conversa e atualizar registros do Salesforce após a sua confirmação - Atualizar um fluxo do Klaviyo ou uma oferta de produto no Amazon Seller Central Conecta-se a mais de 350 fontes de publicidade, análise de dados, redes sociais orgânicas, CRM, comércio eletrônico, e-mail e pagamentos, incluindo Google Ads, Meta (Facebook) Ads, Instagram, TikTok Ads, LinkedIn Ads, páginas de empresas do LinkedIn, Microsoft Ads (Bing), GA4, Google Search Console, YouTube, Google Business Profile, HubSpot, Salesforce, Shopify, Klaviyo, Amazon Ads, Google Merchant Center, Stripe e GoHighLevel. Para consultar dados, basta conectar a conta correspondente uma vez. Antes de fazer qualquer alteração, como pausar uma campanha, publicar conteúdo ou responder a uma avaliação, sua confirmação é sempre solicitada. Essas ações estão disponíveis apenas nas plataformas para as quais o Windsor oferece explicitamente acesso de escrita. Todas as outras fontes conectadas são somente leitura. Também é possível enviar imagens do chat para uma conta de anúncios do Meta Ads para usá-las em anúncios, ou para uma página do Facebook ou de empresa do LinkedIn para usá-las em uma publicação com imagem. O Windsor.ai é um produto independente, sem afiliação ou endosso das plataformas às quais se conecta.

Saved package evidence →

What changed

· 8 observations

Positioning & listing

Short description changed from “Connect 350+ data sources” to “Report on and manage campaigns”. Publisher keywords: 180 added. Version changed from “4.1.0” to “4.1.1”.

View comparison →
Capabilities & instructions

Full description: added “Prefer a more specific Windsor.ai skill when one fits (a platform such as Google Ads or GA4, a performance review, wasted-spend audit, campaign management,...”. Skill instructions: added “Prefer a more specific Windsor.ai skill when one fits (a platform such as Google Ads or GA4, a...

View comparison →
Capabilities & instructions

Full description changed from “Windsor skill directly.” to “platform or workflow skills, or the Windsor skill when none fits.”. Skill instructions changed from “Windsor skill directly.” to “platform or workflow skills, or the Windsor skill when none fits.”.

View comparison →
Capabilities & instructions

Full description changed from “Sync HubSpot, Salesforce, or Shopify records” to “Pull HubSpot, Salesforce, or Shopify data into the conversation, and update Salesforce records after you confirm”. Long description changed from “Sync HubSpot, Salesforce, or Shopify records” to “Pull HubSpot, Salesforce, or Shopify...

View comparison →

Technical updates · 2

Package or technical metadata updated

View technical comparison →

Package or technical metadata updated

View technical comparison →

· 2 observations

Capabilities & instructions

Full description: added “Reporting examples: - Google Search Console: SEO clicks, impressions, CTR and average search position (rankings), by search query and page. - Meta Ads...”. Capabilities updated; open the comparison for details. Long description: added “Reporting examples: - Google Search Console: SEO clicks,...

View comparison →

Technical updates · 1

Package or technical metadata updated

View technical comparison →

· 1 observation

Capabilities & instructions

Full description: added “Reporting examples: - Google Search Console: SEO clicks, impressions, CTR and average search position (rankings), by search query and page. - Meta Ads...”. Capabilities updated; open the comparison for details. Long description: added “Reporting examples: - Google Search Console: SEO clicks,...

View comparison →

· 4 observations

Pricing references

Full description changed from “Free plan available, no credit card required.” to “It can also upload image files from the chat to a Meta Ads ad account for use in ads, or to a Facebook Page or LinkedIn company page for use in an image post.”. Brand color added: “#0E2640”. Logo url dark removed:...

View comparison →
Capabilities & instructions

Full description changed from “Connect 350+ data sources” to “Windsor.ai connects your marketing and business data sources to your AI assistant, so you can ask questions and take action in plain English. It pulls...”. Default prompt changed from “Use $windsor-manage to find my worst-performing Meta Ads campaign in...

View comparison →
Pricing references

Full description changed from “Windsor.ai connects your marketing and business data sources to your AI assistant, so you can ask questions and take action in plain English. It pulls...” to “Connect 350+ data sources”. Brand color added: “#0E2640”. Default prompt changed from “Which of my connected marketing channels...

View comparison →

Technical updates · 1

Package or technical metadata updated

View technical comparison →

Keywords

Files & skills

File archives

Plugin package40 files · 97.7 KBBrowse files →
Skill instructions
amazon-ads5.53 KB

View saved version →

---
name: amazon-ads
description: "Analyze and manage Amazon Ads (Sponsored Products, Sponsored Brands, Sponsored Display) through Windsor.ai. Use when the user asks about their Amazon Ads performance (spend, clicks, impressions, sales, purchases, ACoS, ROAS by campaign, ad group, keyword, target, search term, placement or advertised product), or when they want to pause or enable a Sponsored Products campaign or change its daily budget. Do not use for Amazon Seller Central or Vendor Central orders and listings, or for other ad platforms. Also use when the user asks how to connect Amazon Ads to ChatGPT."
---

Explicit instructions from the user take priority over this skill.

# Amazon Ads via Windsor.ai

Windsor.ai exposes live Amazon Ads data (read) and a small set of Sponsored
Products campaign actions (write) through MCP tools. The connector id is
`amazon_ads`. Pass `amazon_ads` as the connector on every tool call.

Golden rules:

- **Never guess field, account, action, or option names.** They come from
  `get_fields`, `get_connectors`, `list_actions`, and `get_options`. Call those
  first; do not invent identifiers.
- **Reads are safe; writes change live ad spend.** Only call `execute_action`
  after the user has confirmed the specific change.
- Report numbers the user asked for, concisely. Don't dump raw rows unless asked.

## 1. Check what is connected

Call `get_connectors` to see which Amazon Ads accounts (advertising profiles)
are connected. If none are connected, call `get_connector_authorization_url`
(or `get_connector_connect_info`) and give the user the setup link.

One Amazon login can hold several profiles, one per marketplace. If the user
names a marketplace or brand, match it to an account id; if the request is
ambiguous, ask which one.

## 2. Reading performance data

Amazon Ads fields are grouped by report, and each field id starts with its
report prefix. Examples (always confirm with `get_fields`):

- `sponsored_products_campaign__*`: campaign, campaign status, daily budget,
  cost, clicks, impressions, ACoS, ROAS, attributed sales and conversions at
  1, 7, 14 and 30 days
- `sponsored_products_search_term__*`: search term, keyword text, match type,
  campaign and ad group, cost, clicks, purchases and sales at 1, 7, 14 and 30 days
- `sponsored_products_targeting__*`, `sponsored_products_placement__*`,
  `sponsored_products_advertised_product__*`
- Sponsored Brands and Sponsored Display have their own report families
  (for example `sponsored_brands_search_term__*`,
  `sponsored_display_campaign__*`); their set differs from Sponsored
  Products, so check `get_fields`
- shared fields without a prefix: `date`, `account_name`, `account_id`,
  `marketplace`, `ad_type`

Recipe:

1. Call `get_fields` for `amazon_ads` and pick the report prefix that matches
   the question (campaign, search term, targeting, placement, product).
2. Call `get_data` with fields from that one prefix plus shared fields such as
   `date` or `account_name`. Keep each call to one report so the rows stay
   comparable; run a second call for a second report.
3. Use the date range the user gave, or a preset such as `last_30d`, and say
   which one you used.

Metric notes:

- **Attribution windows:** Sponsored Products sales, purchases and units come in 1, 7, 14 and 30
  day versions (Sponsored Brands and Sponsored Display fields carry fewer
  windows; read the field descriptions). Pick one window, name it in the answer, and use the same one
  across campaigns.
- **ACoS** = ad spend / ad-attributed sales. **ROAS** = ad-attributed sales /
  ad spend. The Sponsored Products `__acos` and `__roas` fields use 14-day
  sales (for Sponsored Brands and Sponsored Display, check the field
  description). For any other window, compute them from cost and the matching sales
  field (for example `sponsored_products_campaign__attributedsales7d`), and say which window you used.
- Money fields are in the profile's currency. Profiles in different
  marketplaces 

Preview of the first 4,000 characters. Read full instructions →

Referenced files: 1 — file references are metadata, not package contents.

budget-pacing7.66 KB

View saved version →

---
name: budget-pacing
description: "Check budget pacing and reallocate ad budgets across Google Ads, Meta Ads, TikTok Ads, LinkedIn Ads, Microsoft Ads and Amazon Ads through Windsor.ai. Use when the user asks if campaigns are on track to spend their monthly budget, will overspend or underspend, which campaigns are limited by budget, how to split or shift budget between campaigns or platforms, or to plan next month's budget. Projects month-end spend, proposes budget changes with the expected effect, and changes budgets only after explicit approval."
---

Explicit instructions from the user take priority over this skill.

# Budget pacing and allocation

Answer two questions: are the accounts on track to spend the planned budget, and where should the next euro or dollar go. Read first, propose second, change budgets only after an explicit yes.

## 1. Get the plan
- The platforms hold daily or lifetime budgets, not a monthly plan. Ask for the planned amount: per account, per platform, or one total, and for which month. If the user has no plan, use the sum of current daily budgets x days in the month as the implied plan and say so.
- Ask for a target if they have one (cost per conversion or ROAS). Without one, rank by cost per conversion.
- Call `get_connectors` for the connected ad accounts; ask which to include if there are several.

## 2. Read spend and budgets
For each ad connector, read field ids from `get_fields`, then call `get_data` at campaign level (campaign name and id, status, spend, conversions, conversion value where available, and the budget fields) for month to date (`this_monthT` includes today; use `this_month` if today's data is still incomplete) and for the last 7 days.

Budget fields and units, checked 2026-11-09:
- Google Ads: `budget_amount` is the daily budget in the account currency (it does not multiply by the date range). `search_budget_lost_impression_share` is a fraction (0.25 = 25%) of Search impressions lost to budget. `recommended_budget_amount` is returned in micros despite its name (1,700,000,000 = 1,700.00) and is empty when Google has no recommendation.
- Meta Ads: `campaign_daily_budget`, `adset_daily_budget`, `adset_lifetime_budget` and `campaign_budget_remaining` are in cents (200 = 2.00); `campaign_lifetime_budget` is documented in normal currency units. Currencies without cents (JPY, KRW and others) use whole units. Budgets sit on the campaign (Advantage campaign budget) or on the ad set, never both; read both and use whichever is set.
- TikTok Ads: `campaign_budget` / `campaign_budget_mode` and `ad_group_budget` / `ad_group_budget_mode`, in the normal currency amount. Modes are daily, dynamic daily (`BUDGET_MODE_DYNAMIC_DAILY_BUDGET`, a weekly average, so one day can spend more; treat it as daily), lifetime, or unlimited.
- LinkedIn Ads: `campaign_daily_budget_amount`, `campaign_total_budget_amount`, `campaign_group_total_budget` (LinkedIn "campaigns" are ad sets; the two campaign amounts come back as text, so convert them to numbers).
- Microsoft Ads: `budget_amount` (daily cap) and `impression_lost_to_budget_percent` (a fraction, 0.10 = 10%, despite the name) can be read with spend. `monthly_budget` and `month_to_date_budget_spend` cannot be read with `spend`: read them together in a separate call that includes `date`, and use the values on the latest date. Without `date` the server adds up the daily values, which is wrong for both (`month_to_date_budget_spend` is already a running total). Use `conversions_qualified` for conversions.
- Amazon Ads: `sponsored_products_campaign__campaigndailybudget` and the Sponsored Brands budget fields with their `_budget_type`.
- Read units are not verified for LinkedIn and Amazon. Sanity-check every budget against average daily spend before using it; if a budget is 100x the daily spend, it is probably in cents or micros.

## 3. Pacing
- Days elapsed = completed days this month; days left = days in the month minus days elapsed.
- Projected month-end sp

Preview of the first 4,000 characters. Read full instructions →

Referenced files: 1 — file references are metadata, not package contents.

campaign-launch3.55 KB

View saved version →

---
name: campaign-launch
description: "Create new campaigns, ad groups, ads and posts through Windsor.ai: Google Ads campaigns and responsive search ads, Meta Ads campaigns, ad sets and ads, Instagram, Facebook, LinkedIn, Threads and Google Business Profile posts, and Klaviyo flows. Use when the user wants to create, build, launch, draft or publish something new. Shows the full draft first, creates ad objects paused where the platform supports it, and creates only after confirmation."
---

Explicit instructions from the user take priority over this skill.

# Create on connected platforms

Create new items on connected accounts through Windsor.ai. Create actions currently exist on Meta Ads (facebook), Google Ads (google_ads), LinkedIn Ads (linkedin, ads from an existing post), Amazon DSP (amazon_dsp), Instagram (instagram), Facebook Pages (facebook_organic), LinkedIn Pages (linkedin_organic), Threads (threads), Google Business Profile (google_my_business), Google Merchant Center (google_merchant, products), Klaviyo (klaviyo), Salesforce (salesforce), GoHighLevel (gohighlevel), Stripe (stripe), WooCommerce (woocommerce, coupons), and WordPress (wordpress). TikTok Ads, Microsoft Ads and Amazon Ads have no create actions; the available create actions and their required fields are whatever list_actions returns for the connector.

## Non-negotiable contract
- Interpret create, make, build, publish, post, and launch as a creation request for this skill.
- Gather every required input first, show the complete draft, and create only after an explicit yes. Never create with placeholder values.
- Build params from the list_actions schema, not from memory. Create one item per confirmation unless the user approved an explicit list.

## Workflow
1. Call get_connectors to pick the connector and target account; ask if several match.
2. Call list_actions for the connector and read the schema of the create action.
3. Collect the inputs the schema requires, then present the full draft (every field, the account, and what will be live afterwards).
4. After an explicit yes, call execute_action once and report the created item and its state.

## Rules
- Created ad objects start paused (LinkedIn creatives start as drafts) where the platform supports it; say so, and offer the campaign-management skill to enable them once reviewed.
- Responsive search ads need 3 to 15 headlines, 2 to 4 descriptions, and a final URL; collect them before building params.
- Invoices and subscriptions bill a real customer; never create one with placeholder amounts, and show the amount, currency, and customer in the confirmation.
- Instagram image posts need a publicly reachable JPEG image URL (the caption is optional); Google Business Profile posts need the location and the post text. Show the exact text that will be published.
- Never invent budgets, bids, or copy; ask for them, then confirm the exact values. If the user wants creative help, draft it as text for approval first.
- If execute_action reports that write actions are not enabled, send the user to https://onboard.windsor.ai/app/settings/account and retry after they confirm.

## Hand-offs
- Reporting, rankings, comparisons, trends -> the marketing-performance-review skill
- Confirmed changes (pause, enable, budgets, bids, audiences, flows, listing updates) -> the campaign-management skill
- Connecting, reconnecting, adding an account, or asking what is connected -> the get-started skill
- Recurring exports and syncs -> the scheduled-exports skill

## Answer with evidence
Report exactly what was created, where, and its status, using the execute_action result.

Referenced files: 1 — file references are metadata, not package contents.

campaign-management4.47 KB

View saved version →

---
name: campaign-management
description: "Make confirmed changes on ad and marketing accounts connected to Windsor.ai: pause or enable campaigns, ad sets, ad groups and ads, set budgets on Google Ads, Meta Ads, TikTok Ads, LinkedIn Ads, Microsoft Ads and Amazon Ads, set bids and bidding strategies on Google Ads and Meta Ads, push Google Ads negative keywords, reply to reviews and comments, and update listings and CRM records. Use when the user wants to pause, enable, raise, lower, set, fix or update something. Always reads first and asks for confirmation before each change."
---

Explicit instructions from the user take priority over this skill.

# Manage connected platforms

Make confirmed changes on connected accounts through Windsor.ai. Write actions currently exist on Meta Ads (facebook), Google Ads (google_ads), TikTok Ads (tiktok), LinkedIn Ads (linkedin), Microsoft Ads (bing), Amazon Ads (amazon_ads), Instagram (instagram), Facebook Pages (facebook_organic), LinkedIn Pages (linkedin_organic), Threads (threads), Google Business Profile (google_my_business), Klaviyo (klaviyo), Amazon Seller Central (amazon_sp), Salesforce (salesforce), GoHighLevel (gohighlevel), Stripe (stripe), WordPress (wordpress), Google Merchant Center (google_merchant), ChatGPT Ads (openai_ads), Snapchat Ads (snapchat), WooCommerce (woocommerce), Amazon DSP (amazon_dsp). The exact set is whatever list_actions returns for the connector; it changes over time, so never assume an action exists.

## Non-negotiable contract
- Interpret pause, enable, stop, resume, set, raise, lower, update, and change as a write request for this skill.
- Every write follows read, propose, confirm, execute. Never call execute_action without an explicit yes to the specific change.
- Do not improvise a write with a different tool. If list_actions has no matching action, say so and offer the dashboard link from get_windsor_login_url.
- One change per confirmation. For a batch, list every item and get one explicit approval for the exact list.

## Workflow
1. Call get_connectors to find the connector slug and account; ask if several accounts match.
2. Resolve the target with a get_data read (name plus id fields) so the change points at an id, not a name.
3. Call list_actions for the connector and build the params from the returned JSON schema.
4. Show the concrete change, for example "Pause campaign 'Summer Sale' (id ...) on account ...?" or "Set the Google Ads daily budget for campaign X to 50.00 (50000000 micros)?", and ask for confirmation.
5. After an explicit yes, call execute_action once and report the result, including anything the platform returned.

## Rules that prevent wrong writes
- Deletes (a Salesforce record, an Instagram comment, a Google Ads Customer Match list) cannot be undone; name the item and its id in the confirmation, and prefer hiding over deleting a comment unless the user asks to delete.
- Budgets, bids, and targets are absolute values, not deltas. To raise a budget by 20 percent, read the current value, compute the new absolute amount, and set that.
- Budget units differ per platform: Google Ads takes micros (50.00 = 50000000), Meta takes cents (50.00 = 5000; whole units for currencies without cents such as JPY), LinkedIn, Microsoft Ads and Amazon Ads take the normal amount (50.00 = 50), and TikTok takes whole numbers (50). For any other connector, take the unit from the action's schema description. Convert the user's amount and show both values in the confirmation.
- If the user says "pause the worst one", first run the read and ranking (or hand it to the marketing-performance-review skill), then name the specific item and confirm before writing.
- If execute_action reports that write actions are not enabled for the account, send the user to https://onboard.windsor.ai/app/settings/account to turn them on, then retry after they confirm.
- If it reports a missing permission (for example Instagram comments on an account connected before comment acces

Preview of the first 4,000 characters. Read full instructions →

Referenced files: 1 — file references are metadata, not package contents.

get-started7.13 KB

View saved version →

---
name: get-started
description: Guide a new Windsor.ai user through setup, choosing a data source, connecting an account, and getting a first useful report. Use when the user runs plugin setup, asks to get started, or needs help completing their initial connection. Regular reporting and campaign-management requests should use the platform or workflow skills, or the Windsor skill when none fits.
---

# Get started with Windsor.ai

Help the user reach their first useful result with their own data. Use the
Windsor.ai MCP tools already available in the conversation. Follow the user's
stated goal and language; skip questions they have already answered. Keep each
message short and ask only for the next choice that blocks progress.

## Start from the current connection

Call `get_connectors(include_actions=False, include_options=False)` to discover
connected sources and account names. If these optional flags are absent from
the live tool schema, omit them. Use returned connector and account IDs, never
invent them. An authentication or service error is not an empty account list.

- **Windsor is not authenticated:** use the host's Connect/sign-in action or
  the connection prompt returned by the tool. Ask the user to finish it and
  resume afterwards. Do not invent a sign-in URL or keep retrying a 401.
- **Relevant accounts already exist:** reuse them. With one matching account,
  continue to the first report. With several, ask which account to use unless
  the user already selected one or explicitly requested all of them. Show
  account names, with a shortened ID only when names are missing or duplicated.
- **No relevant account is connected:** help connect the chosen source below.
  Do not make a returning user reconnect a working account.

If the goal or platform is still unknown, ask one short question: what would
they like to understand, and on which platform? Offer a few relevant examples,
such as Instagram engagement, Facebook/Meta Ads results, Google Search Console
SEO, Google Analytics 4 website traffic or Google Ads performance. Accept any
other supported source; do not present a 350-source catalog or require a form.
When connected sources provide useful choices, offer those first.

## Connect the selected source

Before requesting a connection link, call
`get_connectors(include_not_yet_connected=True, include_actions=False,
include_options=False)` to obtain the connector ID from the complete catalog.
Omit unsupported optional flags. Distinguish organic Instagram from Instagram
Public and Meta Ads, Facebook Pages from Facebook Ads, and LinkedIn Pages from
LinkedIn Ads. Ask a focused question if the user's wording leaves that choice
unclear; never substitute another connector silently.

Call `get_connector_connect_info` for the discovered ID. Give the returned
`connect_url` as a labeled link and repeat provider-specific `notes` verbatim
when present. For OAuth, explain that the user authorizes and selects their
account in the browser. For manual connections, name the required fields and
send the user to that form to enter them. Never ask for passwords, API keys,
tokens or other secrets in chat. If connect-info is unavailable but
`get_connector_authorization_url` exists, use its returned URL and notes.

Ask the user to return when finished, then pause. Do not poll while they are
authorizing. On their return, call `get_connectors` again to verify the expected
account appears. Opening a link or completing provider sign-in alone does not
prove the connection is ready. If it is still absent, explain the remaining
account-selection or save step using the returned guidance. After one recovery
attempt with no progress, summarize the blocker and offer support; do not loop
through authorization. Cancellation should leave setup paused, without a claim
of completion. Do not submit a support request unless the user asks.

## Deliver the first report

Honor any report the user already requested, including their account and date
range. Fo

Preview of the first 4,000 characters. Read full instructions →

Referenced files: 1 — file references are metadata, not package contents.

google-ads7.24 KB

View saved version →

---
name: google-ads
description: "Analyze and manage Google Ads through Windsor.ai. Use when the user asks about their Google Ads performance, such as pulling live campaign, ad group, or keyword metrics (cost, impressions, clicks, conversions, CPA, ROAS), comparing date ranges, or finding top or underperforming campaigns, or when they want to pause or enable campaigns, ad groups or ads, change budgets, bids or bidding strategies, add keywords or negative keywords, set targeting, or create campaigns, ad groups and responsive search ads. Do not use for other ad platforms (Meta/Facebook, TikTok, LinkedIn, Microsoft Ads), organic social, or GA4/website analytics. Also use when the user asks how to connect Google Ads to ChatGPT."
---

Explicit instructions from the user take priority over this skill.

# Google Ads via Windsor.ai

Windsor.ai exposes live Google Ads data (read) and a broad set of campaign
management actions (write) through MCP tools. The connector id is
`google_ads`. Pass `google_ads` as the connector on every tool call; the Windsor.ai server
serves all connectors, so it is never implied.

Golden rules:

- **Never guess field, account, action, or option names.** They come from
  `get_fields`, `get_connectors`, `list_actions`, and `get_options`. Call those
  first; do not invent identifiers.
- **Reads are safe; writes change live ad spend.** Only call `execute_action`
  after the user has confirmed the specific change.
- Report numbers the user asked for, concisely. Don't dump raw rows unless asked.

## 1. Check what is connected

Call `get_connectors` to see which Google Ads accounts are connected (each has
an id and, usually, a name). If none are connected, help the user connect one:
call `get_connector_authorization_url` (or `get_connector_connect_info` for the
auth type and steps) and give them the setup link; do not describe manual
dashboard navigation.

If the user names an account, match it to a connected account id. If several are
connected and the request is ambiguous, ask which account.

## 2. Reading performance data

1. Call `get_fields` for `google_ads` to get valid field ids (e.g. campaign,
   ad_group, date, cost/spend, impressions, clicks, conversions, conversion
   value. Use the exact ids returned, not these examples).
2. If the analysis needs attribution or segmentation controls, call
   `get_options` to see the connector's options and valid values.
3. Call `get_data` with:
   - `fields`: the ids you actually need (keep the set small).
   - `accounts`: the target account id(s); omit for all connected accounts.
   - A date range: either `date_from`/`date_to` (`"2026-02-01"`), or
     `date_preset`: `last_7d`, `last_30d`, `last_Xd`/`last_Xw`/`last_Xm`,
     `this_month`, `this_year`, `last_year`. Append `T` to include today
     (e.g. `last_7dT`, `this_monthT`); `T` works on `last_Xd`, `this_month`,
     `this_year` and `last_year`, not on `last_Xw` or `last_Xm`.
   - `options`: only if get_options showed relevant ones.
   - `filters`: optional conditions, e.g. `[["cost", "gt", 100]]`; combine with
     `"and"`/`"or"` and nest as needed.

Common requests → recipe:

- **Overview / trend:** fields `date` + the metrics, over a preset range.
- **By campaign:** fields `campaign` + metrics; sort/aggregate in your answer.
- **Best / worst campaign:** pull campaign + the metric, then rank; return only
  what was asked (e.g. just the campaign name) if the user constrained the
  output format.
- **Efficiency:** cost per conversion = cost ÷ conversions; ROAS = conversion
  value ÷ cost. Compute from returned fields; note if conversions are zero.

Watch out: most Google Ads money fields (spend, cost, `budget_amount`) are in
the account currency (state it if known); fields ending in `_micros`, and
`recommended_budget_amount`, `keyword_average_cpc` and `top_of_page_bid_*`,
are in micros. Check the field description. Conversions can be fractional. If a field the user wants isn't in
`get_fields`, say so rather than 

Preview of the first 4,000 characters. Read full instructions →

Referenced files: 1 — file references are metadata, not package contents.

google-analytics-44.2 KB

View saved version →

---
name: google-analytics-4
description: "Analyze Google Analytics 4 (GA4) data through Windsor.ai. Use when the user asks about their GA4 website or app analytics: sessions, users, new users, engagement, conversions/key events, bounce/engagement rate, pageviews, or breakdowns by channel, source/medium, campaign, landing page, device, country, or date. For spend and ROAS as reported by each ad platform, use the ad-platform connectors (GA4 only has cost for linked Google Ads accounts and imported cost data). Do not use for other analytics products, or changing GA4 settings. Also use when the user asks how to connect Google Analytics 4 (GA4) to ChatGPT."
---

Explicit instructions from the user take priority over this skill.

# Google Analytics 4 (GA4) via Windsor.ai

Windsor.ai pulls live **read-only** GA4 report data through the Google Analytics
Data API. The connector id is `googleanalytics4`. Pass `googleanalytics4` as the connector on every tool call; the Windsor.ai server
serves all connectors, so it is never implied.

This connector is **read-only analytics**: it reports GA4 metrics and dimensions.
Ad cost is only available for linked Google Ads accounts and imported cost
data (`advertiser_ad_cost`, `advertiser_ad_cost_per_key_event`,
`return_on_ad_spend`); spend from other platforms lives in their ad
connectors. It does **not** change any GA4 setting; there are no write
actions. If asked to create a conversion event, change settings, or
spend data, say that's out of scope here.

Golden rules:

- **Never guess field, property, or option names**; get them from `get_fields`,
  `get_connectors`, and `get_options`. Call those first; GA4 has many
  dimensions and metrics with exact API ids.
- Read-only connector; there are no live write actions to run.
- Report what the user asked for, concisely.

## 1. Check what is connected

Call `get_connectors` to see which GA4 properties are connected (each has an id
and usually a name). If none is connected, help the user connect:
`get_connector_authorization_url` (or `get_connector_connect_info` for the auth
type and steps) and give them the setup link; don't describe manual dashboard
navigation. If several properties are connected and the request is ambiguous,
ask which one.

## 2. Reading GA4 data

1. Call `get_fields` for `googleanalytics4` to get valid field ids. GA4 splits
   into **dimensions** (e.g. date, `session_default_channel_group`, source/medium,
   campaign, landing page, devicecategory, country) and **metrics** (e.g.
   sessions, active users, `conversions` (key events), engagement
   rate, bounce rate, pageviews, average session duration, event count,
   revenue). Use the exact ids returned, not these examples.
2. If the analysis needs specific controls, call `get_options` for the
   connector's options and valid values.
3. Call `get_data` with the `fields` you need (a mix of dimensions and metrics),
   the target property/account id(s) in `accounts`, and a date range; `date_from`/`date_to`
   (`"2026-02-01"`) or a `date_preset` like `last_7d`, `last_30d`, `this_month`,
   `last_year` (append `T` to include today). Add `filters` for conditions.

Common requests → recipe:

- **Traffic overview / trend:** `date` + sessions/users over a preset range.
- **By channel:** `session_default_channel_group` + sessions/conversions; rank in
  your answer.
- **Top source or campaign:** the source/medium or campaign dimension + the
  metric, then rank; return only what the user asked for (e.g. just the channel
  name) if they constrained the output.
- **Conversions:** GA4 "conversions" are key events. Cost-per-conversion or ROAS
  use `advertiser_ad_cost` for linked Google Ads and imported cost; for other
  platforms, join spend from their ad connector and say the numbers come from
  two sources.

Watch out: GA4 sampling/thresholding and property timezone can shift numbers;
metric availability depends on the property. If a field the user wants isn't in
`get_fields`, say so rather tha

Preview of the first 4,000 characters. Read full instructions →

Referenced files: 1 — file references are metadata, not package contents.

google-merchant-center5.3 KB

View saved version →

---
name: google-merchant-center
description: "Analyze Google Merchant Center product feed and Shopping data through Windsor.ai. Use when the user asks about their Merchant Center product feed: product status counts (active, disapproved, pending, expiring), availability, clicks, impressions, CTR, or price benchmarks by product, brand, or category. It can also add, update, pause or delete products and create API data sources, always after the user confirms the exact change. Do not use for Google Ads Shopping campaign spend or ROAS (those live in the Google Ads connector) or other platforms (e.g. Amazon). Also use when the user asks how to connect Google Merchant Center to ChatGPT."
---

Explicit instructions from the user take priority over this skill.

# Google Merchant Center via Windsor.ai

Windsor.ai pulls Google Merchant Center product feed and Shopping data. The
connector id is `google_merchant`. Pass `google_merchant` as the connector on every tool call; the Windsor.ai server
serves all connectors, so it is never implied.

This connector reads product feed and Shopping data and has **no Google Ads
Shopping campaign data** (spend and ROAS live in the Google Ads connector, so
route those questions there).

Write actions (check `list_actions` for the live set and schemas):
`insert_product`, `update_product` (change attributes, clear attributes, or
pause a product), `delete_product`, and `create_data_source`. Changes go
through an API data source: products from a file feed or the Merchant Center
UI are changed through a supplemental API data source linked to their primary
data source (`create_data_source` with `link_to_primary_data_source`). Read
the product's `product_data_source` first, show the exact change, and run it
only after the user confirms. Merchant Center shows changes after a few
minutes. Deleting from a primary data source removes the whole product.

Golden rules:

- **Never guess field, account, or option names**; get them from
  `get_fields`, `get_connectors`, and `get_options`. Call those first.
- Reads are safe. Writes change the live product feed: run `execute_action`
  only after the user confirms the specific change.
- Report what the user asked for, concisely.

## 1. Check what is connected

Call `get_connectors` to see which Merchant Center accounts are connected
(each has an id and, usually, a name). If none is connected, help the user
connect one: call `get_connector_authorization_url` (or
`get_connector_connect_info` for the auth type and steps) and give them the
setup link; do not describe manual dashboard navigation.

If the user names an account, match it to a connected account id. If several
are connected and the request is ambiguous, ask which account.

## 2. Reading Merchant Center data

1. Call `get_fields` for `google_merchant` to get valid field ids; product
   and feed attributes (availability, price, price benchmark, brand,
   category, and product status counts) and Shopping
   performance metrics (clicks, impressions, CTR). Use the exact ids
   returned, not these examples.
2. If the analysis needs segmentation controls, call
   `get_options` to see the connector's options and valid values.
3. Call `get_data` with:
   - `fields`: the ids you actually need (keep the set small).
   - `accounts`: the target account id(s); omit for all connected accounts.
   - A date range: either `date_from`/`date_to` (`"2026-02-01"`), or
     `date_preset`: `last_7d`, `last_30d`, `this_month`; append `T` to
     include today (e.g. `last_7dT`, `this_monthT`).
   - `filters`: optional conditions, e.g. a price-benchmark threshold; combine with `"and"`/`"or"` as needed.

Merchant Center specifics to respect:

- Feed attributes (availability, price, price benchmark) and product status
  counts describe the **current state of the feed**, while
  clicks, impressions, and CTR are **per-day performance metrics** over the
  requested range. Don't present a current feed attribute as if it varied
  over a historical

Preview of the first 4,000 characters. Read full instructions →

Referenced files: 1 — file references are metadata, not package contents.

google-search-console3.57 KB

View saved version →

---
name: google-search-console
description: "Analyze Google Search Console (organic search) data through Windsor.ai. Use when the user asks about their site's organic Google Search performance: clicks, impressions, CTR, or average position, broken down by search query, page/URL, country, device, search appearance, or date. Do not use for paid search / Google Ads cost, other webmaster tools (e.g. Bing), web analytics like GA4, or changing Search Console settings. Also use when the user asks how to connect Google Search Console to ChatGPT."
---

Explicit instructions from the user take priority over this skill.

# Google Search Console via Windsor.ai

Windsor.ai pulls live **read-only** Google Search Console data through the Search
Analytics API. The connector id is `searchconsole`. Pass `searchconsole` as the connector on every tool call; the Windsor.ai server
serves all connectors, so it is never implied.

This connector is **read-only** organic-search analytics. It reports Search
Console metrics and dimensions; it does **not** cover paid search or ad cost
(that lives in the Google Ads connector), and it does **not** submit sitemaps or
change any Search Console setting; there are no write actions. If asked to
submit a sitemap or change settings, say that's out of scope here.

Golden rules:

- **Never guess field, site, or option names**; get them from `get_fields`,
  `get_connectors`, and `get_options`. Call those first.
- Read-only connector; there are no live write actions to run.
- Report what the user asked for, concisely.

## 1. Check what is connected

Call `get_connectors` to see which Search Console sites/properties are connected
(each has an id and usually a name). If none is connected, help the user connect:
`get_connector_authorization_url` (or `get_connector_connect_info` for the auth
type and steps) and give them the setup link; don't describe manual dashboard
navigation. If several sites are connected and the request is ambiguous, ask
which one.

## 2. Reading Search Console data

1. Call `get_fields` for `searchconsole` to get valid field ids. Search Console
   splits into **dimensions** (e.g. query, page/URL, country, device, search
   appearance, date) and **metrics** (clicks, impressions, CTR, average
   position). Use the exact ids returned, not these examples.
2. Call `get_data` with the `fields` you need (dimensions + metrics), the target
   site/account id(s) in `accounts`, and a date range; `date_from`/`date_to` (`"2026-02-01"`)
   or a `date_preset` like `last_7d`, `last_28d`, `last_30d`, `this_month`.
   Add `filters` for conditions (e.g. branded vs non-branded queries, a country).

Common requests → recipe:

- **Search performance overview / trend:** `date` + clicks/impressions/CTR/
  position over a preset range.
- **Top queries or pages:** the query or page dimension + clicks/impressions,
  then rank in your answer.
- **By country/device:** that dimension + the metrics.
- Position is an **average position** (lower is better); CTR is clicks ÷
  impressions. Compute derived figures from returned fields.

Watch out: Search Console data typically lags by **~2 to 3 days** (very recent days
may be missing or partial) and history is limited to about **16 months**. It is
**organic** search only; there is no cost/spend data. If a field the user wants
isn't in `get_fields`, say so rather than substituting a different metric.

## 3. Reference real data, don't fabricate

On an error (unknown field/connector/site), call the relevant discovery tool and
retry with correct ids, or report the specific error. Never invent click counts,
positions, query strings, or site ids.

Referenced files: 1 — file references are metadata, not package contents.

instagram4.84 KB

View saved version →

---
name: instagram
description: "Analyze Instagram organic performance through Windsor.ai. Use when the user asks about their Instagram Business or Creator account's insights: followers, reach, views, profile or website clicks, engagement, or the performance of individual media/posts. It can also publish image, carousel, video (Reels) and story posts and reply to, hide, unhide or delete comments, always after the user confirms the exact change. Do not use for Instagram Ads (those live in the Meta/Facebook Ads connector), other platforms, or GA4/website analytics. Also use when the user asks how to connect Instagram to ChatGPT."
---

Explicit instructions from the user take priority over this skill.

# Instagram (organic) via Windsor.ai

Windsor.ai pulls Instagram **organic** insights from the Instagram Graph API. The
connector id is `instagram`. Pass `instagram` as the connector on every tool call; the Windsor.ai server
serves all connectors, so it is never implied.

This connector covers **organic** Instagram: profile and media insights, plus
publishing and comment moderation. It has **no ad or cost data** (Instagram Ads
live in the Meta/Facebook Ads connector, so route ad-spend questions there).
Write actions today are `create_image_post`, `create_carousel_post`,
`create_video_post`, `create_story`, `create_comment`, `reply_to_comment`,
`hide_comment`, `unhide_comment` and `delete_comment`; the live set is whatever
`list_actions` returns.

Golden rules:

- **Never guess field, account, or option names**; get them from `get_fields`,
  `get_connectors`, and `get_options`. Call those first.
- **Publishing and comment changes are public and immediate.** Show the exact
  caption, media URLs, or reply text and call `execute_action` only after an
  explicit yes. `delete_comment` cannot be undone; prefer `hide_comment` unless
  the user asks to delete.
- Report what the user asked for, concisely.

## 1. Check what is connected

Call `get_connectors` to see which Instagram accounts are connected (each has an
id and usually a name/username). The account must be an Instagram Professional
account (Business or Creator) linked to a Facebook Page. If none is connected,
help the user connect: `get_connector_authorization_url` (or
`get_connector_connect_info` for the auth type and steps) and give them the
setup link; don't describe manual dashboard navigation.

If several accounts are connected and the request is ambiguous, ask which one.

## 2. Reading insights

1. Call `get_fields` for `instagram` to get valid field ids. Typical ones
   include account-level metrics (e.g. `followers_count`, `follows_count`,
   `media_count`, reach, views, profile/website clicks, engagement) and
   per-media metrics. Use the exact ids returned, not these examples.
2. Call `get_data` with `fields`, the target account id(s) in `accounts`, and a date range
   (`date_from`/`date_to` or a `date_preset` like `last_7d`, `last_30d`,
   `this_month`; append `T` to include today).

Instagram date behaviour to keep in mind:

- **Lifetime metrics** (e.g. total followers) ignore the date range; the API
  always returns the latest value. Don't present them as period-specific.
- Instagram no longer returns impressions (`impressions` and
  `media_impressions` come back empty or 0); use `views` and `media_views`.
- Some **daily metrics** (for example `follower_count_1d`) only go back about
  **30 days**; check the field description. Others, such as reach, return
  older dates.
- **Stories** insights exist only for the **last 24 hours**.

If a metric the user wants isn't in `get_fields`, say so rather than
substituting a different one. There is no cost/spend data here.

## 3. Publishing and moderating comments

1. Call `get_connectors` to pick the account; ask if several are connected.
2. Call `list_actions` for `instagram` and build the params from the returned
   schema. Media must be publicly reachable URLs (images JPEG, videos MP4 or
   MOV); a carousel takes 2 to 10 im

Preview of the first 4,000 characters. Read full instructions →

Referenced files: 1 — file references are metadata, not package contents.

linkedin-ads5.03 KB

View saved version →

---
name: linkedin-ads
description: "Analyze and manage LinkedIn Ads through Windsor.ai. Use when the user asks about their LinkedIn Ads performance (spend, impressions, clicks, CTR, CPC, conversions, or leads at campaign, campaign-group, or creative level, with member demographic breakdowns), or wants to pause/enable a campaign, campaign group, or creative, change a campaign or campaign-group budget, rename a campaign, change its schedule or targeting, or create an ad from an existing post. Do not use for LinkedIn organic company-page data (that's the LinkedIn Organic connector), other ad platforms, or GA4/web analytics. Also use when the user asks how to connect LinkedIn Ads to ChatGPT."
---

Explicit instructions from the user take priority over this skill.

# LinkedIn Ads via Windsor.ai

Windsor.ai exposes live LinkedIn Ads data (read) and campaign-management actions
(write) through MCP tools. The connector id is `linkedin`. Pass `linkedin` as the connector on every tool call; the Windsor.ai server
serves all connectors, so it is never implied.

Golden rules:

- **Never guess field, account, action, or option names**; get them from
  `get_fields`, `get_connectors`, `list_actions`, and `get_options`. Call those
  first.
- **Reads are safe; writes change live ad spend.** Only call `execute_action`
  after the user confirms the specific change.
- Report the numbers the user asked for, concisely.

## 1. Check what is connected

Call `get_connectors` to see which LinkedIn ad accounts are connected. If none is
connected, help the user connect: `get_connector_authorization_url` (or
`get_connector_connect_info`) and give them the setup link. If several accounts
are connected and the request is ambiguous, ask which one.

## 2. Reading performance data

1. Call `get_fields` for `linkedin` to get valid field ids; metrics (spend/cost,
   impressions, clicks, CTR, CPC, CPM, conversions, leads/form completions; note
   that `conversions` counts post-view conversions only, so use
   `externalwebsiteconversions` for total conversions and `oneclickleads` for
   Lead Gen forms) and
   dimensions (campaign, campaign group, creative, date, plus `member_*`
   demographics like industry, job title, seniority, company size). Use the
   exact ids returned.
2. Call `get_data` with `fields`, the target account id(s) in `accounts`, and a date range
   (`date_from`/`date_to` or a `date_preset`; add `date` to the fields for a
   daily breakdown, omit it for aggregated totals).

LinkedIn report specifics:

- **Report levels:** campaign, campaign group, and creative. Some fields require
  a specific level (get_fields/get_options indicate this). Including an ad/
  creative field returns creative-level data; otherwise it defaults to campaign
  level.
- **Demographic fields (`member_*`)** use their own pivot; request **one
  demographic breakdown at a time**, on its own, rather than combining several.
- The API allows up to ~20 metrics and up to 3 pivots per query; keep field sets
  focused.

## 3. Managing campaigns (write actions)

LinkedIn Ads exposes these actions via `list_actions` / `execute_action`. Always
call `list_actions` first to confirm the exact ids and schemas, and treat the list
below as guidance:

- **`pause_campaign` / `enable_campaign`**; params: `campaign_id`.
- **`pause_campaign_group` / `enable_campaign_group`**; params:
  `campaign_group_id`.
- **`pause_creative` / `enable_creative`**; params: `creative_id`.
- **`set_campaign_budget`**; params: `campaign_id`, `budget_type`
  (`daily` or `total`), `amount`. A **total** budget requires the campaign to
  have a schedule end date.
- **`set_campaign_group_budget`**; params: `campaign_group_id`, `amount`
  (total budget only; the campaign group must have a schedule end date).
- Newer actions such as `rename_campaign`, `set_campaign_schedule`,
  `set_campaign_targeting`, and `create_creative` are also listed today; build
  their params only from the schema `list_actions` returns, and confir

Preview of the first 4,000 characters. Read full instructions →

Referenced files: 1 — file references are metadata, not package contents.

marketing-performance-review7.67 KB

View saved version →

---
name: marketing-performance-review
description: "Review marketing performance across every source connected to Windsor.ai: paid ads (Google Ads, Meta Ads, TikTok Ads, LinkedIn Ads, Microsoft Ads, Amazon Ads), organic social, GA4, Search Console, CRM, e-commerce and payments. Use for campaign reports, weekly or monthly reviews, period-over-period comparisons, cross-channel comparisons, best and worst campaigns, and ROAS, CPA, spend, conversions or revenue questions. Read-only: does not change anything."
---

Explicit instructions from the user take priority over this skill.

# Windsor.ai insights

Read live data from any connected source through Windsor.ai and turn it into a clear report, ranking, comparison, or trend. The Windsor.ai server is not scoped to one platform: every tool takes a `connector` slug (for example `google_ads`, `facebook` for Meta Ads, `googleanalytics4`, `shopify`, `stripe`), so discover the slug and the accounts before reading.

## Resolve scope and time
- Call get_connectors first. It lists connected accounts per connector with their options and supported actions. If the source is not connected, hand off to the get-started skill instead of guessing. If several accounts match, ask which one.
- Read field ids from get_fields for the chosen connector, and get_options for date-filter columns and connector options. Never guess connector slugs, account ids, field ids, or option ids.
- Use the date range the user gave. If none, use a sensible preset (last_30d, this_month, last_7d) and state which one you used. Append T to a preset to include today.

## Choose the smallest useful read
- Channel or source comparison -> one get_data call per connector with a small shared field set (date plus the metric asked for), then compare in the answer and say the numbers are platform-reported.
- Best or worst item -> the entity field (campaign, post, page, product, customer) plus the ranking metric; name the metric used. If "best" or "worst" has no metric, ask which one.
- Trend -> date plus the metric over the preset; report direction and magnitude.
- Efficiency -> compute from the raw fields (cost per conversion = spend / conversions; ROAS = conversion value / spend; engagement rate = engagements / reach) and say when a denominator is zero.
- Keep field sets small, request only the accounts you need, and check for truncated or paginated results before claiming complete coverage.

## Accuracy guardrails
- Money fields are in the account currency; state it. Most Google Ads money fields (spend, cost, budget_amount) arrive in the account currency. Fields ending in `_micros`, and a few others such as `recommended_budget_amount`, `keyword_average_cpc` and `top_of_page_bid_*`, are in micros (1,000,000 = 1.00); check the field description. Google Ads write amounts are in micros, except target ROAS, which is a ratio (4.0 = 400%).
- Conversions can be fractional. Do not round them into integers silently.
- Attribution windows and metric definitions differ per platform; do not present cross-platform numbers as like for like.
- If a field the user wants is not in get_fields, say so rather than substituting a different metric.

## Platform notes
- Google Ads: some money fields are in micros (see above), so check the field description; search terms cannot be requested together with keyword fields, so read them in separate calls.
- Meta Ads, Facebook Pages, Instagram: reach and other unique metrics are deduplicated over the period; use the week or month field for weekly or monthly totals instead of summing daily rows. Facebook Pages returns one broken-down metric per request.
- GA4: conversions are key events; GA4 has ad cost only for linked Google Ads accounts and imported cost (`advertiser_ad_cost`), so join spend from the other ad connectors for their ROAS.
- Conversions differ per platform: Microsoft Ads uses `conversions_qualified` (its `conversions` field is deprecated and returns 0); LinkedIn `conversions` counts post-view co

Preview of the first 4,000 characters. Read full instructions →

Referenced files: 1 — file references are metadata, not package contents.

meta-ads7.82 KB

View saved version →

---
name: meta-ads
description: "Analyze and manage Meta Ads (Facebook & Instagram ad placements) through Windsor.ai. Use when the user asks about their Facebook Ads / Meta Ads performance, such as pulling live campaign, ad set, or ad metrics (spend, impressions, clicks, conversions, CPA, ROAS), comparing date ranges, or finding top or underperforming campaigns, or when they want to create, pause, or enable a campaign, ad set, or ad, change a budget, boost an existing post, or edit ad creative. Do not use for other ad platforms (Google Ads, TikTok, LinkedIn, Microsoft Ads), organic Facebook Page posts or Instagram organic content, or designing/generating ad creative images. Also use when the user asks how to connect Facebook Ads or Meta Ads to ChatGPT."
---

Explicit instructions from the user take priority over this skill.

# Facebook Ads via Windsor.ai

Windsor.ai exposes live Meta Ads data (read) and a set of campaign management
actions (write) for Facebook and Instagram ad placements through MCP tools.
The connector id is `facebook`. Pass `facebook` as the connector on every tool call; the Windsor.ai server
serves all connectors, so it is never implied.

This connector covers **Meta Ads** (paid Facebook & Instagram ad placements)
only. It is distinct from Facebook Organic (Page posts) and Instagram
organic, which live in their own connectors; route organic questions there.

Golden rules:

- **Never guess field, account, action, or option names.** They come from
  `get_fields`, `get_connectors`, `list_actions`, and `get_options`. Call those
  first; do not invent identifiers.
- **Reads are safe; writes change live ad spend.** Only call `execute_action`
  after the user has confirmed the specific change.
- Report numbers the user asked for, concisely. Don't dump raw rows unless asked.

## 1. Check what is connected

Call `get_connectors` to see which Meta Ads accounts are connected (each has
an id and, usually, a name). If none are connected, help the user connect one:
call `get_connector_authorization_url` (or `get_connector_connect_info` for the
auth type and steps) and give them the setup link; do not describe manual
dashboard navigation.

If the user names an account, match it to a connected account id. If several are
connected and the request is ambiguous, ask which account.

## 2. Reading performance data

1. Call `get_fields` for `facebook` to get valid field ids (e.g. campaign,
   ad set, ad, date, spend, impressions, clicks, actions_omni_purchase, action_values_omni_purchase. Use
   the exact ids returned, not these examples).
2. If the analysis needs attribution windows or other segmentation controls,
   call `get_options` to see the connector's options and valid values (e.g.
   click/view attribution windows).
3. Call `get_data` with:
   - `fields`: the ids you actually need (keep the set small).
   - `accounts`: the target account id(s); omit for all connected accounts.
   - A date range: either `date_from`/`date_to` (`"2026-02-01"`), or
     `date_preset`: `last_7d`, `last_30d`, `last_Xd`/`last_Xw`/`last_Xm`,
     `this_month`, `this_year`, `last_year`. Append `T` to include today
     (e.g. `last_7dT`, `this_monthT`); `T` works on `last_Xd`, `this_month`,
     `this_year` and `last_year`, not on `last_Xw` or `last_Xm`.
   - `options`: only if get_options showed relevant ones.
   - `filters`: optional conditions, e.g. `[["spend", "gt", 100]]`; combine
     with `"and"`/`"or"` and nest as needed.

Common requests → recipe:

- **Overview / trend:** fields `date` + the metrics, over a preset range.
- **By campaign / ad set / ad:** fields campaign/ad set/ad + metrics; sort or
  aggregate in your answer.
- **Best / worst campaign:** pull campaign + the metric, then rank; return only
  what was asked (e.g. just the campaign name) if the user constrained the
  output format.
- **Efficiency:** cost per result = spend ÷ conversions (or purchases); ROAS =
  purchase value ÷ spend. Compute from returned fields; note if the

Preview of the first 4,000 characters. Read full instructions →

Referenced files: 1 — file references are metadata, not package contents.

microsoft-ads7.25 KB

View saved version →

---
name: microsoft-ads
description: "Analyze and manage Microsoft Advertising (Bing Ads) through Windsor.ai. Use when the user asks about their Microsoft Ads performance, such as pulling live campaign, ad group, keyword, or ad metrics (spend, impressions, clicks, CTR, CPC, conversions, CPA, ROAS), comparing date ranges, or finding top or underperforming campaigns or ad groups, or when they want to pause or enable a campaign or ad group, or change a campaign's daily budget. Do not use for other ad platforms (Google Ads, Meta/Facebook Ads, TikTok Ads, LinkedIn Ads), organic Bing or web search rankings, or website analytics. Also use when the user asks how to connect Microsoft Ads (Bing Ads) to ChatGPT."
---

Explicit instructions from the user take priority over this skill.

# Microsoft Ads (Bing) via Windsor.ai

Windsor.ai exposes live Microsoft Advertising (Bing Ads) data (read) and a
small set of campaign and ad group management actions (write) through MCP
tools. The connector id is `bing`. Pass `bing` as the connector on every tool call; the Windsor.ai server
serves all connectors, so it is never implied.

Golden rules:

- **Never guess field, account, action, or option names.** They come from
  `get_fields`, `get_connectors`, `list_actions`, and `get_options`. Call those
  first; do not invent identifiers.
- **Reads are safe; writes change live campaign/ad group status or budget.**
  Only call `execute_action` after the user has confirmed the specific change.
- Report numbers the user asked for, concisely. Don't dump raw rows unless asked.

## 1. Check what is connected

Call `get_connectors` to see which Microsoft Ads accounts are connected (each
has an id and, usually, a name). If none are connected, help the user connect
one: call `get_connector_authorization_url` (or `get_connector_connect_info`
for the auth type and steps) and give them the setup link; do not describe
manual dashboard navigation.

If the user names an account, match it to a connected account id. If several
are connected and the request is ambiguous, ask which account.

## 2. Reading Microsoft Ads data

1. Call `get_fields` for `bing` to get valid field ids (e.g. campaign,
   ad_group_name, keyword, ad_title, date, spend, impressions, clicks, CTR, CPC,
   conversions_qualified, cost_per_conversion, revenue. Use the exact ids
   returned, not these examples). The field `cpa` is cost per assist (spend /
   assists), not cost per acquisition; compute CPA as spend / conversions or
   use `cost_per_conversion`. Microsoft has deprecated `conversions`; prefer
   `conversions_qualified`.
2. If the analysis needs segmentation or attribution controls, call
   `get_options` to see the connector's options and valid values.
3. Call `get_data` with:
   - `fields`: the ids you actually need (keep the set small).
   - `accounts`: the target account id(s); omit for all connected accounts.
   - A date range: either `date_from`/`date_to` (`"2026-07-01"`), or
     `date_preset`: `last_7d`, `last_30d`, `last_Xd`/`last_Xw`/`last_Xm`,
     `this_month`, `this_year`, `last_year`. Append `T` to include today
     (e.g. `last_7dT`, `this_monthT`); `T` works on `last_Xd`, `this_month`,
     `this_year` and `last_year`, not on `last_Xw` or `last_Xm`.
   - `options`: only if `get_options` showed relevant ones.
   - `filters`: optional conditions, e.g. `[["spend", "gt", 100]]`; combine with
     `"and"`/`"or"` and nest as needed.

Common requests → recipe:

- **Overview / trend:** fields `date` + the metrics, over a preset range.
- **By campaign or ad group:** fields `campaign`/`ad_group_name` + metrics;
  sort/aggregate in your answer.
- **Best / worst campaign or ad group:** pull the entity + the metric, then
  rank; return only what was asked (e.g. just the name) if the user
  constrained the output format.
- **Efficiency:** CPA = spend ÷ conversions; ROAS = `revenue` ÷ spend, or read `all_roas`; there is no `conversion_value` field.
  Compute from returned fields; note if conve

Preview of the first 4,000 characters. Read full instructions →

Referenced files: 1 — file references are metadata, not package contents.

scheduled-exports2.16 KB

View saved version →

---
name: scheduled-exports
description: "Set up recurring exports of data connected to Windsor.ai to BigQuery, Snowflake, Redshift, PostgreSQL, MySQL, Databricks, Google Sheets, Amazon S3, Azure Blob Storage and other destinations, and check existing export tasks. Use for scheduled, daily, weekly or automated exports, data pipelines and reporting feeds. Do not use for a one-off answer in the conversation."
---

Explicit instructions from the user take priority over this skill.

# Export connected data on a schedule

Set up recurring exports of connected data to a warehouse, database, spreadsheet, or cloud storage through Windsor.ai, for example daily ad spend to BigQuery, a weekly GA4 summary to Google Sheets, or Shopify orders to Snowflake.

## Stay in scope
- Use this skill for recurring, scheduled, daily, weekly, or automated exports and syncs, and for questions about existing export tasks.
- A one-off answer is the marketing-performance-review skill, not an export.

## Workflow
1. Call get_destination_tasks to see existing exports and avoid duplicates.
2. Call get_connectors to confirm the source connector and accounts to export.
3. Call get_destinations to list destinations; note which have create_in_chat true and any reusable credentials.
4. Call get_destination_setup_info for the chosen destination to get its target fields, allowed schedules, and credential_id options.
5. Call get_fields for the source connector to get the exact field ids to export.
6. Confirm source, accounts, fields, destination target, credential, and schedule with the user, and tell them that each run replaces matching rows in the destination target, then call create_destination_task once. If create_in_chat is false, hand the user the setup_url instead.

## Rules
- Prefer a rolling date_preset (for example last_7d) over fixed dates so each run stays fresh.
- Never put secrets in config; sensitive values are entered by the user in the setup_url form.
- Report the created task's id, schedule, and manage_url from the tool result.

## Hand-offs
- Reporting -> the marketing-performance-review skill. Connecting a source -> the get-started skill. Changing platform state -> the campaign-management skill.

Referenced files: 1 — file references are metadata, not package contents.

tiktok-ads6.48 KB

View saved version →

---
name: tiktok-ads
description: "Analyze and manage TikTok Ads through Windsor.ai. Use when the user asks about their TikTok Ads performance, such as pulling live campaign, ad group, or ad metrics (spend, impressions, clicks, conversions, CPA, ROAS), comparing date ranges, or finding top or underperforming campaigns, or when they want to pause or enable a campaign, ad group, or ad, or change a campaign or ad group budget. Do not use for TikTok organic (that's the TikTok Organic connector, which has no ad or cost data), or other ad platforms (Meta/Facebook, Google, LinkedIn, Microsoft Ads). Also use when the user asks how to connect TikTok Ads to ChatGPT."
---

Explicit instructions from the user take priority over this skill.

# TikTok Ads via Windsor.ai

Windsor.ai exposes live TikTok Ads data (read) and a small set of campaign
management actions (write) through MCP tools. The connector id is `tiktok`.
Pass `tiktok` as the connector on every tool call; the Windsor.ai server
serves all connectors, so it is never implied.

Golden rules:

- **Never guess field, account, action, or option names.** They come from
  `get_fields`, `get_connectors`, `list_actions`, and `get_options`. Call those
  first; do not invent identifiers.
- **Reads are safe; writes change live ad spend.** Only call `execute_action`
  after the user has confirmed the specific change.
- Report numbers the user asked for, concisely. Don't dump raw rows unless asked.

## 1. Check what is connected

Call `get_connectors` to see which TikTok Ads accounts are connected (each has
an id and, usually, a name). If none are connected, help the user connect one:
call `get_connector_authorization_url` (or `get_connector_connect_info` for the
auth type and steps) and give them the setup link; do not describe manual
dashboard navigation.

If the user names an account, match it to a connected account id. If several are
connected and the request is ambiguous, ask which account.

## 2. Reading performance data

1. Call `get_fields` for `tiktok` to get valid field ids (e.g. campaign,
   ad_group_name, ad_name, date, spend, impressions, clicks, conversions, cost_per_conversion. Use
   the exact ids returned, not these examples).
2. If the analysis needs attribution or segmentation controls, call
   `get_options` to see the connector's options and valid values.
3. Call `get_data` with:
   - `fields`: the ids you actually need (keep the set small).
   - `accounts`: the target account id(s); omit for all connected accounts.
   - A date range: either `date_from`/`date_to` (`"2026-07-01"`), or
     `date_preset`: `last_7d`, `last_30d`, `last_Xd`/`last_Xw`/`last_Xm`,
     `this_month`, `this_year`, `last_year`. Append `T` to include today
     (e.g. `last_7dT`, `this_monthT`); `T` works on `last_Xd`, `this_month`,
     `this_year` and `last_year`, not on `last_Xw` or `last_Xm`.
   - `options`: only if get_options showed relevant ones.
   - `filters`: optional conditions, e.g. `[["spend", "gt", 100]]`; combine with
     `"and"`/`"or"` and nest as needed.

Common requests → recipe:

- **Overview / trend:** fields `date` + the metrics, over a preset range.
- **By campaign:** fields `campaign` + metrics; sort/aggregate in your answer.
- **Best / worst campaign:** pull campaign + the metric, then rank; return only
  what was asked (e.g. just the campaign name) if the user constrained the
  output format.
- **Efficiency:** CPA = spend ÷ conversions; TikTok has no single conversion value field, so for ROAS use the purchase fields from get_fields (for example `complete_payment_roas` for website purchases) and name the one used.
  Compute from returned fields; note if conversions are zero.

Watch out: TikTok Ads money fields are in the account currency (state it if
known). If a field the user wants isn't in `get_fields`, say so rather than
substituting a different metric.

## 3. Managing campaigns (write actions)

TikTok Ads exposes a small set of write actions via `list_actions` /
`execute_a

Preview of the first 4,000 characters. Read full instructions →

Referenced files: 1 — file references are metadata, not package contents.

wasted-spend-audit5.31 KB

View saved version →

---
name: wasted-spend-audit
description: "Find ad spend that does not convert across Google Ads, Meta Ads, TikTok Ads, LinkedIn Ads, Microsoft Ads and Amazon Ads through Windsor.ai: zero-conversion campaigns and ad sets, conversions far above the account's average cost, and Google Ads search terms to add as negative keywords. Use when the user asks where budget is wasted, how to cut spend, how to improve ROAS, or to optimize campaigns. Proposes fixes and applies only the ones the user approves."
---

Explicit instructions from the user take priority over this skill.

# Optimize ad spend

Find spend that is not paying off, show the evidence, and apply the fixes the user approves.

## 1. Scope
- Call `get_connectors` and list the connected ad accounts. Ask which accounts to include if there are several; default to all.
- Use the last 30 days unless the user gives a range. State the currency per account and never sum across currencies.

## 2. Find waste, per platform
For each ad connector, read field ids from `get_fields` first, then call `get_data` with campaign (and ad set or ad group) name and id, spend, clicks, impressions and conversions. Conversions differ per platform: Microsoft Ads uses `conversions_qualified` (its `conversions` field is deprecated and returns 0); LinkedIn `conversions` counts post-view conversions only, so use `externalwebsiteconversions`, plus `oneclickleads` for Lead Gen forms; Meta has no plain `conversions` field, so pick the `actions_*` event that matches the campaign objective (for purchases, `actions_omni_purchase` with `action_values_omni_purchase`). Check get_fields before treating any campaign as zero-conversion.
- **Zero-conversion spend:** items with spend above zero and no conversions, sorted by spend.
- **Expensive conversions:** items whose cost per conversion (spend / conversions) is more than twice the account average; show both numbers.
- **Search terms (Google Ads):** follow the recipe below for the negative keyword flow.
- Ignore items with too little data to judge (for example under 1,000 impressions) and say so.

## 3. Propose
Present one table per account: item, spend, conversions, cost per conversion, suggested action (pause, lower budget by an absolute amount, or add negatives), and the expected saving. Never propose touching brand campaigns or items the user marked as intentional.

## 4. Apply only what is approved
- Wait for an explicit yes to the exact list. Partial approval is fine.
- Call `list_actions` for each connector and build params from the returned schema (`pause_campaign`, `pause_adset`, `set_campaign_budget` and similar; the live set is what `list_actions` returns). Budget units differ per platform: Google Ads takes micros (50.00 = 50000000), Meta takes cents (50.00 = 5000; whole units for currencies without cents such as JPY), LinkedIn, Microsoft Ads and Amazon Ads take the normal amount (50.00 = 50), and TikTok takes whole numbers (50). Convert the user's amount and show both values in the confirmation.
- Call `execute_action` once per approved change and report what changed, before and after, and anything the platform rejected.
- If write actions are not enabled for the account, send the user to https://onboard.windsor.ai/app/settings/account and retry after they confirm.

## Hand-offs
- Reporting only -> the marketing-performance-review skill
- Creating replacement campaigns or ads -> the campaign-launch skill

## Recipe: Google Ads search terms

Review Google Ads search terms from the last 30 days, list the ones that spend without converting, and add the ones you approve as negative keywords.

### Instructions

1. Call `get_connectors` and pick the user's `google_ads` account. If there are several, ask which one.
2. Call `get_data` on `google_ads` with `["campaign", "campaign_id", "ad_group_name", "ad_group_id", "search_term", "spend", "clicks", "impressions", "conversions"]` and `date_preset: "last_30d"`. Google Ads cannot return `search_term` together with 

Preview of the first 4,000 characters. Read full instructions →

Referenced files: 1 — file references are metadata, not package contents.

windsor3.59 KB

View saved version →

---
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. Prefer a more specific Windsor.ai skill when one fits (a platform such as Google Ads or GA4, a performance review, wasted-spend audit, campaign management, campaign launch, budget pacing or scheduled exports); use this one for other sources and anything those skills don't cover. Do not use for writing marketing copy or for general advice unrelated to the user's connected accounts.
---

# Windsor.ai

Windsor.ai exposes live data (read) and supported write actions across 350+
connected sources through MCP tools. Every tool takes a `connector` id, a
lowercase slug such as `google_ads` for Google Ads, `facebook` for Meta Ads
(Facebook and Instagram Ads), or `googleanalytics4` for GA4. This app is not
scoped to a single connector, so always discover the right slug and accounts
first.

## Golden rules
- **Never guess** connector slugs, account ids, field ids, action ids, or option
  ids. Get them from `get_connectors`, `get_fields`, `list_actions`, and
  `get_options`, and call those before `get_data` or `execute_action`.
- **Reads are safe; writes change live platform state.** Only call
  `execute_action` after the user confirms the specific change.

## Core read workflow
1. `get_connectors` shows connected accounts and, per connector, the available
   `actions` and `options`. Pass `include_not_yet_connected=True` to list every
   available source.
2. `get_fields` (and `get_options` for date-filter columns and connector
   options) returns valid field ids for the chosen connector. Field ids passed
   to `get_data` must come from `get_fields`.
3. `get_data` reads the metrics for the connector, fields, accounts, and date
   range, then you analyze the result.

## Write actions
- `list_actions` returns the write actions a connector supports and each action's
  parameter schema. The set is whatever it returns, so do not assume an action
  exists.
- `execute_action` runs one action id against one account id with params matching
  its schema. It modifies external platform state, for example pausing or
  enabling a campaign, setting a budget or bid, managing an audience list or
  flow, or posting content, so confirm the exact change with the user first.

## Connecting a source
For any request to connect, authorize, add, or reconnect an account, call
`get_connectors(include_not_yet_connected=True)` for the slug, then
`get_connector_authorization_url` for a ready-to-open setup link, or
`get_connector_connect_info` for the auth type and the manual credential fields.
Sensitive credentials are entered by the user in that form, never pasted into
chat.

## Scheduled exports (destinations)
- `get_destinations` lists where data can be exported on a schedule (BigQuery,
  Google Sheets, Snowflake, databases, storage) and any reusable credentials.
- `get_destination_setup_info` describes a destination's target fields and
  allowed schedules. `create_destination_task` sets up a recurring export;
  confirm the source, destination, and schedule with the user first.

## Support and account
- `get_current_user` returns the authenticated Windsor.ai user.
- `get_windsor_login_url` returns an auto-login link into the dashboard.
- `contact_windsor` files feedback, a support request, or a feature request.

Referenced files: 1 — file references are metadata, not package contents.

Release notes

Listing metadata only. Subtitle changed from "Connect 350+ data sources" to "Report on and manage campaigns" (and the five translated subtitles to match), because the old one did not say what the plugin is for. Keywords extended from 33 to 213: the existing platform names are kept, and the new ones are the tasks and terms people search for (marketing reporting, ad spend, ROAS, campaign management, SEO reporting, social media analytics and similar), all describing data sources and actions the plugin already has. Everything else is unchanged from 4.1.0: MCP configuration, skills, description, capabilities, starter prompts and review test cases.

Declared in the saved package. Remote tools may change independently.

Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package author
Windsor.ai
Keywords
See keywords
Listing translations
de-DE, es-ES, fr-FR, ja-JP, pt-BR
Getting started skill
./skills/get-started/SKILL.md
Commerce declaration
Does not support commerceThis does not establish whether access is free or paid.
Review scenarios
5 positive · 3 negativeScenario counts, not test results.

Declared capabilities

  • Analyze Instagram Business and Creator account reach, engagement, followers and media performance
  • Analyze Meta Ads and Facebook Ads spend, conversions, CPA and ROAS
  • Analyze Google Search Console SEO clicks, impressions, CTR and average position
  • Analyze Google Analytics 4 (GA4) sessions, users, engagement and conversions
  • Analyze Google Ads campaign, ad group and keyword performance
  • Analyze Google Business Profile views, searches, calls and direction requests
  • Analyze Facebook Pages organic reach, engagement, followers and post performance
  • Analyze public Instagram profiles, posts and engagement through Instagram Public
  • Analyze YouTube channel and video views, watch time and subscriber growth
  • Analyze TikTok organic video views, followers, likes, comments and shares
  • Analyze Google Merchant Center product feed issues, disapprovals and Shopping performance
  • Analyze LinkedIn company pages, follower growth, organic posts and engagement
  • Analyze TikTok Ads campaign, ad group and ad performance
  • Analyze Google Ad Manager reporting data
  • Analyze Amazon Ads campaign performance
  • Read Facebook Lead Ads form submissions and lead data
  • Analyze Threads organic account and post performance
  • Analyze LinkedIn Ads spend, clicks, conversions and campaign performance
  • Analyze Shopify sales, orders and product performance
  • Analyze Pinterest organic account and Pin performance

Package observed Nov 12, 2026.

Technical details
First seen
Sep 30, 2026 · 22:02 UTC
Last seen
Nov 12, 2026 · 12:00 UTC
Latest observed change
Nov 10, 2026 · 18:08 UTC
Collection status
Collected

plugin_asdk_app_694a52cfaa3c819192bea84eaa254968

Download plugin data (JSON)

Plugin details: served from cache. Prepared . Refreshed when plugin data changes or after 6 hours. Your account and Follow status are live.