Send what happened
identify and track over one typed API, across every app you run. Backfill a year of history without emailing a year of users.
Send what happened
identify and track over one typed API, across every app you run. Backfill a year of history without emailing a year of users.
Write the follow-up
defineJourney({ trigger, run }) in your own repo. One run per user, with waits that survive a restart and events delivered as they arrive.
Segments stay current
Rules over traits and event history, recomputed every time a profile changes. Entering or leaving one can start a journey.
Hand it to an agent
Anything the dashboard does, the cow CLI and the MCP server do too, off the same typed API. These docs ship llms.txt and per-page markdown.
Every page is available as markdown: append index.md to its URL (for example /journeys/index.md). The full index is at /llms.txt and the whole site inline at /llms-full.txt. The API contract is also served as OpenAPI at /openapi.json.