Out of the box, literally
A non-technical user runs a real agent in one click. The entrypoint is the only selector — no install, no config files, no model picker to get wrong.
You built an agent in a repo. GetBoxed turns it into something anyone can run — no checkout, no install, no keys to hand over. It's never been this easy to share.
You don't set anything up. Point GetBoxed at your project and it does the rest, showing you each step as it goes — until there's something real people can use.
Give GetBoxed your project link. It takes an exact snapshot so everyone always runs the same version.
GetBoxed assembles your project on its own, in a safe space — and never touches your private keys while doing it.
GetBoxed finds every agent and workflow your project offers and tells you exactly what each one needs to run.
Every box publishes one honest state — no silent green checkmark hiding a broken build. When it's runnable, anyone you invite opens it and starts in one click; when it isn't, the box says exactly why.
GetBoxed takes the boring, dangerous parts — hosting, key handling, drift between what runs and what's documented — and makes them disappear.
A non-technical user runs a real agent in one click. The entrypoint is the only selector — no install, no config files, no model picker to get wrong.
Keys live only in the platform secret store. They cross into the worker request-scoped, drive one turn, and are forgotten. The worker holds nothing at rest.
The same deployed worker serves discovery and sessions, so the agents you see can never drift from the agents that actually run.
Invite a specific person to run your box under your secrets and budget — they get their own sessions and files, never inspection power. Or share the repo route so anyone stands up their own independent box. Revoke an invite and access cuts off; you keep every record for cost and audit.
Whatever your repo declares through the authoring DSL becomes a shareable entrypoint. Pick one to see what running it looks like.
Author with the @getboxed/core DSL and a folder convention you already know from Next.js. Every definition is a static descriptor carrying metadata only — so discovery reads what your repo offers without ever running your code with real keys.
Drop files in agents/, workflows/, secrets/, and variables/. The folder layout is the config — a build step wires it all together for you.
A SecretRef is metadata at discovery, a real value only at run. Your env binding is never inferred.
Non-secret config like model or base URL ships with a default and can be overridden from the web — no code change.
// a static descriptor, not an initializer
import { defineAgent, defineProvider } from '@getboxed/core'
import { secrets } from '../secrets'
import { vars } from '../variables'
const openai = defineProvider('openai', { apiKey: secrets.openaiApiKey })
export default defineAgent({
name: 'support-agent',
model: vars.model, // ref or literal
instructions: 'Answer order questions.',
tools: [lookupOrder],
})
// declared once, surfaced as Missing Requirements in the UI
import { defineSecrets } from '@getboxed/core'
export const secrets = defineSecrets({
openaiApiKey: {
name: 'OpenAI API key',
env: 'OPENAI_API_KEY', // never inferred
},
})
// non-secret config, overridable from the web — no code change
import { defineVariables } from '@getboxed/core'
export const vars = defineVariables({
model: {
name: 'Model',
default: 'gpt-4o-mini',
},
})
The logged-in dashboard shows what you built, what you were invited to, and what you recently ran — each with the actions that fit your role.
Created sandboxes, invited sandboxes, recent sessions.
Declared secrets surface as missing requirements before any run.
GetBoxed is in active development, turning a repo of agents, workflows, and harnesses into something anyone can run out of the box.