Skip to main content
Most commands in this reference share these common flags:

Activation

Inspect, historically preview, and explicitly configure the exact ordinary product event Outlit uses for activation. The first matching event activates eligible contacts and their resolved company. Core sets each subject’s activation timestamp only when it is null, so activation is monotonic. Applications and connected analytics sources keep sending ordinary product events. They do not send a synthetic activation event or authoritatively mutate lifecycle state.

Get

The command returns the configured eventName. The fixed behavior remains simple: the first matching product event activates the eligible contact and resolved company.

Preview

Preview one exact event name against historical product events:
Preview is always read-only. It never saves the event setting, changes activatedAt, or materializes activation. The response reports separate contact and company totals: matching subjects, subjects already activated, and subjects that would activate if this event were configured. evaluatedContactOccurrenceCount counts matching contact-event occurrences, while evaluatedEventCount counts matching events attributed to resolved companies. Contact identities are not returned as preview examples. Both sides are bounded independently for query safety. If contactTruncated is true, treat contact totals as lower bounds. If customerTruncated is true, treat company totals as lower bounds. The legacy truncated flag can also mean that exampleLimit omitted company examples, so it does not by itself make aggregate totals a lower bound.

Update

After reviewing a preview, explicitly replace the configured event name:
Saving the event name changes future matching only. It does not scan historical events or backfill activation.

Disable

To stop future activation matching:
Disabling preserves existing contact and company activation timestamps. All four commands return the catalog-projected result in --json and piped output. Local validation errors use the CLI’s missing_input or invalid_input shape; gateway failures retain Core’s stable code, message, retryable, and requestId envelope.

Customers List

List and filter customers with pagination.

Flags

Examples

JSON Response

Pagination

Use --cursor to page through results:
In interactive mode, the CLI shows a hint after the table:

Customers Get

Get a detailed customer profile with optional sections.

Arguments

Flags

Examples

JSON Response

customer.activatedAt is an ISO-8601 timestamp when Core has materialized company activation, and null otherwise. Contact journey stages remain separate under users.

Customers Relationship

Get the bounded relationship read model used for customer detail, without adding it to the compact customers get response or replacing the chronological activity timeline.
<customer> accepts a customer domain, UUID, or exact name. The relationship returns the stable customer identity and a bounded relationship section (summary plus up to eight categorized current statements). Each statement carries an ISO observedAt timestamp when the authorized source supports one and bounded sourceLabels. updatedAt is the compiled summary timestamp when available, and otherwise null. The response never includes raw quotes, internal memory-card data, unrestricted fact IDs, or unbounded source records.

JSON Response

Customers Features

Read exact historical Feature usage for one authorized customer.
<customer> accepts a customer domain, UUID, or exact name. The default window is 12 weeks. Each feature reports factual observation evidence from its configured event rule. Complete or partial coverage, no matches, and unavailable source evidence remain distinct; unavailable evidence is never rendered as zero usage. Add --weekly to include the ordered weekly eventCount and activeDays projection used by the customer feature lanes.

Features

Configure the small workspace taxonomy of product capabilities whose recurring use represents customer value.
features list returns eligible product-event sources, the selected source, active features with exact historical evidence, and candidate discovery. Candidate discovery is a discriminated result: ready and partial contain items and truncated, while unavailable contains a reason. Core auto-selects a source only when exactly one is eligible. Create one feature from one exact event rule:
Use --property-filters with a JSON array of generated exact or exists filter objects when the event alone is too broad. Event names are preserved exactly; use the candidate returned by the workspace command. Archive requires both opaque values returned by Core:
Creating a Feature atomically creates its internal weekly event-count and active-days metrics. Those metrics are implementation details rather than separate CLI resources. Archive is intentionally limited in the MVP. Core rejects stale revisions and prevents archiving the final active feature. Historical usage remains retained, and archive is the only self-service lifecycle action in this release.

Attention

Inspect the authorized, read-only Attention collection. Attention is separate from customer relationship and from the chronological customer timeline.
attention list defaults to open items. It accepts optional --customer-id, --limit (1–100; Core default 25), and an opaque --cursor returned with the same filters. Use --status resolved for resolved items. Each returned item includes its current priority; priority filtering is not part of V1.
List rows contain bounded customer identity, current priority, evidence count, lifecycle times, and account importance. Detail adds the current assessment, timeline, evidence summaries, and latest visible update. accountImportance.arrCents is calculated by Core from stored monthly revenue; clients must not multiply it again. arrShareWithinCurrency and arrPercentileWithinCurrency compare only customers in the same currency; neither implies FX conversion or an all-currency organization total. Both responses may contain a current reviewable preparedActionUrl only. They never include action IDs, action lifecycle or execution state, email drafts, recipients, evidence IDs, source URLs, internal responsibility-agent configuration, or billing-recovery details. The commands are read-only: there is no resolve, reopen, send, or review operation.

