Skip to content

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.

  1. Install and run setup:
bash
npm install configure
npx configure setup
  1. Add the hosted browser script and a Personalization entry or Link button.
  2. Listen for configure:linked and send the returned token to your backend.
  3. On the backend, create configure.profile({ token }).
  4. Read the profile, pass read.profile.format() into the model, expose profile.tools(), execute Configure tool calls with profile.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-agent

Then 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_read
  • configure_profile_search
  • configure_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:linked token 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.

Identity layer for AI agents