Skip to content

Atlas — Reference Agent

Atlas is a travel planning agent built with Configure. It demonstrates the fuller production integration pattern: authentication, profile-based personalization, tool calling, memory extraction, and profile seeding.

Live demo: atlas.configure.dev

What Atlas demonstrates

PatternHow Atlas does it
AuthConfigure.auth() hosted auth surface handles phone OTP in a secure iframe; backend receives the agent-scoped token
Profile → system promptclient.profile.get(token, userId, { sections })profile.format({ guidelines: true }) → injected into Anthropic system prompt
Tool callingCONFIGURE_TOOLS passed to Claude. Full executeTool() switch handles all 16 tools.
Agentic loopStreams responses via SSE. Continues looping while the LLM requests tools.
Memory extractionFire-and-forget ingest() after every conversation with custom memoryCriteria
Profile seedingFrontend uses Configure.connections() and Configure.memoryImport() hosted surfaces
Error handlingUses classifyError() for user-safe error messages from any source

Key code paths

System prompt assembly (server.ts ~line 242):

typescript
const profile = await client.profile.get(token, userId, {
  sections: ['identity', 'summary', 'integrations'],
});
const context = profile.format({ guidelines: true });
const systemPrompt = `${ATLAS_DESCRIPTION}\n\n${context}`;

LLM call (server.ts ~line 261):

typescript
const stream = anthropic.messages.stream({
  model: 'claude-sonnet-4-6',
  max_tokens: 4096,
  system: systemPrompt,
  tools: [...CONFIGURE_TOOLS, ...UI_TOOLS],
  messages,
});

Building your own

Atlas is not the canonical starter template. Start new apps from the packaged Configure template (node_modules/configure/template/). Use Atlas when you need the fuller production reference with persistence and a richer product shell.

For adding Configure to an existing project, see the Quick Start.

Identity layer for AI agents