Tools Reference
The tools of the ThriveStack MCP Server for Revenue Intelligence, with parameters and what each one does.
This page documents 129 tools of the ThriveStack MCP Server for Revenue Intelligence: 4 for setup, 29 for revenue, 33 for marketing, 35 for product analytics and 28 for accounts.
128 of the 129 tools are read-only. The only tool here that changes anything is create_account_segment, which creates a saved account segment. It does not edit or delete anything else.
None of these tools take a domain, project_id or similar tenant parameter. Your product and environment are resolved automatically from how you authenticated (OAuth session or Personal Access Token) — see Setup.
Your AI assistant calls these automatically based on your questions. The server does not ship a native MCP prompt for Revenue Intelligence; see Prompts for copy-ready ones. It does not expose any MCP resources.
Which tool answers my question?
Response format
There is no single universal response envelope — each tool returns the JSON shape natural to its own data.
- Money: amounts are in your brand’s base currency, named in the
currencyfield of the result. Where a tool also returns an original amount, it carries its own currency. - Windows: revenue tools with a
time_periodaccept THIS_MONTH, LAST_MONTH, LAST_3_MONTHS, LAST_6_MONTHS, THIS_YEAR, LAST_YEAR or ALL_TIME (default LAST_6_MONTHS, complete months). Marketing and account tools take atime_rangesuch as 7d, 30d or 90d. A few product tools take a month asYYYY-MM. - Paging: list tools take
limitandoffset, orpageandpage_size. Large results are paged, so ask for the next page when you need more rows. - Metric tools: the tools whose names start with
getfollowed by a capital letter (for examplegetMonthlyActiveUsers) each return one metric. You choose atemplatefor the shape: a single value, a change, or a series. - Interactive tools: a few tools work in steps, such as a ranking you can drill into. The
stepparameter says which step to run, and your assistant carries the ids from one step to the next.
Setup & Connection
Check the connection and instrument ThriveStack in your product. start_thrivestack_setup returns the setup prompts to run in your coding assistant.
check_connection
Confirms the ThriveStack connection is working and your sign-in was accepted. Returns the server time.
No input parameters required.
start_thrivestack_setup
Builds the setup prompts for instrumenting ThriveStack telemetry from the chosen setup type (marketing, product, or both) and the user's ThriveStack API key, so both are needed up front. Returns setup_prompts, to be run in order inside Claude Code; the prompt text is for the agent, not for display. Makes no changes to the account.
| Parameter | Type | Required | Description |
|---|---|---|---|
api_key | string | Yes | The ThriveStack API key provided by the user. |
type | string | Yes | Setup type: "marketing", "product", or "both". |
get_setup_status
Get current ThriveStack setup status and completed steps for the tenant (product/environment).
No input parameters required.
get_marketing_setup_status
Whether marketing analytics has data to report: whether marketing-site data is integrated, and whether the marketing-site and product tracking scripts are installed. Empty marketing results usually trace back to one of these being off.
No input parameters required.
Revenue KPIs
get_revenue_kpis
Headline revenue KPIs for the brand: MRR (current, previous month, projected), ARR, ARPA (average revenue per paying account), NRR (net revenue retention, percent), marketing CAC, non-recurring revenue, total revenue, and paying and non-paying customer counts. Each KPI has its month-over-month delta, direction and a monthly trend. Money values are in the brand's base currency (the currency field). time_period sets the trend window for MRR, non-recurring revenue and CAC.
Good to know
- Money values are in your brand’s base currency (the
currencyfield). time_periodsets the trend window for MRR, non-recurring revenue and CAC.
| Parameter | Type | Required | Description |
|---|---|---|---|
time_period | string | No | Window: THIS_MONTH, LAST_MONTH, LAST_3_MONTHS, LAST_6_MONTHS (complete months), THIS_YEAR, LAST_YEAR or ALL_TIME. Default LAST_6_MONTHS. |
get_net_revenue
Net revenue for the brand with its monthly breakdown: gross subscription revenue, non-recurring revenue, transaction fees, balance adjustments, taxes and refunds, each with a count, plus projected values for the current month. Also says whether fees and tax are included. Amounts are in the base currency (the currency field). A component's line items for one month are listed by get_revenue_component_drilldown.
Good to know
- A component’s line items for one month are listed by
get_revenue_component_drilldown.
| Parameter | Type | Required | Description |
|---|---|---|---|
time_period | string | No | Window: THIS_MONTH, LAST_MONTH, LAST_3_MONTHS, LAST_6_MONTHS (complete months), THIS_YEAR, LAST_YEAR or ALL_TIME. Default LAST_6_MONTHS. |
get_revenue_component_drilldown
Line items behind one net-revenue component in one calendar month: customer, linked account (group id), amount, date, currency, description and billing source. Paged with limit and offset; pagination.totalCount gives the full count.
| Parameter | Type | Required | Description |
|---|---|---|---|
component | string | Yes | Net-revenue component to list. One of: GROSS_SUBSCRIPTION, NON_RECURRING, TRANSACTION_FEES, BALANCE, TAXES, REFUNDS. |
limit | number | No | Rows per page (default 25, max 100). |
month | number | Yes | Calendar month, 1-12. |
offset | number | No | Rows to skip (default 0). |
year | number | Yes | Calendar year, e.g. 2026. |
get_recognized_revenue_trend
Monthly recognized revenue for the brand (revenue spread over the service period it pays for), with the number of payments per month, in the base currency. Payments in one month are listed by list_monthly_transactions.
Good to know
- Payments in one month are listed by
list_monthly_transactions.
| Parameter | Type | Required | Description |
|---|---|---|---|
time_period | string | No | Window: THIS_MONTH, LAST_MONTH, LAST_3_MONTHS, LAST_6_MONTHS (complete months), THIS_YEAR, LAST_YEAR or ALL_TIME. Default LAST_6_MONTHS. |
list_monthly_transactions
Payments received in one month: customer, linked account (group id), status, amount normalized to the base currency, original amount and currency, date, and whether the account is tracked. revenue_metric picks recognized revenue, MRR or non-recurring payments. Paged with limit and offset.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_name | string | No | Partial customer-name match. |
limit | number | No | Rows per page (default 25, max 100). |
max_amount | number | No | Largest amount to include, base currency. |
min_amount | number | No | Smallest amount to include, base currency. |
month | string | Yes | Month as "Mon YYYY", e.g. "Mar 2026". |
offset | number | No | Rows to skip (default 0). |
revenue_metric | string | No | Which payments to list: RECOGNIZED (default), MRR or NON_RECURRING. |
sort_by | string | No | Sort field (default DATE). One of: DATE, AMOUNT, CUSTOMER_NAME. |
sort_direction | string | No | Sort direction (default DESC). One of: ASC, DESC. |
MRR Movements
get_mrr_movements
MRR movement trend for the brand: new, expansion, contraction, churn and reactivation MRR (and the matching revenue movements) per period, each with its value in the base currency and the number of customers. The customers behind a movement are listed by list_mrr_movement_customers.
Good to know
- The customers behind a movement are listed by
list_mrr_movement_customers.
| Parameter | Type | Required | Description |
|---|---|---|---|
mrr_types | string[] | No | Movement types to return; all when omitted. Any of: NEW_MRR, EXPANSION_MRR, CHURN_MRR, CONTRACTION_MRR, REACTIVATION_MRR, NEW_REVENUE, EXPANSION_REVENUE, CHURN_REVENUE, CONTRACTION_REVENUE, REACTIVATION_REVENUE. |
time_period | string | No | Window: THIS_MONTH, LAST_MONTH, LAST_3_MONTHS, LAST_6_MONTHS (complete months), THIS_YEAR, LAST_YEAR or ALL_TIME. Default LAST_6_MONTHS. |
list_mrr_movement_customers
Customers behind one MRR movement type in a year, month or day: customer, linked account (group id), MRR change in the base currency, date, plan, item product, subscription and quantity change. Paged with limit and offset.
Good to know
- Leave out
dayto get the whole month, andmonthas well to get the whole year.
| Parameter | Type | Required | Description |
|---|---|---|---|
day | number | No | Day of month; the whole month when omitted. |
limit | number | No | Rows per page (default 25, max 100). |
month | number | No | Calendar month 1-12; the whole year when omitted. |
mrr_type | string | Yes | Movement type. One of: NEW_MRR, EXPANSION_MRR, CHURN_MRR, CONTRACTION_MRR, REACTIVATION_MRR, NEW_REVENUE, EXPANSION_REVENUE, CHURN_REVENUE, CONTRACTION_REVENUE, REACTIVATION_REVENUE. |
offset | number | No | Rows to skip (default 0). |
year | number | Yes | Calendar year, e.g. 2026. |
Plans
get_plan_mrr_summary
MRR by plan: for each plan its item product, billing interval, price, active customers and subscriptions, MRR and ARR, and its share of customers and MRR (percent). Amounts are in the currency field.
| Parameter | Type | Required | Description |
|---|---|---|---|
time_period | string | No | Window: THIS_MONTH, LAST_MONTH, LAST_3_MONTHS, LAST_6_MONTHS (complete months), THIS_YEAR, LAST_YEAR or ALL_TIME. Default LAST_6_MONTHS. |
get_plan_mrr_trend
Monthly MRR, ARR, active customers and subscriptions per plan, with each plan's share of customers and MRR. Plan ids come from get_plan_mrr_summary.
Good to know
- Plan ids come from
get_plan_mrr_summary.
| Parameter | Type | Required | Description |
|---|---|---|---|
plan_ids | string[] | No | Plans to include; all plans when omitted. |
time_period | string | No | Window: THIS_MONTH, LAST_MONTH, LAST_3_MONTHS, LAST_6_MONTHS (complete months), THIS_YEAR, LAST_YEAR or ALL_TIME. Default LAST_6_MONTHS. |
Customer Value & Revenue Leakage
get_customer_lifetime_value
Customer lifetime value (CLV) for the brand: current, projected and previous month, with a monthly trend of CLV, ARPA, monthly churn rate, churned and paying customers. Money values are in the base currency.
| Parameter | Type | Required | Description |
|---|---|---|---|
time_period | string | No | Window: THIS_MONTH, LAST_MONTH, LAST_3_MONTHS, LAST_6_MONTHS (complete months), THIS_YEAR, LAST_YEAR or ALL_TIME. Default LAST_6_MONTHS. |
get_missed_revenue
Revenue leakage trend: per month the expected revenue, the revenue missed because subscribed accounts did not pay, affected and active account counts, and the number of accounts that paid the month before but not this month. The accounts behind one month are listed by list_missed_payment_customers.
Good to know
- The accounts behind one month are listed by
list_missed_payment_customers.
| Parameter | Type | Required | Description |
|---|---|---|---|
time_period | string | No | Window: THIS_MONTH, LAST_MONTH, LAST_3_MONTHS, LAST_6_MONTHS (complete months), THIS_YEAR, LAST_YEAR or ALL_TIME. Default LAST_6_MONTHS. |
list_missed_payment_customers
Customers with an expected or invoiced payment missing in one month: customer, account, MRR at risk (base currency and native currency), due date, plan, status (past_due, retrying or failed) and days overdue, plus the total MRR at risk.
| Parameter | Type | Required | Description |
|---|---|---|---|
month | string | Yes | Month as "Mon-YYYY", e.g. "Jan-2026". |
Contracts & ACV
get_acv_summary
Annual contract value overview: average ACV and total contract value (TCV) with deltas and monthly trends, subscription, customer, new-booking and expansion-booking counts, and ACV by plan (deal count, total, average, min and max ACV, TCV, new, expansion and renewal counts). Amounts are in the currency field.
| Parameter | Type | Required | Description |
|---|---|---|---|
time_period | string | No | Window: THIS_MONTH, LAST_MONTH, LAST_3_MONTHS, LAST_6_MONTHS (complete months), THIS_YEAR, LAST_YEAR or ALL_TIME. Default LAST_6_MONTHS. |
get_acv_month_drilldown
ACV for one month, optionally one plan: subscription and customer counts, average and total ACV, new and expansion bookings, top plans, top customers and the subscriptions behind it.
Good to know
- Plan ids come from
get_acv_summary.
| Parameter | Type | Required | Description |
|---|---|---|---|
period_month | string | Yes | Month as "YYYY-MM", e.g. "2026-03". |
plan_id | string | No | Restrict to one plan; plan ids come from get_acv_summary. |
list_acv_contracts
Contracts behind ACV: customer, plan, TCV, one-time fees, recurring value, term, calculated ACV, MRR, booking type and date, current period and subscription status, plus total ACV and TCV across the filter. Paged with limit and offset.
| Parameter | Type | Required | Description |
|---|---|---|---|
booking_type | string | No | Booking type filter (default ALL). One of: NEW, EXPANSION, RENEWAL, ALL. |
customer_name | string | No | Partial customer-name match. |
limit | number | No | Rows per page (default 25, max 100). |
offset | number | No | Rows to skip (default 0). |
plan | string | No | Plan filter. |
sort_by | string | No | Sort field. One of: ACV, TCV, CUSTOMER_NAME, BOOKING_DATE, TERM_MONTHS. |
sort_direction | string | No | Sort direction (default DESC). One of: ASC, DESC. |
Revenue Goals
get_revenue_goals
Revenue goal targets the brand has set: metric (MRR, ARR, total revenue, ARPA, ACV, NRR, paying or non-paying customers), target amount, start and target dates, whether active, and who last updated it.
No input parameters required.
get_revenue_goal_progress
Progress against the goal for one metric: per month the share of the goal period used, the expected and actual value and the variance, plus the current month.
| Parameter | Type | Required | Description |
|---|---|---|---|
metric | string | Yes | Goal metric. One of: MRR, ARR, TOTAL_REVENUE, ARPA, ANNUAL_CONTRACT_VALUE, NRR, PAYING_CUSTOMERS, NON_PAYING_CUSTOMERS. |
time_period | string | No | Window: THIS_MONTH, LAST_MONTH, LAST_3_MONTHS, LAST_6_MONTHS (complete months), THIS_YEAR, LAST_YEAR or ALL_TIME. Default LAST_6_MONTHS. |
Account Billing
These tools show the billing detail of one account. They take that account’s customer_ids (its billing customer ids, such as Stripe customer ids), which you get from list_revenue_account_mappings. Your assistant does this lookup for you when you name the account.
get_account_revenue
Revenue profile of one account from its billing customer ids: MRR, ARR, non-recurring revenue, gross revenue, payment and subscription status, next due date, payment method, billing term, last transaction date and revenue sources. Customer ids for an account come from list_revenue_account_mappings.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_ids | string[] | Yes | The account's billing customer ids (for example Stripe customer ids). |
get_account_payment_calendar
Month-by-month payment record of one account for a year: amount after deductions, tax and fee, currency, status (paid, missing, failed, pending and so on) and notes on billing periods. Shows missed or late months at a glance.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_ids | string[] | Yes | The account's billing customer ids (for example Stripe customer ids). |
year | number | Yes | Calendar year, e.g. 2026. |
list_account_subscriptions
Subscriptions of one account's billing customers: status, MRR, ARR, currency, dates (start, next due, past due, renewal, canceled), payment method, discount and each subscription item (plan, product, quantity, unit amount, interval, period, trial, MRR). Paged with page and page_size.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_ids | string[] | Yes | The account's billing customer ids (for example Stripe customer ids). |
page | number | No | Page number, starting at 1 (default 1). |
page_size | number | No | Rows per page (default 25, max 100). |
list_account_invoices
Invoices of one account's billing customers: status, amount, issue, due and paid dates, source, the payments against each invoice and its line items (description, type, amount, subscription, period, plan, price). Paged with page and page_size.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_ids | string[] | Yes | The account's billing customer ids (for example Stripe customer ids). |
page | number | No | Page number, starting at 1 (default 1). |
page_size | number | No | Rows per page (default 25, max 100). |
list_account_transactions
Payment transactions of one account's billing customers: date, currency, amount, tax, fee, status, payment method, type, billing period, invoice id, description and source. Paged with page and page_size.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_ids | string[] | Yes | The account's billing customer ids (for example Stripe customer ids). |
page | number | No | Page number, starting at 1 (default 1). |
page_size | number | No | Rows per page (default 25, max 100). |
Revenue Data Health & Mapping
Use these when a revenue number looks wrong or missing. They show whether your billing data is syncing and whether billing customers are linked to the product accounts they belong to.
get_revenue_sync_status
Recent sync runs of the brand's billing data sources (Stripe, API, QuickBooks by default): status, sync type, start and last-update time, duration and rows synced. Explains stale or missing revenue numbers.
| Parameter | Type | Required | Description |
|---|---|---|---|
data_sources | string[] | No | Sources to check; Stripe, API and QuickBooks when omitted. Any of: MANUAL, API, STRIPE, CHARGEBEE, QUICKBOOKS. |
list_revenue_account_mappings
Product accounts (group id, name, domain) and the billing customer each is linked to, with totals of mapped and unmapped accounts. Filter by mapping state or search. Paged with limit and offset.
| Parameter | Type | Required | Description |
|---|---|---|---|
filter | string | No | Mapping state to list (default ALL). One of: ALL, MAPPED, UNMAPPED. |
limit | number | No | Rows per page (default 25, max 100). |
offset | number | No | Rows to skip (default 0). |
search | string | No | Search text matched against names and emails. |
list_revenue_customer_mappings
Billing customers and the product account (group id) each is linked to, with totals of mapped and unmapped customers. Filter by mapping state or search by name or email. Unmapped customers' revenue is not attributed to any account. Paged with limit and offset.
Good to know
- Revenue from unmapped customers is not attributed to any account.
| Parameter | Type | Required | Description |
|---|---|---|---|
filter | string | No | Mapping state to list (default ALL). One of: ALL, MAPPED, UNMAPPED. |
limit | number | No | Rows per page (default 25, max 100). |
offset | number | No | Rows to skip (default 0). |
search | string | No | Search text matched against names and emails. |
Headline MRR Metrics
Single-metric tools that return one MRR figure at a time. For most questions get_revenue_kpis and get_mrr_movements give a fuller answer with a selectable window.
getTotalCompanyMrr
Returns the total company MRR metric.
Good to know
templatesets the output shape:value(a single figure),monthly(a monthly series).
| Parameter | Type | Required | Description |
|---|---|---|---|
template | string | No | Output shape. One of: value, monthly. |
getNetNewMrr
Returns the net new MRR metric.
Good to know
templatesets the output shape:value(a single figure),delta(the change against the previous period),monthly(a monthly series).
| Parameter | Type | Required | Description |
|---|---|---|---|
template | string | No | Output shape. One of: value, delta, monthly. |
getGrossMrrAdded
Returns the gross MRR added metric.
Good to know
templatesets the output shape:value(a single figure),delta(the change against the previous period),monthly(a monthly series).
| Parameter | Type | Required | Description |
|---|---|---|---|
template | string | No | Output shape. One of: value, delta, monthly. |
getNewPayers
Returns the new payers metric.
Good to know
templatesets the output shape:value(a single figure),delta(the change against the previous period),monthly(a monthly series).
| Parameter | Type | Required | Description |
|---|---|---|---|
template | string | No | Output shape. One of: value, delta, monthly. |
Website Traffic & Visitors
get_website_traffic
Website traffic KPIs for a rolling window: unique visitors and page views (each with a daily series and the percent change against the previous window of the same length), plus UTM coverage: total visitors, visitors who arrived with UTM tags, the tagged share in percent and its daily trend. A low tagged share means campaign attribution is missing for much of the traffic.
| Parameter | Type | Required | Description |
|---|---|---|---|
time_range | string | No | Rolling window ending now: 24h, 7d, 30d (default), 60d, 90d, 3m, 6m or 12m. |
get_traffic_by_utm
Daily website visits broken down by the values of one UTM parameter (for example each utm_source), over a rolling window. Each day lists the total count and a count per parameter value. Answers which sources, mediums, campaigns or terms drive traffic and how that changes day to day.
| Parameter | Type | Required | Description |
|---|---|---|---|
time_range | string | No | Rolling window ending now: 24h, 7d, 30d (default), 60d, 90d, 3m, 6m or 12m. |
utm_parameter | string | No | UTM parameter to break down by (default utm_source). One of: utm_source, utm_medium, utm_campaign, utm_term. |
get_visitor_geo
Website visitors by country, split three ways: campaign traffic (visitors per country with the UTM sources that brought them), organic traffic (visitors per country with their referrers) and direct traffic (visitors per country). Each row carries a performance label. Answers where visitors come from and which regions each acquisition type reaches.
| Parameter | Type | Required | Description |
|---|---|---|---|
time_range | string | No | Rolling window ending now: 24h, 7d, 30d (default), 60d, 90d, 3m, 6m or 12m. |
get_top_pages
The 200 most viewed marketing-site page paths across all recorded history, each with page views and unique visitors (distinct devices). Not limited to a time window; time-bounded page metrics are covered by get_content_breakdown.
No input parameters required.
list_page_visits
Individual marketing-site page visits, newest first, over a rolling window: timestamp, anonymous device and session ids, page URL, path and title, country, UTM source and session duration. count is the total number of visits. Paged with page_number and page_size (sizes 5, 10, 15, 25 or 50; default 25).
| Parameter | Type | Required | Description |
|---|---|---|---|
page_number | number | No | 1-based page (default 1) |
page_size | number | No | Rows per page: 5, 10, 15, 25 or 50 (default 25; other values round up) |
time_range | string | No | Rolling window ending now: 24h, 7d, 30d (default), 60d, 90d, 3m, 6m or 12m. |
get_new_signup_counts
New signed-up users and new accounts in the last day, last 7 days and last 30 days, each with the percent change against the period before and whether that change is positive, plus all-time totals.
No input parameters required.
list_new_signups
The users or accounts created between two dates, newest first: id, name or email, creation time, and whether the entity was first seen only through marketing identification (untracked by the product). Not paged; keep the date range short for large brands.
| Parameter | Type | Required | Description |
|---|---|---|---|
end_date | string | Yes | Last day, YYYY-MM-DD |
entity_type | string | Yes | Users or Accounts |
start_date | string | Yes | First day, YYYY-MM-DD |
Channels, Campaigns & Sources
How marketing channels, campaigns and sources perform, and the revenue they bring. The revenue ranking tools are interactive: the first step lists the channels, campaigns or sources, and the second step drills into one.
get_channel_performance
Per-channel marketing performance for a calendar window: visitors, sessions, identified users and accounts per channel (channel = utm_medium, plus Direct and Organic, credited by first touch); net-new revenue per channel (monthly recurring revenue at first payment of accounts whose first payment falls in the window) with the paying-customer count; and configured marketing spend per channel with a month-by-month split, in the brand's preferred currency. Together these give cost, traffic and revenue per channel. Set include_customers to also list the paying customers behind each channel's revenue.
| Parameter | Type | Required | Description |
|---|---|---|---|
include_customers | boolean | No | Also list each channel's paying customers: name, first paid month, payment method, currency and revenue (default false) |
time_range | string | No | Window: this_month (default), this_quarter, this_6m or this_year. All are calendar-to-date and never reach back before January 1 of the current year. |
get_campaign_performance
Per-campaign (utm_campaign) performance within each channel for a calendar window: visitors, sessions, identified users and accounts per campaign alongside its channel totals, and net-new revenue per campaign (monthly recurring revenue at first payment of accounts first paying in the window, credited by first touch) with the paying-customer count. Set include_customers to also list the paying customers behind each campaign.
| Parameter | Type | Required | Description |
|---|---|---|---|
include_customers | boolean | No | Also list each campaign's paying customers (default false) |
time_range | string | No | Window: this_month (default), this_quarter, this_6m or this_year. All are calendar-to-date and never reach back before January 1 of the current year. |
get_source_performance
Per-source (utm_source) performance within each channel for a calendar window: visitors, sessions, identified users and accounts per source alongside its channel totals, and net-new revenue per source (monthly recurring revenue at first payment of accounts first paying in the window, credited by first touch) with the paying-customer count. Set include_customers to also list the paying customers behind each source.
| Parameter | Type | Required | Description |
|---|---|---|---|
include_customers | boolean | No | Also list each source's paying customers (default false) |
time_range | string | No | Window: this_month (default), this_quarter, this_6m or this_year. All are calendar-to-date and never reach back before January 1 of the current year. |
get_campaign_timeline
Visit counts per UTM value per period over the last 12 months (granularity month) or the last 12 Monday-to-Sunday weeks (granularity week). Each row is one UTM value with its periods; a period is the ISO start date of the month or week. Shows which campaigns are growing, fading or seasonal.
| Parameter | Type | Required | Description |
|---|---|---|---|
granularity | string | No | month (default, last 12 months) or week (last 12 weeks) |
utm_parameter | string | No | UTM parameter whose values form the rows (default utm_campaign) One of: utm_source, utm_medium, utm_campaign, utm_term. |
get_multi_touch_attribution
Revenue attribution per channel under three models side by side: first touch, last touch and linear (credit split evenly across every touch). For each channel: the share of won revenue in percent and the attributed revenue under each model, visitors, and won accounts. Won accounts are those whose first payment falls in the window; revenue is their first-payment monthly recurring revenue. Set include_campaigns for the same numbers per campaign within each channel.
| Parameter | Type | Required | Description |
|---|---|---|---|
include_campaigns | boolean | No | Also break attribution down by campaign within each channel (default false) |
time_range | string | No | Window: this_month (last 30 days, default), this_quarter (90 days), this_6m (180 days) or this_year (365 days), rolling back from today. |
get_channel_revenue_attribution
Interactive 2-step channel revenue attribution explorer. Step 1 (step=channels): Returns channels ranked by revenue, including simple LTV proxy (= total_revenue / customer_count). Step 2 (step=breakdown): Pass channel_name. Returns campaigns + sources + customer breakdown for that channel.
| Parameter | Type | Required | Description |
|---|---|---|---|
channel_name | string | No | Required when step=breakdown |
step | string | Yes | Which step to run: "channels" first, then "breakdown" using the names or ids from the first result. |
get_campaign_revenue_ranking
Interactive 2-step campaign revenue explorer. Step 1 (step=campaigns): Returns campaigns ranked by revenue. Step 2 (step=customers): Pass channel_name and campaign_name to get customer breakdown.
| Parameter | Type | Required | Description |
|---|---|---|---|
campaign_name | string | No | Required when step=customers |
channel_name | string | No | Required when step=customers |
step | string | Yes | Which step to run: "campaigns" first, then "customers" using the names or ids from the first result. |
get_source_revenue_ranking
Interactive 2-step source revenue explorer. Step 1 (step=sources): Returns sources ranked by revenue per channel. Step 2 (step=customers): Pass channel_name and source_name to get customer breakdown.
| Parameter | Type | Required | Description |
|---|---|---|---|
channel_name | string | No | Required when step=customers |
source_name | string | No | Required when step=customers |
step | string | Yes | Which step to run: "sources" first, then "customers" using the names or ids from the first result. |
Paid Ads
get_ads_performance
Paid ads delivery per connected ad platform (Google Ads, LinkedIn Ads) and in total: impressions, clicks, spend, click-through rate and cost per click. Spend is in the ad account's currency. Covers a rolling window back from today.
| Parameter | Type | Required | Description |
|---|---|---|---|
time_range | string | No | Window: this_month (last 30 days, default), this_quarter (90 days), this_6m (180 days) or this_year (365 days), rolling back from today. |
get_ads_traffic
What paid ad clicks turned into: per platform and per ad campaign, the visitors who arrived from ads, the users who signed up, the accounts created and the accounts that became paying, plus platform and overall totals. Campaign rows are paged with campaign_limit and campaign_offset (default 25, max 100); totals always cover every campaign. Campaign ids from this result drill into list_ads_traffic_entities.
| Parameter | Type | Required | Description |
|---|---|---|---|
campaign_limit | number | No | Campaign rows per page (default 25, max 100) |
campaign_offset | number | No | Campaign rows to skip (default 0) |
platform | string | No | Ad platform (default google) |
time_range | string | No | Window: this_month (last 30 days, default), this_quarter (90 days), this_6m (180 days) or this_year (365 days), rolling back from today. |
list_ads_traffic_entities
The individual visitors, users or accounts behind an ads traffic number, for one ad campaign or all campaigns: name, id, domain, date, Google click id, offline-conversion upload window status, account creation date, conversion status and source. entity_type picks the column: visitors, users, accounts, paidAccounts or otherAccounts (accounts not tied to a campaign). Paged with limit and offset (default 25, max 100); total gives the full count.
| Parameter | Type | Required | Description |
|---|---|---|---|
campaign_id | string | No | Ad campaign id from get_ads_traffic, or all (default) |
entity_type | string | Yes | Which entities to list One of: visitors, users, accounts, paidAccounts, otherAccounts. |
limit | number | No | Rows per page (default 25, max 100) |
offset | number | No | Rows to skip (default 0) |
platform | string | No | Ad platform (default google) |
sort_dir | string | No | Sort direction (default desc). One of: asc, desc. |
sort_key | string | No | Column to sort by One of: name, id, domain, date, gclid, oci, accountCreationDate, converted. |
time_range | string | No | Window: this_month (last 30 days, default), this_quarter (90 days), this_6m (180 days) or this_year (365 days), rolling back from today. |
Site Content
get_content_performance
Marketing-site engagement KPIs for a rolling window, each with its percent change against the previous window: unique visitors, sessions, page views, views per session, bounce rate (percent) and average session duration (seconds). Also page views per country (ISO country code).
| Parameter | Type | Required | Description |
|---|---|---|---|
time_range | string | No | Rolling window ending now: 24h, 7d, 30d (default), 60d, 90d, 3m, 6m or 12m. |
get_content_trend
Time series of one marketing-site engagement metric over a rolling window. Each point has the value and, where the metric allows it, the new-visitor and repeat-visitor counts. metric: unique_visitors, session_count, page_views, views_per_session, bounce_rate or avg_session_duration.
| Parameter | Type | Required | Description |
|---|---|---|---|
metric | string | No | Metric to chart (default unique_visitors). One of: unique_visitors, session_count, page_views, views_per_session, bounce_rate, avg_session_duration. |
time_range | string | No | Rolling window ending now: 24h, 7d, 30d (default), 60d, 90d, 3m, 6m or 12m. |
get_content_breakdown
Marketing-site engagement broken down by one dimension over a rolling window: per page URL, page path, page title, UTM source, medium or campaign, country or operating system, the page views, bounce rate and average session duration, each with its change against the previous window. count is the number of distinct values. Paged with page_number and page_size (sizes 5, 10, 15, 25 or 50; default 25).
| Parameter | Type | Required | Description |
|---|---|---|---|
dimension | string | No | Dimension to group by (default page_path). One of: page_url, page_path, page_title, utm_source, utm_medium, utm_campaign, country, os_name. |
page_number | number | No | 1-based page (default 1) |
page_size | number | No | Rows per page: 5, 10, 15, 25 or 50 (default 25; other values round up) |
time_range | string | No | Rolling window ending now: 24h, 7d, 30d (default), 60d, 90d, 3m, 6m or 12m. |
get_content_device_breakdown
Marketing-site engagement per browser, operating system or device type over a rolling window: page views, bounce rate and average session duration, each with its change against the previous window.
| Parameter | Type | Required | Description |
|---|---|---|---|
dimension | string | No | Group by browser, os or device (default device) |
time_range | string | No | Rolling window ending now: 24h, 7d, 30d (default), 60d, 90d, 3m, 6m or 12m. |
Goals & Leads
list_goals
The marketing goals set up for the brand, with each goal's name, assignee, metric, target, conversion rate, progress, status, completion date, visitor and event counts and the page or event filters that define a completion. Also the unique and repeat visitor totals across goals. Goal ids feed get_goal_trend.
No input parameters required.
get_goal_trend
Unique visitors and goal completions per period for one goal. Periods are days for windows up to 90d, weeks for 4w to 24w and months for 1m to 12m.
| Parameter | Type | Required | Description |
|---|---|---|---|
goal_id | string | Yes | Goal id from list_goals |
time_range | string | No | Rolling window: 7d, 14d, 30d, 60d, 90d, 4w, 8w, 12w (default), 24w, 1m, 3m, 6m, 9m or 12m |
get_lead_quality
Quality mix of scored signups: all-time totals of corporate, personal-email and abusive or fake leads, and the same split (counts and percentages) per period over a window (four weekly periods for 1m, monthly periods for 3m, 6m and 12m). B2B scores accounts, B2C scores users. Also the brand's lead-quality performance goal, when set.
| Parameter | Type | Required | Description |
|---|---|---|---|
business_type | string | No | B2B (default, accounts) or B2C (users) |
time_range | string | No | Window: 1m, 3m (default), 6m or 12m |
list_leads_by_quality
Leads of one quality type created in a date range, newest first: id, email (B2C) or domain (B2B). lead_type is Corporate, Personal or Abuse/Fake. Useful to drill into a period from get_lead_quality. Paged with page and page_size (default 25, max 100); totalCount is the full count.
| Parameter | Type | Required | Description |
|---|---|---|---|
business_type | string | No | B2B (default, accounts) or B2C (users) |
lead_type | string | Yes | Lead quality type One of: Corporate, Personal, Abuse/Fake. |
page | number | No | 1-based page (default 1) |
page_size | number | No | Rows per page (default 25, max 100) |
period_end | string | Yes | Day after the last day, YYYY-MM-DD (exclusive) |
period_start | string | Yes | First day, YYYY-MM-DD (inclusive) |
list_scored_leads
Scored leads, newest first: id, email, lead type, quality, region, industry, job title, lead source, owner, the reason it qualified, first source and creation time. B2B lists accounts, B2C lists users. Paged with page and page_size (default 25, max 100); totalCount is the full count.
| Parameter | Type | Required | Description |
|---|---|---|---|
business_type | string | No | B2B (default, accounts) or B2C (users) |
page | number | No | 1-based page (default 1) |
page_size | number | No | Rows per page (default 25, max 100) |
get_plg_leads
Get PLG-qualified leads ready for sales outreach.
| Parameter | Type | Required | Description |
|---|---|---|---|
lead_type | string | Yes | Lead acquisition type: identify or group |
page | number | No | Page number (default 1) |
page_size | number | No | Page size (default 50) |
Signup Journeys
get_acquisition_timing
How long and how many marketing touches it takes a visitor to sign up, over a rolling window: average touchpoints and average days from first visit to signup, each with its change against the previous window; a daily series of the same averages with the number and ids of users who signed up that day; and the brand's performance goals for both metrics (target and excellent, good and needs-work thresholds), when set.
| Parameter | Type | Required | Description |
|---|---|---|---|
time_range | string | No | Rolling window: 24h, 7d, 1m, 3m (default), 6m or 1y |
get_conversion_analytics
Returns aggregate conversion metrics and daily breakdown (touchpoints/time-to-signup). No inputs required.
No input parameters required.
get_signup_journey_summaries
Pre-signup journey summary per signed-up user: email, signup time, marketing touchpoints, days from first visit to signup, active days, page visits, sessions and whether any marketing activity was seen. Look users up by user_ids (for example from get_acquisition_timing's daily ids) or by an email search; give exactly one.
| Parameter | Type | Required | Description |
|---|---|---|---|
email | string | No | Email or part of one to search for |
user_ids | string[] | No | User ids to summarise (at most 100) |
get_user_journey_timeline
One signed-up user's journey before signup, session by session: session type, device, the touchpoint and UTM tags that started it, number of visits, and each visit's time, page title and URL, location and UTM tags. Sessions are paged with session_offset and session_limit (default 3, max 10); pagination says whether more remain.
| Parameter | Type | Required | Description |
|---|---|---|---|
session_limit | number | No | Sessions per page (default 3, max 10) |
session_offset | number | No | Sessions to skip (default 0; pass nextSessionOffset from the previous page) |
user_id | string | Yes | User id of a signed-up user |
get_account_pre_signup_journey
Interactive 3-step pre-signup journey explorer. Step 1 (step=dates): Returns all acquisition dates with signup counts — user picks a date. Step 2 (step=users): Pass selected_date + user_ids_json. Returns per-user summary for that date — user picks a user. Step 3 (step=timeline): Pass selected_user_id. Returns full session timeline for that user. Always start with step=dates. product/environment come from tenant context automatically.
| Parameter | Type | Required | Description |
|---|---|---|---|
selected_date | string | No | YYYY-MM-DD. Required when step=users |
selected_user_id | string | No | User ID. Required when step=timeline |
step | string | Yes | Current interaction step One of: dates, users, timeline. |
user_ids_json | string | No | JSON array of user IDs from step=dates. Required when step=users |
Product Usage
get_mau_mtu_count
Get Monthly Active Users (MAU) and Monthly Tracked Users (MTU) counts.
| Parameter | Type | Required | Description |
|---|---|---|---|
period | string | Yes | Month in YYYY-MM format |
get_event_count
Get total event count for the product/environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
period | string | Yes | Time period: YYYY-MM or last_N_days (e.g. last_30_days) |
getDailyActiveUsers
Returns the daily active users metric.
Good to know
templatesets the output shape:value(a single figure),monthly(a monthly series). Date-range parameters are accepted but ignored; the tool reports its own period.
| Parameter | Type | Required | Description |
|---|---|---|---|
template | string | No | Output shape. One of: value, monthly. |
getWeeklyActiveUsers
Returns the weekly active users metric.
Good to know
templatesets the output shape:value(a single figure),delta(the change against the previous period),daily(a daily series),monthly(a monthly series).
| Parameter | Type | Required | Description |
|---|---|---|---|
filters | string | No | Additional filters |
template | string | No | Output shape. One of: value, delta, daily, monthly. |
getMonthlyActiveUsers
Returns the monthly active users metric.
Good to know
templatesets the output shape:value(a single figure),monthly(a monthly series). Date-range parameters are accepted but ignored; the tool reports its own period.
| Parameter | Type | Required | Description |
|---|---|---|---|
template | string | No | Output shape. One of: value, monthly. |
getMonthlyActiveAccounts
Returns the monthly active accounts metric.
Good to know
templatesets the output shape:value(a single figure),delta(the change against the previous period),daily(a daily series),monthly(a monthly series).
| Parameter | Type | Required | Description |
|---|---|---|---|
filters | string | No | Additional filters |
template | string | No | Output shape. One of: value, delta, daily, monthly. |
getPageViews
Returns the page views count for ANY time period.
Good to know
- Only the monthly series is available.
| Parameter | Type | Required | Description |
|---|---|---|---|
template | string | No | Output shape. One of: monthly. |
getUniqueVisitors
Returns the unique visitor count for ANY time period.
Good to know
- Only the monthly series is available.
| Parameter | Type | Required | Description |
|---|---|---|---|
template | string | No | Output shape. One of: monthly. |
getVisitor
Returns the visitor count for ANY time period.
Good to know
- Only the monthly series is available.
| Parameter | Type | Required | Description |
|---|---|---|---|
template | string | No | Output shape. One of: monthly. |
getSignup
Returns the signup count.
Good to know
templatesets the output shape:value(a single figure),delta(the change against the previous period),monthly(a monthly series). Date-range parameters are accepted but ignored; the tool reports its own period.
| Parameter | Type | Required | Description |
|---|---|---|---|
template | string | No | Output shape. One of: value, delta, monthly. |
getAbuseDetection
Returns the abuse detection count.
Good to know
templatesets the output shape:value(a single figure),delta(the change against the previous period),daily(a daily series),monthly(a monthly series).
| Parameter | Type | Required | Description |
|---|---|---|---|
filters | string | No | Additional filters |
template | string | No | Output shape. One of: value, delta, daily, monthly. |
Activation
get_activation_summary
Get activation module summary including milestone completion rates.
| Parameter | Type | Required | Description |
|---|---|---|---|
period | string | Yes | Time period, e.g. last_30_days |
get_activation_trend
Get activation trend data over time.
| Parameter | Type | Required | Description |
|---|---|---|---|
period | string | Yes | Time period, e.g. last_30_days |
get_feature_conversion_drivers
Interactive 2-step activation milestone explorer. Step 1 (step=modules): Returns activation modules and their milestones. Step 2 (step=milestone): Pass module_id and milestone_id to get converted vs dropped accounts for that milestone.
| Parameter | Type | Required | Description |
|---|---|---|---|
milestone_id | string | No | Required when step=milestone |
module_id | string | No | Required when step=milestone |
step | string | Yes | Which step to run: "modules" first, then "milestone" using the names or ids from the first result. |
getActivationRate
Returns the activation rate metric.
Good to know
- Only the monthly series is available.
| Parameter | Type | Required | Description |
|---|---|---|---|
template | string | No | Output shape. One of: monthly. |
getTotalAccountsActivated
Returns the total accounts activated metric.
Good to know
- Only the monthly series is available.
| Parameter | Type | Required | Description |
|---|---|---|---|
template | string | No | Output shape. One of: monthly. |
getUsersActivatedThisMonth
Returns the users activated this month metric.
Good to know
templatesets the output shape:value(a single figure),monthly(a monthly series).
| Parameter | Type | Required | Description |
|---|---|---|---|
template | string | No | Output shape. One of: value, monthly. |
getAvgTimeToFirstValue
Returns the avg time to first value metric.
Good to know
templatesets the output shape:value(a single figure),monthly(a monthly series).
| Parameter | Type | Required | Description |
|---|---|---|---|
template | string | No | Output shape. One of: value, monthly. |
getAvgTimeFromActToConv
Returns the avg time from activation to conversion metric.
Good to know
templatesets the output shape:value(a single figure),monthly(a monthly series).
| Parameter | Type | Required | Description |
|---|---|---|---|
template | string | No | Output shape. One of: value, monthly. |
getAvgTimeFromAcqToConv
Returns the avg time from acquisition to conversion metric.
Good to know
templatesets the output shape:value(a single figure),monthly(a monthly series).
| Parameter | Type | Required | Description |
|---|---|---|---|
template | string | No | Output shape. One of: value, monthly. |
Retention & Stickiness
get_retention_data
Get retention cohort data showing how users return over time.
| Parameter | Type | Required | Description |
|---|---|---|---|
period | string | Yes | Time period, e.g. last_90_days |
get_churn_expansion_signals
Returns portfolio-level engagement segmentation (high, medium and low stickiness counts) and an inactive-account trend series. It does not list individual at-risk accounts; those come from list_accounts.
No input parameters required.
getHighStickiness
Returns the high stickiness metric.
Good to know
templatesets the output shape:value(a single figure),delta(the change against the previous period),daily(a daily series),monthly(a monthly series).
| Parameter | Type | Required | Description |
|---|---|---|---|
filters | string | No | Additional filters |
template | string | No | Output shape. One of: value, delta, daily, monthly. |
getMediumStickiness
Returns the medium stickiness metric.
Good to know
templatesets the output shape:value(a single figure),delta(the change against the previous period),daily(a daily series),monthly(a monthly series).
| Parameter | Type | Required | Description |
|---|---|---|---|
filters | string | No | Additional filters |
template | string | No | Output shape. One of: value, delta, daily, monthly. |
getLowStickiness
Returns the low stickiness metric.
Good to know
templatesets the output shape:value(a single figure),delta(the change against the previous period),daily(a daily series),monthly(a monthly series).
| Parameter | Type | Required | Description |
|---|---|---|---|
filters | string | No | Additional filters |
template | string | No | Output shape. One of: value, delta, daily, monthly. |
getAdoptionRate
Returns the adoption rate metric.
Good to know
templatesets the output shape:value(a single figure),delta(the change against the previous period),daily(a daily series),monthly(a monthly series).
| Parameter | Type | Required | Description |
|---|---|---|---|
filters | string | No | Additional filters |
template | string | No | Output shape. One of: value, delta, daily, monthly. |
Feature Adoption
get_feature_adoption
Get feature adoption timeline showing when users first used each feature.
| Parameter | Type | Required | Description |
|---|---|---|---|
period | string | Yes | Time period, e.g. last_30_days |
get_feature_usage_trend
Get feature usage trend data over time.
| Parameter | Type | Required | Description |
|---|---|---|---|
period | string | Yes | Time period, e.g. last_30_days |
Funnel & Scorecard
get_monthly_metrics_table
Returns a month-by-month scorecard covering the full PLG funnel: new visitors, repeat visitors, signups, TTA (days to signup), TPTA (touchpoints before signup), new paying accounts, and new MRR. Each cell is color-coded (green/yellow/red) relative to all months in that column — makes it easy to spot which months were strong or weak across each metric at a glance. Covers the last 12 months. No inputs required. Use this tool when the user asks to: - diagnose conversion, acquisition, or revenue health - understand why MRR or signups dropped - see a conversion scorecard or funnel overview - identify which month had the worst performance
No input parameters required.
getAcqConversion
Returns the acquisition conversion metric.
Good to know
templatesets the output shape:value(a single figure),delta(the change against the previous period),daily(a daily series),monthly(a monthly series).
| Parameter | Type | Required | Description |
|---|---|---|---|
filters | string | No | Additional filters |
template | string | No | Output shape. One of: value, delta, daily, monthly. |
getAcquisitionAccounts
Returns the acquisition accounts count.
Good to know
templatesets the output shape:value(a single figure),delta(the change against the previous period),daily(a daily series),monthly(a monthly series).
| Parameter | Type | Required | Description |
|---|---|---|---|
filters | string | No | Additional filters |
template | string | No | Output shape. One of: value, delta, daily, monthly. |
getTotalAcquisitionAccounts
Returns the total acquisition accounts count.
Good to know
templatesets the output shape:value(a single figure),delta(the change against the previous period),daily(a daily series),monthly(a monthly series).
| Parameter | Type | Required | Description |
|---|---|---|---|
filters | string | No | Additional filters |
template | string | No | Output shape. One of: value, delta, daily, monthly. |
getTimeToAcquisition
Returns the time to acquisition metric.
Good to know
templatesets the output shape:value(a single figure),delta(the change against the previous period),daily(a daily series),monthly(a monthly series).
| Parameter | Type | Required | Description |
|---|---|---|---|
filters | string | No | Additional filters |
template | string | No | Output shape. One of: value, delta, daily, monthly. |
getTouchpointsToAcquisition
Returns the touchpoints to acquisition metric.
Good to know
templatesets the output shape:value(a single figure),delta(the change against the previous period),daily(a daily series),monthly(a monthly series).
| Parameter | Type | Required | Description |
|---|---|---|---|
filters | string | No | Additional filters |
template | string | No | Output shape. One of: value, delta, daily, monthly. |
getTotalAccounts
Returns the total accounts metric.
Good to know
templatesets the output shape:value(a single figure),monthly(a monthly series).
| Parameter | Type | Required | Description |
|---|---|---|---|
template | string | No | Output shape. One of: value, monthly. |
Account Lists & Segments
list_accounts
List CRM accounts with optional filtering and pagination. Returns account names, IDs, domains, scores, and subscription details.
| Parameter | Type | Required | Description |
|---|---|---|---|
page | number | No | Page number, 1-indexed (default 1) |
size | number | No | Page size (default 20, max 100) |
sort_by | string | No | Column to sort by, e.g. last_active_time |
sort_order | string | No | Sort order: asc or desc (default desc) |
list_crm_accounts
Lists the brand's accounts from the Account Intelligence list, one page at a time, with the total number of matching accounts in count. Each account row carries identity (id, name, domain, source, createdAt, owner, userCount, softDeleted, mergedAccountId = ids of accounts merged into it), revenue (status, MRR/ARR/NRR in revenue_currency, renewal and last transaction dates, delayed invoice count), expansion/contraction MRR movement this month, atRiskSegment (engagement and/or monetization), CSM and sales rep, acquisition UTMs and abuse status, engagement (active flag, last activity, status, DAU/WAU/MAU, stickiness ratios, activity count and its trend %), activation (status, date, time to value, completion %, current step, champion user) and firmographics. Filter with filters and sort with sort_by/sort_order to answer questions like 'which enterprise accounts are inactive' or 'top accounts by MRR'. Filter keys, operators and quick filters come from get_account_list_fields. Soft-deleted accounts are left out unless filters mention softDeleted or use 'or'.
| Parameter | Type | Required | Description |
|---|---|---|---|
filters | object | No | Conditions as {"and": [...]} or {"or": [...]} (not both), each condition {"key", "operator", "value"}. key is a field key from get_account_list_fields (e.g. engagement_status, revenue_mrr, atRiskSegment, csm, enrichment_industry); operator is one that field allows (equals, not_equals, contains, not_contains, greater_than, less_than, greater_than_or_equal, less_than_or_equal); value is a string. List fields such as atRiskSegment and source match when they contain the value. |
page | number | No | Page number, starting at 1 (default 1) |
page_size | number | No | Rows per page (default 25, max 100) |
sort_by | string | No | Field to sort by (default createdAt): any returned field that get_account_list_fields marks sortable, e.g. revenue_mrr, engagement_activityCount, engagement_lastActivity |
sort_order | string | No | Sort direction (default DESC). One of: ASC, DESC. |
get_account_list_fields
Describes every account-list field: key, category (Acquisition, Monetization, Engagement, ...), data type, display name and description, whether it is sortable, and its filter input type and allowed operators. These keys and operators are what list_crm_accounts filters and sort_by take. With key set to a select-type field (source, csm, sales_rep, atRiskSegment or a yes/no field), also returns that field's possible values in filter_values.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | string | No | Field key whose possible filter values to list, e.g. csm or source |
page | number | No | Page number, starting at 1 (default 1) |
page_size | number | No | Rows per page (default 25, max 100) |
search | string | No | With key: only values containing this text |
list_account_segments
Lists the brand's saved account segments (the views in the Account Intelligence sidebar): id, name, description, type (filtered or curated), whether it is a system or the default segment, and filters, the stored filter as JSON in the same {and|or: [{key, operator, value}]} shape list_crm_accounts takes. To see a filtered segment's accounts, pass its filters to list_crm_accounts; a curated segment's accounts match the filter curatedSegment equals the segment id.
No input parameters required.
compare_segments
Compare 2+ segments by identifier (segment id or system name) using account counts.
| Parameter | Type | Required | Description |
|---|---|---|---|
segment_identifiers | string[] | Yes | Array of segment IDs or system names. |
create_account_segment
Create an account segment using monetization criteria described in natural language (paid/trial/free, MRR/ARR thresholds, plan).
| Parameter | Type | Required | Description |
|---|---|---|---|
user_request | string | Yes | Natural language segment criteria, e.g. 'paid accounts with MRR > $500'. |
list_at_risk_accounts
The At-Risk Accounts view: accounts at risk on engagement (activity trend of -5% or worse) or monetization (delayed invoice payments), one page at a time. Returns at_risk (count plus the page of accounts; each row's atRiskSegment says which axis), and the size of each bucket in all_at_risk, engagement_at_risk and monetization_at_risk (count = accounts now; currCount/prevCount = created this month and last month; delta = month-over-month change in %). One axis alone is covered by list_crm_accounts with an atRiskSegment equals engagement (or monetization) filter. Each account row carries identity (id, name, domain, source, createdAt, owner, userCount, softDeleted, mergedAccountId = ids of accounts merged into it), revenue (status, MRR/ARR/NRR in revenue_currency, renewal and last transaction dates, delayed invoice count), expansion/contraction MRR movement this month, atRiskSegment (engagement and/or monetization), CSM and sales rep, acquisition UTMs and abuse status, engagement (active flag, last activity, status, DAU/WAU/MAU, stickiness ratios, activity count and its trend %), activation (status, date, time to value, completion %, current step, champion user) and firmographics.
| Parameter | Type | Required | Description |
|---|---|---|---|
page | number | No | Page number, starting at 1 (default 1) |
page_size | number | No | Rows per page (default 25, max 100) |
sort_by | string | No | Field to sort by (default createdAt): any returned field that get_account_list_fields marks sortable, e.g. revenue_mrr, engagement_activityCount, engagement_lastActivity |
sort_order | string | No | Sort direction (default DESC). One of: ASC, DESC. |
list_account_exports
Lists recent CSV exports of the account or user list made from the app: status (running, success, failed), row count, error message, and when each was started and completed. Download links are only available in the app.
| Parameter | Type | Required | Description |
|---|---|---|---|
entity | string | No | Which list's exports (default accounts). One of: accounts, users. |
limit | number | No | How many recent exports (default 20, max 50) |
get_merged_accounts
Returns the member accounts of a merged account group, each with its own metrics rather than the rolled-up figures shown on the list. Pass the parent id followed by the ids in its mergedAccountId field from list_crm_accounts. Each account row carries identity (id, name, domain, source, createdAt, owner, userCount, softDeleted, mergedAccountId = ids of accounts merged into it), revenue (status, MRR/ARR/NRR in revenue_currency, renewal and last transaction dates, delayed invoice count), expansion/contraction MRR movement this month, atRiskSegment (engagement and/or monetization), CSM and sales rep, acquisition UTMs and abuse status, engagement (active flag, last activity, status, DAU/WAU/MAU, stickiness ratios, activity count and its trend %), activation (status, date, time to value, completion %, current step, champion user) and firmographics.
| Parameter | Type | Required | Description |
|---|---|---|---|
account_ids | string[] | Yes | Account ids of the group: parent first, then merged members (max 50) |
Account Detail
get_account_overview
The header of an account's detail page: display name, domain, plan, last active time, account and abuse status, firmographics (industry, annual revenue, employees, founded year, location), user counts (total, active, inactive, waitlisted), subscription (plan, start and expiry dates, payment status, MRR), buyer contact, abuse rule results, the merged member records behind the account (ThriveStack, CRM and billing customer records), which data sources it has (telemetry, HubSpot, revenue), and its assigned CSM and sales rep with when each was set.
| Parameter | Type | Required | Description |
|---|---|---|---|
account_id | string | Yes | Account id (from list_crm_accounts), CRM record id or billing customer id |
get_account_acquisition
How an account was acquired: the first user (id and email), the initial UTM source, medium, campaign, term and content, the number of touchpoints before signup and the days from first visit to signup. The first user's session-by-session path is in get_user_journey_timeline.
| Parameter | Type | Required | Description |
|---|---|---|---|
account_id | string | Yes | Account id, as returned in the id field of list_crm_accounts |
get_account_activation
An account's activation progress: overall status, how it was reached, time spent versus the activation goal time and whether the goal was met; each activation journey's status, start and activation dates and time spent; and the milestone tree per journey (milestones, sub-milestones and steps, each with completed flag and completion time, key milestones marked).
| Parameter | Type | Required | Description |
|---|---|---|---|
account_id | string | Yes | Account id, as returned in the id field of list_crm_accounts |
get_account_activity
An account's recent product activity feed, newest first: who did what (user name), event type and name, feature used, page title and path, and when. count is the total number of events in the window.
| Parameter | Type | Required | Description |
|---|---|---|---|
account_id | string | Yes | Account id, as returned in the id field of list_crm_accounts |
page | number | No | Page number, starting at 1 (default 1) |
page_size | number | No | Rows per page (default 25, max 100) |
time_range | string | No | Look-back window: 7d, 1m, 3m, 6m or 1y. Default 3m. |
get_account_engagement
Get engagement trend for a specific account.
| Parameter | Type | Required | Description |
|---|---|---|---|
account_id | string | Yes | Account identifier |
period | string | Yes | Time period |
get_account_engagement_trend
An account's engagement health: DAU, WAU, MAU and activity count for the last 30 days against the previous 30 (current, previous, delta, % change), weekly and monthly stickiness, and the engagement status; plus the daily trend of active users and activity over the chosen window (one series per measure, each a list of date and count).
| Parameter | Type | Required | Description |
|---|---|---|---|
account_id | string | Yes | Account id, as returned in the id field of list_crm_accounts |
time_range | string | No | Look-back window: 7d, 1m, 3m, 6m or 1y. Default 3m. |
get_account_engagement_profile
Interactive 2-step account engagement profile. Step 1 (step=profile): Pass account_id. Returns account details + acquisition metrics + an intervention recommendation. Step 2 (step=timeline): Pass champion_user_id (use acquisition user_id from profile when available) to view journey timeline.
| Parameter | Type | Required | Description |
|---|---|---|---|
account_id | string | No | Account ID. Required when step=profile |
champion_user_id | string | No | User ID. Required when step=timeline |
step | string | Yes | Which step to run: "profile" first, then "timeline" using the names or ids from the first result. |
get_account_expansion
An account's MRR expansion and contraction: this month's expansion and contraction summary (movement types such as upgrade or seat change, signal count, MRR movement, MRR and quantity before and after), and the history of expansion and contraction MRR movements (date, amount, currency, category), newest first, paged together.
| Parameter | Type | Required | Description |
|---|---|---|---|
account_id | string | Yes | Account id, as returned in the id field of list_crm_accounts |
page | number | No | Page number, starting at 1 (default 1) |
page_size | number | No | Rows per page (default 25, max 100) |
get_account_feature_usage
Which product features an account uses: feature adoption (adoption rate %, features adopted vs all tracked features, with both lists), and the usage trend over the window for every feature and product page the account touched (one series per feature or page, each a list of date and count). API, CLI and agent usage is excluded here; it is covered by get_account_api_usage.
| Parameter | Type | Required | Description |
|---|---|---|---|
account_id | string | Yes | Account id, as returned in the id field of list_crm_accounts |
time_range | string | No | Look-back window: 7d, 1m, 3m, 6m or 1y. Default 3m. |
get_account_api_usage
An account's programmatic usage (features used through the API, CLI or agents rather than the UI): the interfaces and features seen, features grouped by interface, and a daily trend of usage per feature over the window (xAxis is the date, yAxis the count).
| Parameter | Type | Required | Description |
|---|---|---|---|
account_id | string | Yes | Account id, as returned in the id field of list_crm_accounts |
time_range | string | No | Look-back window: 7d, 1m, 3m, 6m or 1y. Default 1m. |
get_account_user_engagement
Per-user engagement inside one account, most recently active first: for each user, the number of tracked actions and active days in the window, last active time, whether the user is linked to the account, and a daily activity count (heatMap) for the window. Use it to find an account's champions and dormant users. totalCount is the number of users with activity.
| Parameter | Type | Required | Description |
|---|---|---|---|
account_id | string | Yes | Account id, as returned in the id field of list_crm_accounts |
page | number | No | Page number, starting at 1 (default 1) |
page_size | number | No | Rows per page (default 25, max 100) |
time_range | string | No | Look-back window: 7d, 1m or 3m. Default 1m. |
get_account_users
Lists the users that belong to an account, newest signup first: user id, name, email, signup time and how they were acquired (source). totalCount is the number of users on the account.
| Parameter | Type | Required | Description |
|---|---|---|---|
account_id | string | Yes | Account id, as returned in the id field of list_crm_accounts |
page | number | No | Page number, starting at 1 (default 1) |
page_size | number | No | Rows per page (default 25, max 100) |
get_account_data_issues
Tracking and data-setup problems that affect one account's numbers, grouped by lifecycle stage: each issue's title, description, whether it currently exists, severity and where to fix it. Use it when an account's metrics look missing or wrong.
| Parameter | Type | Required | Description |
|---|---|---|---|
account_id | string | Yes | Account id, as returned in the id field of list_crm_accounts |
stages | string[] | No | Stages to check (default all): Acquisition, Activation, Monetization, Engagement, Retention, Expansion |
Users
list_users
Lists end users of the brand's product who signed up within a window, one page at a time: name, id, email, company, title, role, location, country, account id and name, device, active/waitlisted/activated/invited flags, last login, signup date, sign-in count, social handles, soft-delete state and abuse status. count is the total matching users. With search, the result is under matching_users instead of users.
| Parameter | Type | Required | Description |
|---|---|---|---|
page | number | No | Page number, starting at 1 (default 1) |
page_size | number | No | Rows per page (default 25, max 100) |
search | string | No | Only users whose email contains this text |
signup_window | string | No | Only users who signed up within this window (default 12 months) One of: 24 hours, 7 days, 14 days, 30 days, 3 months, 6 months, 12 months. |
user_status | string | No | Only users with this status (default all) One of: Active, Inactive, Waitlist. |
get_user_details
One end user's profile: name, email, avatar, title, phone, location, social handles (GitHub, LinkedIn, Twitter), status, signup date, last active time, the account they belong to (id, name, domain) and their employer (company name and domain).
| Parameter | Type | Required | Description |
|---|---|---|---|
user_id | string | Yes | User id, from list_users or get_account_users |
get_user_activity
One user's product events between two times, newest first: event name (e.g. feature_used, page_visit), the feature name or page path, and the time. totalCount is the number of events in the range.
| Parameter | Type | Required | Description |
|---|---|---|---|
end_time | number | Yes | Range end, Unix seconds |
page | number | No | Page number, starting at 1 (default 1) |
page_size | number | No | Rows per page (default 25, max 100) |
start_time | number | Yes | Range start, Unix seconds |
user_id | string | Yes | User id, from list_users or get_account_users |
CRM Integrations
get_crm_integrations
Shows which external systems feed the account and user lists: connected integrations (hubspot, google_ads, linkedin_ads) with direction (crm_to_ts = imported into ThriveStack, ts_to_crm = pushed out) and connection date; the HubSpot sync status and last update time; and the merge rules that match imported records to ThriveStack accounts and users (external source, source field, target field; null when none is set).
No input parameters required.
get_hubspot_properties
For the brand's connected HubSpot portal: the portal id, its domain and whether it is a production portal, plus every property defined on one HubSpot object type (key, label, type). Use it to learn which HubSpot fields exist before reading an account's HubSpot records. Fails when no HubSpot integration is connected.
| Parameter | Type | Required | Description |
|---|---|---|---|
entity | string | No | HubSpot object type (default companies). One of: companies, contacts, deals, tickets, engagements_calls, engagements_emails, engagements_meetings, engagements_notes, engagements_tasks. |
get_account_hubspot_data
Returns the HubSpot CRM records linked to one account, from the brand's HubSpot sync: the company's properties, the company record, deals, tickets, or engagements (calls, meetings, notes, tasks), one data_type per call. Each record has id, createdAt, updatedAt and a list of HubSpot properties (name, label, type, value; e.g. dealname, amount, dealstage for deals; subject, hs_ticket_priority for tickets). hubSpotCompanyId is null when the account has no linked HubSpot company. totalCount is the number of records of that type.
| Parameter | Type | Required | Description |
|---|---|---|---|
account_id | string | Yes | Account id (from list_crm_accounts) or a HubSpot company id |
data_type | string | No | Which records to return (default PROPERTIES). One of: PROPERTIES, COMPANIES, DEALS, TICKETS, ENGAGEMENT_CALLS, ENGAGEMENT_MEETINGS, ENGAGEMENT_NOTES, ENGAGEMENT_TASKS. |
page | number | No | Page number, starting at 1 (default 1) |
page_size | number | No | Rows per page (default 25, max 100) |
search | string | No | PROPERTIES only: property names containing this text |
Changes over time
New tools are added from time to time, and we update this page when they go live. See the Changelog for every tool added or changed, with dates.