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 sql maps to outlit_query, customers owner set maps to outlit_assign_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 contentPage.completeness 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 --source-type CALL --source-id <id>) and check outlit attention list --customer-id <uuid> for review items Outlit already prepared.

Recipe: renewal preparation

Assemble the account’s current state and evidence before a renewal conversation.
customers relationship returns categorized current statements — not raw fact IDs or source quotes. Use facts list / 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: investigate attention items

Read the review queue Outlit’s agents produced.
Items can include a preparedActionUrl for review in the app. The public surface is read-only — no resolve, send, or act tool exists; review happens in the product.

Recipe: hand a customer to a teammate

Exact-ID writes; discover the IDs first.
Write commands accept exact identifiers only: a customer UUID and a user_* workspace-member ID. The CLI does not fuzzy-match names, emails, or domains for mutations. 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 --request-id for an identical retry — it makes the execution idempotent. A different request ID 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 <view> before filtering nested values.

Recipe: check source coverage before trusting empty answers

integrations status 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