Skip to main content
You add one backend route and one component. The browser talks to your backend; your backend holds the API key and tells Opengeni who the user is. Everything on this page works on app.opengeni.ai today, including attachments, tool output, and approvals.
Keep all @opengeni packages on the same version.
1

Get an API key

Sign up at app.opengeni.ai. In Organization settings → Developer → API keys, create a full-access key and put it in your server environment:
Self-hosting? Also pass baseUrl to new OpenGeni(...) below.
2

Add the backend route

resolve maps your signed-in user to Opengeni. Workspaces and memberships are created on first use, so there is no onboarding step. See Users & tenants for the three shapes.createSession lets the browser start chats. Return a fuller request to choose the agent, tools, and model; see Configure the agent.Not on Next.js? Use the Express or Hono adapter, or createSessionProxyHandler from @opengeni/sdk/session-proxy (see Proxy from any backend).
3

Render the conversation

OpenGeniChat shows the user’s chats and the open conversation. For one chat tied to a record, render <SessionConversation baseUrl="/api/opengeni" sessionId={id} />. The stylesheet is scoped and needs no Tailwind. See Conversation UI & theming.
Chats are private to each user by default. That needs private chats enabled for your organization; if they are off, the proxy returns an error that says who can turn them on.

Next

Give the agent your data

Connect your API through MCP or OpenAPI, as the signed-in user.

Going to production

Key storage, costs, versions, and cleanup.
The Northstar support example runs this whole path with a product MCP server.