agent object:
createSession hook, in the chat facade, on schedules, as the workspace default, and for a running session. Every session reports what it resolved to.
Agent settings need the deployment switch
OPENGENI_AGENT_CONFIG_ADMISSION_ENABLED. When it is
off, getClientConfig() reports agentConfig.enabled: false and a request with agent is
refused with agent_config_not_enabled. Use firstPartyMcpTools: [] and tools to narrow an
agent until then.Capabilities
Start from"all" (everything the workspace offers, which is what a session without agent gets) or "none" (the session’s own tools plus asking questions and reading Skills). Then switch single capabilities:
Some tools are never toggled:
- Your own tools. MCP servers you attach to the session and integrations you name in
toolsstay available under"none". - Sandbox tools. The shell and file editing come with a sandbox.
sandboxBackend: "none"removes them. - Runtime mechanics. Waiting for input, reading background commands, and titling the session.
agent.unavailable, and asking for it is refused with agent_capability_unavailable.
Identity and instructions
identityreplaces how OpenGeni introduces the agent: its name, your product, its domain and voice. Leave it out to use the workspace’s identity, or OpenGeni’s.instructionsare the session’s instructions: rules for this agent.
modelContext, not in instructions.
Renderer
"opengeni"forOpenGeniChatandSessionConversation: the agent can link files and artifacts and show visuals inline."markdown"for your own chat UI, Slack, or email: ordinary Markdown links only. The chat facade uses it by default.
Where it goes
goals on.