Business story visibility & tracking

Power your
business outcomes.

Someone signs up. A team takes shape. They make progress—or get stuck. See the story unfold, understand what needs attention, and do something about it.

Events from your backend. Your database stays yours.

A working day, in one viewIllustrative example · not live customer data
Acme workspace/Customer stories
Source coverage confirmed
Signups today8people
Accounts created3accounts
Links created12links
Ready for follow-up1customer story

APP BACKEND · ACCOUNT

account-42

3 people
  1. A new user signed up

    One person. A new possibility.

  2. They created an account

    Their activity now belongs to a shared story.

  3. Two teammates joined

    Three people, one account. The story accumulates.

  4. They created their first link

    A useful milestone, with the source attached.

Every milestone keeps its source and timestamp.

THE NEXT CHAPTER

Needs attention

The first link is there.
Extension use isn’t.

No extension use observed within 24 hours. Delivery coverage is complete through the deadline, so this is a missed milestone worth investigating.

ME
A place to investigate together

Discuss the evidence, assign an owner, and queue the next step.

Human follow-up and customer activation stay distinct.

LESS RECONSTRUCTION. MORE CONTEXT.

Keep the thread
from activity to outcome.

Counts show the pace of your business. Stories show the people and progress behind them.

01

Watch a story accumulate.

Signups, account creation, teammates, and meaningful activity stay connected. New events update the same customer story.

02

Notice what didn’t happen.

Set an expected milestone and a timeframe. Cmdline distinguishes a missed step from a source that stopped reporting.

03

Close the loop with your team.

Open the evidence, discuss it, assign an owner, and record the follow-up result. Later customer activity continues the story.

A SMALL CONNECTION. USEFUL CONTEXT.

Your app knows
what happened.
Give it somewhere to go.

Create a source, keep its scoped token on your server, and send meaningful facts after they commit. Stable event IDs make retries safe.

Connect your backend
BACKEND → CMDLINEPOST /ingest/customer-events
{
  "events": [
    {
      "event_id": "signup-1",
      "type": "user.signed_up",
      "person_id": "person-1",
      "occurred_at": "2026-10-01T09:12:00Z",
      "source_url": "https://app.acme.test/users/person-1"
    }
  ]
}
Scoped source tokenSafe to retryCoverage heartbeats

Send current totals as snapshots. Import evidenced history as backfill. Historical follow-up starts as a preview.

CMDLINE · IN DEVELOPMENT

The next step starts
with seeing the story.

Open Cmdline

Customer stories and human follow-up today.
Agent execution comes later.