connect-source
ChatGPTGet a link the user opens to connect a data source (Shopify, Meta, Google, TikTok, Klaviyo and others) to their Triple Whale store. Use it when answering a question needs a source that get-data-status does not list as connected. The link opens Triple Whale, where the user signs in and approves the connection; this tool itself does not connect anything.
connect-source-accounts
ChatGPTImport only the accounts explicitly selected and confirmed by the user.
explain-metric-change
ChatGPTRun a root-cause analysis on a change in the store's metrics — "why did my ROAS drop last week?", "what caused the spike in CAC?". Returns whether it's a real anomaly, a summary of the likely cause(s), and findings with supporting evidence and suggested actions. Use this for "why did X change / drop / spike" questions instead of trying to diagnose it with raw SQL. This can take longer than other tools.
find-sql-examples
ChatGPTSearch Triple Whale's library of verified ClickHouse SQL examples by natural-language question (semantic search over global and shop-specific examples). ALWAYS call this before drafting new SQL. When a returned example closely matches the request, adapt it with minimal changes instead of writing new logic — the examples encode correct table choices, metric definitions, and ClickHouse syntax patterns.
get-amb-board
ChatGPTRefresh the AMB board card, or load one ticket with its actions.
get-analytics-data
ChatGPTFetch live Summary or Pixel data for the interactive dashboard. Supports date and model comparisons, metric selection, sorting, search, pagination and campaign/ad set filters. Use shopId to switch stores, or shopIds to combine authorized stores using the primary shop’s currency, timezone and settings.
get-available-tables
ChatGPTList the warehouse tables available for this store, with a description of each, optionally filtered by business domain (store_business, order, customer, product, subscription, marketing_entity, session, customer_journey, attribution, operations, customer_experience). Call this BEFORE get-table-schemas to validate which tables exist. The response includes disambiguation guidance for commonly-confused tables (e.g. email_sms_settings_table for campaign content/templates vs email_sms_table for time-series performance metrics).
get-connections
ChatGPTRefresh integrations and import progress.
get-data-status
ChatGPTList the data sources connected to the user's Triple Whale store and how much of each one's history has loaded: status (connected, loading or ready), the first and last date with data, and import progress in days. Main sources that are not connected yet are listed as not_connected with a connectUrl. Call it before answering a question about the store's own numbers, and answer only within the dates it reports.
get-date-range
ChatGPTResolve a relative period ("last week", "this month", "30 days ago") into exact inclusive ISO dates in the shop's timezone. Use the timezone and startOfWeekDay from get-shop-info. Semantics: "last N days" = rolling completed-day window ending yesterday; "this X" = start of the period through today; "N X ago" = one full past calendar period; "all_time" returns startDate=null. Use the returned dates in your SQL event_date filters. Reuse dates already resolved this conversation instead of calling again.
get-industry-benchmarks
ChatGPTGet anonymous e-commerce benchmarks for an industry over the trailing 90 days: percentiles (p10, p25, median, p75, p90) of ROAS, CPA, CPM, CTR, conversion rate, CPC, new-customer share, AOV, refund rate, discount rate and add-to-cart rate, in total and per ad channel. Each cohort aggregates at least 10 brands and never identifies a brand. Use this for questions like "what is a good ROAS for apparel brands" or "how does my CPA compare to similar stores". Narrow the cohort with gmvBand and aovBand when the user's size is known. No Triple Whale account is needed.
get-media-buyer-board
ChatGPTGrowth Engine is Triple Whale's team of marketing agents (CMO, media buyer, creative optimizer) that work a store's ad accounts through tickets on a board. Requires the store to be set up for Growth Engine. Summarize the store's Growth Engine board(s): open tickets by status, proposed actions waiting for approval, blocked or failed actions, follow-ups and recently finished work. Start here to see what Growth Engine is doing; pass boardsOnly=true for just the board list.
get-media-buyer-conversation
ChatGPTGrowth Engine is Triple Whale's team of marketing agents (CMO, media buyer, creative optimizer) that work a store's ad accounts through tickets on a board. Requires the store to be set up for Growth Engine. Read a conversation with the CMO started by message-media-buyer-cmo, when the user chose to wait for the CMO's reply or asks what the CMO said. Pass the conversationId from this chat; without one it reads the user's latest conversation with the CMO (for example in a new chat) and names its id. Waits up to waitSeconds for a new message while the CMO is working, then returns the new messages, a cursor, and a state: working (the CMO has not finished; call again with the cursor while the user wants to wait, saying it is still working; pressing Stop ends the wait) or idle (done until you send another message). When the user would rather not wait, end your answer: the user can ask again later, and the reply arrives with the next get-media-buyer-board or get-media-buyer-tickets answer.
get-media-buyer-tickets
ChatGPTGrowth Engine is Triple Whale's team of marketing agents (CMO, media buyer, creative optimizer) that work a store's ad accounts through tickets on a board. Requires the store to be set up for Growth Engine. Read Growth Engine tickets. One ticketId returns the ticket in full: goal, status, assignee, proposed actions and their state, manual steps, follow-ups and results, optionally with the latest comments and activity. Several tickets (ticketIds, up to 10 in one call) come back as short summaries: title, status, assignee, a short description, one line per pending or blocked action, and comment and activity counts; pass ticketId for one of them in full. get-media-buyer-board already summarizes every ticket, so open only the ones you need.
get-shop-info
ChatGPTGet the analysis context for your connected store(s): store id and name, currency, IANA timezone, default attribution model and window, start-of-week day, industry, GMV segment, sales platform, pixel status, and today's date in the shop timezone. All money is in each store's currency and all dates are in its timezone. Call this once at the start of every data conversation. If you are connected to a single store, call it without arguments. If you are connected to several stores, pass shopIds for the store(s) you are analyzing (omit to get the context for every connected store, returned as one entry per store). The other Triple Whale data tools and your SQL depend on these values.
get-source-accounts
ChatGPTList available accounts for a credential belonging to the connected store.
get-summary-kpis
ChatGPTGet the store's configured topline KPIs from the Triple Whale Summary page — Blended ROAS, MER, Net Profit, New-Customer CPA, Total Sales, Blended Ad Spend, etc. — exactly as the shop has them configured (custom formulas, manual costs and assumptions included). Prefer this over run-sql for topline/overview metrics: SQL cannot reproduce these configured values. Pass a date range; add compareStartDate/compareEndDate for a period-over-period comparison.
get-table-schemas
ChatGPTFetch the exact column definitions (names, types, required filter fields, descriptions) for named warehouse tables, formatted for writing ClickHouse SQL. Call this for every table you plan to reference before writing SQL. Always include the required fields noted in the schema in your WHERE clause. If the returned schema is empty, the table is not valid for this shop — pick another table from get-available-tables.
list-stores
ChatGPTList the Triple Whale store(s) this connection can access, each with its status: mcpEnabled (whether the store can be queried here) and multiShopEnabled (whether it can be combined with other stores). Use the returned shopId values EXACTLY as shopId/shopIds in the other tools. Call this when you are unsure which stores are available, or whenever a tool returns a permission / "not on an MCP plan" / "not one of your connected stores" error — it confirms the exact valid store domains you can work on instead of guessing.
message-media-buyer-cmo
ChatGPTGrowth Engine is Triple Whale's team of marketing agents (CMO, media buyer, creative optimizer) that work a store's ad accounts through tickets on a board. Requires the store to be set up for Growth Engine. Send a message to Growth Engine's CMO agent, in the connected user's name, to ask for something or share findings: a new idea, a problem you found, or a change to an existing ticket. The CMO verifies it with its own tools and decides whether to create or change tickets and actions; anything it proposes still waits for approval in Triple Whale. Waits briefly for the CMO's reply and returns it with a conversationId. When the CMO needs longer, the message is still delivered: do not send it again; ask the user whether to wait for the reply now (read it with get-media-buyer-conversation) or get it later (the user can ask any time what the CMO said, and it is added to your next get-media-buyer-board or get-media-buyer-tickets answer). Pressing Stop ends the wait; the CMO keeps working.
open-benchmark-dashboard
ChatGPTOpen a full-screen interactive benchmark report with industry, revenue, AOV, date and channel filters, percentile comparisons, distributions, editable self-reported metrics and daily trends. Uses the same public cohort data as Triple Whale Benchmarks; date-filtered percentiles are snapshot-based estimates, not freshly recalculated cohort quantiles. No account required. Defaults to the last 30 complete UTC days. Prefer this tool for a visual or interactive benchmark request.
open-triple-whale
ChatGPTOpen the Triple Whale workspace with interactive Summary and Attribution pages. Store analytics require connecting an authorized Triple Whale account.
pixel-attribution
ChatGPTGet attributed performance (revenue, conversions, ROAS) broken down by channel/source using Triple Whale's pixel attribution engine and the chosen attribution model — distinct from raw ad-platform reported numbers. Use this for attribution questions ("revenue by channel under Triple Attribution", "first-click vs last-click by source"). For platform-reported delivery metrics, use run-sql on ads_table instead.
read-knowledge-base-pages
ChatGPTRead the full text of Triple Whale documentation pages returned by search-knowledge-base-pages. Returns page content keyed by page slug. Use it to explain documented metrics and features; it does not search or read arbitrary websites.
run-sql
ChatGPTExecute a read-only ClickHouse SELECT query against the store's warehouse and return the data as JSON: { columns, rows, totalRows, truncated, stats, dateWarning }. Results are capped (default 200 rows, max 500; the cap is enforced inside the query) — when truncated is true, totalRows is null and more rows exist: refine the query with GROUP BY or LIMIT instead of paging. Every table must have an explicit event_date filter, otherwise data may silently default to the last 7 days (a dateWarning is returned when no date filters were applied). On a SQL error, fix the query using the schemas you fetched and retry (at most twice). This tool never modifies store or warehouse data.
search-knowledge-base-pages
ChatGPTSearch Triple Whale documentation for metric and feature definitions. Returns matching page titles, URLs and sections. Use read-knowledge-base-pages to read the matching pages.
show-benchmarks
ChatGPTDisplay industry benchmark percentiles as a visual card. Pass the total and byChannel data returned by get-industry-benchmarks, plus the store's own values in yourStore when the user is connected. Call it once, after the benchmark data is fetched.
show-connections
ChatGPTOpen the interactive integrations page. After signup, use this to browse all available integrations by category, search, connect sources and follow import progress inside ChatGPT. Fetches authoritative connection state.
show-data-status
ChatGPTDisplay which data sources are connected, how many days of history have loaded, and Connect buttons for missing sources. Pass the sources returned by get-data-status, with connect links from connect-source.
show-kpis
ChatGPTDisplay a KPI snapshot card: revenue, orders, AOV, ROAS and ad spend with change versus the prior period and the dates the data covers. Pass values already fetched with get-summary-kpis.
show-media-buyer-board
ChatGPTOpen the TW Marketing Board card for a store: tickets grouped by status, actions waiting for approval, and ticket details with a link to open each ticket in Triple Whale. Use it when the user asks about their Growth Engine board, tickets or pending approvals. Fetches live board data directly; do not supply values. Pass ticketId to open a specific ticket. Read-only: approvals happen in Triple Whale.
show-pixel
ChatGPTOpen the full interactive Pixel attribution page with attribution models/windows, channel filters, campaign → ad set → ad drill-down, sortable searchable paginated tables and model comparisons. Fetches authoritative live data directly; do not supply or invent metric values. Pass shopId to switch stores or shopIds to combine authorized stores. Dates default to the last 30 days in the primary store timezone. Use this instead of a static snapshot when the user wants to explore performance.
show-summary
ChatGPTOpen the full interactive Summary dashboard with selectable KPIs, trends and period comparison. Fetches authoritative live data directly; do not supply or invent metric values. Pass shopId to switch stores or shopIds to combine authorized stores. Dates default to the last 30 days in the primary store timezone. Use this instead of a static snapshot when the user wants to explore performance.
start-source-connection
ChatGPTStart OAuth after the user clicks Connect. Meta opens directly at Facebook authorization.
track-widget-events
ChatGPTApp-only, best-effort interaction telemetry. Accepts only bounded, predefined metadata; never metric values, free text, account identifiers or credentials.
explain-metric-change
Claudefind-sql-examples
Claudeget-available-tables
Claudeget-date-range
Claudeget-shop-info
Claudeget-summary-kpis
Claudeget-table-schemas
Claudepixel-attribution
Clauderun-sql
Claudesearch-knowledge-base
Claude