CLAUDE.md is the prompt; skills, slash commands and sub-agents sit next to it under .claude/. Every time the agent runs, DataGen starts a sandbox from the agent’s environment, loads its files, gives it the credentials, tools, knowledge and data you connected, and lets a harness drive the conversation.
What an agent is made of
An agent combines the three foundation components with the building blocks you attach to it.
Anything you leave unset uses the workspace default: the default vault and tool bundle, the default sandbox environment, and the built-in harness with the system default model.
Where an agent’s files live
An agent’s files come from one of two sources. The source decides how you edit them.Workspace storage
Agents you create with Create New or Upload. Edit them in the Agent Builder, where every Publish creates a version you can roll back to.
GitHub repository
Agents you add with Connect repo. One repository is one agent; you edit by pushing to the repo, and DataGen reads the checkout on each run.
How a run works
1
Something triggers the agent
A chat message, an Agent API call, an automation’s schedule or webhook, a message on a channel such as Slack or email, a public chat link, or another agent.
2
DataGen picks the model
If the harness pins a provider model, that model always wins. Otherwise the first one set is used: the model named in the API call, the automation’s model, the agent’s default model, then the system default.
3
The sandbox starts
The sandbox boots from the agent’s sandbox environment. The agent’s files are loaded, each connected knowledge base is mounted read-only at
/mnt/context/contexts/<slug>/, and vault credentials are made available to tools and code.4
The harness runs the turn
The harness follows
CLAUDE.md, loads skills as needed, and calls the tools in the agent’s tool bundle. Connected analytic models are queried with the datagen-data CLI.5
The reply goes back
The answer returns to where the run started: the chat, the API response, the Slack or Teams thread, the email reply, or the automation’s destinations. Every run is recorded in Agent Logs.
Enabled and disabled
An agent answers only while it is Enabled. Turning it off with the status pill on the agent page stops it everywhere: chat, API calls, public links, email, chat apps, rooms and automations. Test run in the builder keeps working, so you can keep building a disabled agent. Publishing from the builder enables the agent.Who can do what
Next
Build an agent
Create an agent in the Agent Builder, fork a template, or connect a GitHub repo
Give it tools
Vaults, tool bundles, MCP servers, custom tools and the DataGen MCP gateway