Skip to main content
These recipes are written for agents and automation scripts. The CLI, MCP, and POST /api/tools/call expose corresponding capabilities — but not identical names or shapes. outlit query maps to outlit_query, customers set-owner maps to outlit_set_customer_owner, and kebab-case flags map to camelCase schema fields (--billing-status → billingStatus). MCP/API readers should follow tool names and input schemas, not CLI spellings. Evidence rules that apply to every recipe: cite what you retrieved, check content.status and content.data.page.hasMore before treating source content as complete, and treat missing fields, empty results, and absent permalinks as unavailable evidence — never as negative evidence.

Recipe: weekly churn-risk review

Find paying customers that went quiet, then rank by revenue exposure.
Then: open the sources behind facts (outlit sources get call <id>).

Recipe: renewal preparation

Assemble the account’s current state and evidence before a renewal conversation.
--include relationship returns categorized current statements with the factIds behind them — not source quotes. Use facts get / sources get when you need the underlying records.

Recipe: expansion candidates

Accounts that are healthy enough to expand.
An unavailable state means a source did not report; it does not mean usage is zero.

Recipe: hand a customer to a teammate

Writes name one customer and one member; discover the member first.
Write commands take a customer ID, domain or exact name and a workspace member’s user_* ID or email. The CLI does not fuzzy-match for mutations: a name that matches several customers is refused. set-owner previews first; --yes confirms without a terminal. Discovering members requires workspace_members:read; changing customer access requires customer_access:manage.

Recipe: merge a duplicate customer

Two-phase and auditable — preview first, then execute with the returned token.
Reuse the same --idempotency-key for an identical retry — it makes the execution idempotent. A different idempotency key on the same pair is a new execution attempt.

Recipe: SQL analytics

Four read-only views: activity, customers, users, revenue. Check the schema before querying:
SELECT only. properties/traits columns are JSON strings — inspect with outlit schema get <view> before filtering nested values. arr_amount is the annualized revenue run rate, the same figure the Outlit app shows, in the minor units of arr_currency: divide by 10^arr_decimals for the amount (cents for USD, EUR, GBP, and CAD). lifetime_revenue_cents is lifetime revenue in the billing provider’s units. Other currencies follow the provider’s amount rules (see Stripe’s currency docs). arr_currency names the currency of arr_amount (empty when ARR is unknown), so filter to one currency before summing, as above, or GROUP BY arr_currency. arr_estimated marks amounts that include a usage or per-seat estimate, and revenue_lifecycle is the customer’s revenue state. arr_cents, mrr_cents and mrr_status remain on customers until 2026-12-11 but are deprecated: use arr_amount. The revenue view is ARR daily (snapshot_date, arr_amount, arr_currency, arr_decimals) with no MRR columns.

Recipe: check source coverage before trusting empty answers

integrations list reports configuration readiness (not_connected, awaiting_auth, setup_required, ready, requires_intervention) — ready proves the connection is configured, not that data has synced or is fresh. Use it to rule out a broken setup, then enumerate actual records:
If you can’t confirm a source ever synced, leave the absence inconclusive — report the coverage gap instead of a customer-health conclusion. Sync/backfill freshness is visible in the app’s integration settings, not in this command.

Customer identity touchpoints

Reads (customers get, relationship, timeline, facts, credits, features) accept a domain, UUID, or exact name. Writes accept exact IDs. When in doubt, resolve the UUID with customers get first, then feed it to the write command.

Troubleshooting

Auth, permission, identity, and empty-result failure modes

CLI reference

Full flag and schema detail for every command