Configure Docs
Configure is the user-controlled identity and profile runtime for AI agents. Users approve access through Configure Link, then your server reads approved profile context, gives the model Configure tools, executes tool calls through the SDK, and commits bounded turn material after read-backed turns.
Most teams should start by integrating Configure into an existing agent. Build a new Configure agent only when you want the packaged chat shell.
Choose A Path
Integrate An Existing Agent
Use this when your product already has an agent, chat surface, or model loop.
- Install and run setup:
bash
npm install configure
npx configure setup- Add the hosted browser script and a Personalization entry or Link button.
- Listen for
configure:linkedand send the returnedtokento your backend. - On the backend, create
configure.profile({ token }). - Read the profile, pass
read.profile.format()into the model, exposeprofile.tools(), execute Configure tool calls withprofile.executeTool(), and commit after the turn.
Build A New Agent
Use this only when you want a fresh Configure-backed chat shell.
bash
npm install configure
npx configure setup
cp -R node_modules/configure/template ./my-agentThen customize .env, public/brand.css, public/brand.js, and server.mjs.
Canonical Loop
ts
import { Configure } from "configure";
const configure = new Configure({
apiKey: process.env.CONFIGURE_API_KEY,
agent: process.env.CONFIGURE_AGENT,
});
const profile = configure.profile({ token });
const read = await profile.read({
sections: ["identity", "preferences", "summary"],
});
const response = await model.run({
messages: [
{ role: "system", content: read.profile.format({ guidelines: true }) },
...messages,
],
tools: profile.tools(),
executeTool: profile.executeTool,
});
await profile.commit({
messages,
response,
memories: response.memoryCandidates,
});Default model tools:
configure_profile_readconfigure_profile_searchconfigure_profile_remember
Connector and action tools are opt-in per turn:
ts
const tools = profile.tools({
connectors: ["gmail", "calendar"],
actions: ["email.send"],
});Gmail, Calendar, Drive, and Notion are connectors. Model-callable functions are tools.
Key Boundaries
- Secret keys (
sk_) stay server-side. - Publishable keys (
pk_) are for browser Link and component surfaces. - The
configure:linkedtoken goes to your backend. Do not place it in the model prompt. - The model receives formatted profile context and Configure tool definitions.
- API keys resolve the acting agent for writes. Do not let request bodies, display names, or user input choose storage paths.