For the complete documentation index, see llms.txt. This page is also available as Markdown.

Surfaces

One engine, many doors: the app, Slack, email, and the agent-facing surfaces.

There is one engine, and several doors into it. Wherever you meet the platform, it is the same iHarness, the same Growth Brain, and the same record. Acting in one place resolves everywhere.

The doors:

  • The web app, Slack, and email, where your team already works.

  • Inside Snowflake, as a native app in your own account.

  • The agent-facing surfaces: CLI, API, MCP, and your own agents.

Surfaces are an access layer, not a product. You do not move your team into a new tool. The platform shows up where they already work.

The app

The full working surface: Audience, Plays, Pulse, Measurement, Settings, with chat available on every screen. iHarness reads what you are looking at, so "suppress these" means the list in front of you.

Slack

One bot, @iHarness, the same identity you chat with in the app. Ask questions, receive pulses, and approve from the thread. A conversation started in Slack is the same conversation in the app.

Email and the return path

The daily digest arrives by mail, and lifecycle email brings you back when something deserves attention. Returning users land in Pulse, where whatever needs them is already queued: that is the whole returning journey, by design.

Your own agents

The platform is built to be operated by agents as well as people, the same questions asked over a wire instead of a screen. Your agent connects through MCP as a custom connector, with a URL and a key. The procedure is in Bring your own agent.

iHarness's own agents work on the inside, and they are predefined. Your agent connects in from the outside and works with the same context.

CLI and API access: join the waitlist.

Two journeys, every surface

However many doors there are, there are only two journeys: the first-time journey (onboarding, ending at your first live play) and the returning journey (a reason to come back, already queued). After that, the loop orchestrates itself.

Last updated