JSON Response

Customer Ownership and Access

Assign a primary owner or manage a workspace member’s explicit Viewer or Editor access. These write commands require exact IDs and never resolve customer names, domains, or user emails on your behalf. For API keys, workspace-member discovery and customer mutations are independent capabilities. outlit ws-users list requires workspace_members:read; setting an owner, granting or changing access, and revoking access require customer_access:manage. The complete discover-then-mutate flow needs both grants, while automation that already knows exact IDs may use customer_access:manage alone. API keys are independent workspace principals and do not inherit their creator’s human permissions or customer access. Read only includes discovery but not mutation, Full workspace access includes both grants, and Custom includes only the grants you select; there is no separate customer-collaboration preset. First discover the customer UUID. Use JSON output because the interactive table is optimized for scanning rather than copying identifiers:
Copy the exact items[].id for the intended customer. Then discover the target workspace user:
Without --has-owned-customers, this command lists all active workspace members that resolve to local Outlit users, including members who own no customers. Use --has-owned-customers only when you intentionally want to restrict discovery to current owners. Copy the exact workspace-user items[].id as --target-user-id. Review multiple matches before writing; the ownership and access commands intentionally do not perform fuzzy name matching.

Set Owner

The target must be an active workspace member. When ownership changes, the former owner keeps Editor access.

Grant or Change Access

Run the same grant command again with the other role to change an existing collaborator between Viewer and Editor.

Revoke Access

--role accepts only VIEWER or EDITOR; OWNER is represented by the separate primary-owner assignment. Malformed customer IDs, missing or oversized target-user IDs, and invalid roles fail locally without sending a request. Permission, conflict, and other gateway failures retain Core’s structured code, message, retryable, and requestId fields in JSON output.

Customers Timeline

View the activity timeline for a customer, filtered by channel and event type.

Arguments

Flags

When --start-date or --end-date is provided, --timeframe is ignored.
The CLI also accepts and normalizes these legacy aliases: SDKPRODUCT, EMAILCOMMUNICATION, SLACKCOMMUNICATION, CALLMEETING, CALENDARMEETING, and INTERNALSYSTEM.

Examples

JSON Response

Users List

List and filter users across your customer base.

Flags

Examples

JSON Response

Facts

Retrieve AI-generated facts, signals, and insights for a customer.

facts list Arguments

facts list Flags

facts get Flags

Examples

JSON Response

facts get returns the same canonical fact shape as facts list. Passing --include evidence requests a best-effort evidence expansion; unsupported include values are ignored.
Semantic search across customer context. Results are grouped at the artifact level, so matching sources and facts are returned directly instead of raw chunks.

Arguments

Flags

Examples

JSON Response

Search returns both matching source and fact artifacts when both are relevant. Multiple chunk hits from the same source are grouped into one source result.

Sources

List concrete source records deterministically or fetch one exact source by generic sourceType and sourceId.

List Sources

List enumerated calls, emails, calendar events, support tickets, Slack conversations, or opportunities. Use this command when you need deterministic source records; use outlit search for semantic ranking. Results are paginated.

Flags

Source-type aliases are normalized to their canonical values before the request. With --json, the command returns the paginated items and pagination response. In interactive output, rows show TYPE, OCCURRED, TITLE, and SOURCE ID; when more results are available, the next cursor is printed for the following --cursor request.

Examples

Get a Source

Flags

Examples

Destinations

Inspect and manage configured automation destinations with masked configuration only.

Examples

Destination creation and update are Slack-channel backed. Use --default on destinations create or destinations update to make a destination the default fallback. destinations update patches only the fields you pass. Raw destination secrets and unmasked provider configuration are not returned.

Settings

Inspect and configure the model-safe workspace timezone. Delivery and report configuration remains in the authored web UI.

Examples

The public workspace settings capability returns and updates the default IANA timezone. Default delivery destination selection is handled by outlit destinations create --default or outlit destinations update --default.

SQL

Execute read-only SQL queries against Outlit analytics views.

Arguments

Flags

Examples

JSON Response

Available Views

Use outlit schema to discover all views and their columns. Common views:

Schema

Discover analytics views and their column definitions.

Arguments

Examples

The public customers analytics view exposes company activation as activated_at Nullable(DateTime64(3)). Contact journey stages remain separate on users.

JSON Response