
Try it now
What you can ask it to do
Set up an agent
“Create an agent that reacts to Slack mentions and drafts a reply.” The Concierge creates the agent, picks tool sources, deploys the trigger, returns the test command.
Connect an integration
“Connect my Slack workspace.” The Concierge mints a Pipedream Connect URL, returns it for you to open, and reports back when the OAuth lands.
Diagnose a quiet agent
“My triage agent fires but doesn’t do anything — why?” The Concierge pulls recent runs, reads the tool-resolution trace, points to the missing tool name or stale allowlist entry.
Mint API keys
“Give my teammate access to my Concierge.” The Concierge mints a shared key, explains the difference between invoke and delegate keys, surfaces the plaintext once.
Tune an existing agent
“Switch the support agent to Sonnet, raise the turn limit to 15, and add the Linear search tools.” Partial updates — only the fields you mention change.
Pause / inspect triggers
“Pause the GitHub-issues trigger overnight; resume at 9am.” Pause and resume are reversible Concierge actions. Permanent removal stays a CLI command on purpose.
Two endpoints
Both endpoints are scoped to a sandbox you own or have a connection grant on.| Endpoint | Shape | When to use |
|---|---|---|
POST /storage/sandboxes/{sandbox_id}/concierge/test | One-shot, synchronous JSON response | Scripts, batch jobs, one-line answers |
POST /storage/sandboxes/{sandbox_id}/concierge/chat | SSE-streamed, multi-turn (session_id continues) | Interactive UIs, conversational management, anything multi-step |
One-shot turn (/test)
run_id, status, output_text, token counts, and duration_ms. Use this when you don’t need streaming or multi-turn.
Streaming chat (/chat)
| Event | Payload | When |
|---|---|---|
run_started | { run_id } | First frame, after the run row is created. |
agent_text_delta | { text } | Incremental model output. Streams as it generates. |
agent_tool_call | { call_id, name, arguments } | Each management tool the Concierge invokes. |
agent_tool_result | { call_id, name, result, error } | Each tool’s return value. |
agent_finish | { stop_reason, session_id, usage, run_id } | Terminal frame on success. Capture session_id to continue. |
agent_error | { message, type, run_id } | Replaces agent_finish on failure. |
cancelled server-side — no orphaned billing.
Example prompts
Drop any of these into themessage field:
- “List my sandboxes.”
- “Create an agent named
supportthat runs claude-sonnet-4-6 with a 15-turn cap.” - “Connect my Slack workspace.”
- “What triggers fire for the
supportagent? Which ones have been quiet?” - “Mint a delegate key for
supportlabeled ‘embed-on-marketing-site’.” - “Pause every trigger on the
triageagent until I resume it.” - “Test the
intakeagent with this fake event payload:”{ "title": "...", "body": "..." } - “My agent isn’t using tools — what’s wrong?” (reads
tool_resolution_traceand points to the gap)
Permissions
The Concierge respects the sandbox’s role model:| Your role | What you see |
|---|---|
| Owner of the sandbox | Read tools + reversible mutations (28 tools) |
| Editor via connection grant | Read tools + reversible mutations (28 tools) |
| Viewer via connection grant | Read tools only (13 tools); mutating tools are hidden |
What the Concierge won’t do
Destructive operations are intentionally CLI-only:- Archive / destroy a sandbox
- Delete an agent or source
- Disconnect a trigger permanently
- Revoke an API key
copass … command for these, but it won’t run them. The asymmetry is the gate — a human typing a CLI command is the line that prevents a chat turn from accidentally deleting your production agent.
Tool catalog at a glance
The Concierge has 28 tools. You don’t need to memorize them — natural language is the interface — but here’s the lay of the land:| Category | Read tools | Mutating tools |
|---|---|---|
| Sandboxes | list_sandboxes | — |
| Sources | list_sources, get_source | provision_source, update_source |
| Agents | list_agents, get_agent | create_agent, update_agent_prompt, update_agent_tools, update_agent_model_settings, update_agent_tool_sources, test_agent |
| Triggers | list_triggers | create_trigger, update_trigger, pause_trigger, resume_trigger |
| Runs | list_runs, get_run_trace | — |
| Integrations | list_apps, list_trigger_components, list_connected_accounts | start_integration_connect |
| API keys | list_api_keys | mint_agent_invoke_key, mint_agent_delegate_key |
| Agent tools | list_agent_tools | — |
Bootstrap (once)
Before your first call you need a sandbox and an API key — same prerequisites as everything else:Next steps
Quickstart (manual)
Prefer to drive it yourself? The CLI/SDK quickstart shows the same lifecycle without the agent.
Agent Router
Run your own agents (not just the Concierge) on Anthropic or Google with one provider-neutral API.
Sandboxes
The tenancy model the Concierge operates inside.
Cookbooks
Multi-integration recipes — what to build with the agents the Concierge sets up.

