Dashboard: Creating an Agent
Creating an agent starts with a sentence. At the top of the Agents page, New Agent is a single box that begins I want an agent that... Write what it should do in plain language.
Two pickers stage extras alongside the prompt before you start:
- + Integration — browse the catalog and stage the tools the agent should use: GitHub, Slack, Linear, Stripe, Google Drive, and so on.
- + Skill — stage reusable skills from your organization's catalog.
Add to your team → creates a draft. Valet names the agent from your prompt, works out which integrations and channels it needs, seeds its configuration, and lands you on the draft's Blueprint. Values your prompt named are already filled in — say "post to #engineering" and the Slack channel is set.
A draft is an unpublished working copy. Nothing runs until you deploy. Each agent has at most one draft at a time; if a teammate is already editing, the dashboard says so rather than letting edits collide. A deployed agent with an open draft shows a Resume / Discard banner on its Blueprint.
The prompt box on valet.dev feeds the same flow, and so does a share link (valet.dev/s/<id>) someone sends you — it opens a draft shaped like their agent, in your own organization, connected to your own accounts.
The Blueprint
The Blueprint is the agent's home page and the place you finish setting it up. It has six sections — the six parts of every agent. Each is a list with a detail pane beside it. Changes apply immediately; there is no save button.
Objectives
What your agent does, in its own words. Valet drafts this from your prompt on the first deploy. To change it later, use Revise with chat rather than editing files — see Interacting with Your Agent.
Skills
Reusable capabilities the agent applies to its work, attached from your organization's skill catalog and detachable when it no longer needs them. Skills your prompt implies show up as suggestions you can attach or dismiss. The org-level Integrations page manages the catalog itself — editing a skill, checking it for updates, and re-snapshotting it from source.
Integrations
Each integration is listed with its state: Connected or Not connected. Connecting an OAuth integration opens the provider's consent screen in a popup and asks about scope — this agent only, or the whole organization so other agents can share the connection. A connected integration's pane offers configuration, credential rotation, Reauthorize, and Remove. Google Drive adds per-file access grants through a file picker.
+ Add integration searches the whole catalog inline. OAuth and command integrations add in one click, API-key integrations ask for the credential, and you can point at a custom MCP server by URL.
Channels
The ways people reach your agent. + Add channel offers three:
- Slack — an org admin connects Slack once, then each agent gets its own bot through an OAuth popup. The bot name defaults to the agent's name and is editable. The pane lists the conversations the bot is in and how active it is in each one: mentions, emails, or all messages.
- MCP server — expose the agent as an MCP server so other tools and agents can call it. One click, no auth; the pane shows the server URL and mints access tokens.
- Email mailbox — pick the local part of
<name>@<org>.valet.run. The pane shows the address and whether it is ready. An agent may own several mailboxes.
You can always talk to an agent in the dashboard without setting up any channel. Channels created from the CLI — webhooks, Telegram, cron — appear in this list too.
Schedules & Triggers
When the agent runs on its own. No cron syntax required:
- Schedule — daily, weekdays, weekly, monthly, or hourly with a time picker; or a heartbeat every N minutes or hours. Times follow your organization's timezone.
- Webhook — a name and a verification policy (signed HMAC-SHA256, or none). Creating one shows the minted URL and a one-time signing secret.
- Connector event — fire on events from an app the agent is already connected to.
Configuration
The values your agent reads at runtime — a region, a channel name, a customer identifier. Rows the agent expects but that have no value yet show a Needs setup pill. It is a nudge, never a deploy blocker. Secret values, like API tokens, are managed from the CLI and never displayed in the dashboard.
Deploying for the first time
A never-deployed draft carries a checklist — "Finish the manifest to deploy to your team" — with a progress bar and a marker per section. Everything saves as you go.
Deploy is one action, and unfinished setup does not block it: the first click on an incomplete draft arms Deploy anyway?, so you can ship now and connect the rest later. On the first deploy Valet drafts the agent's instructions from your prompt and configuration, then builds and starts it. When it is running, the header shows a status pill like ● Running v1.
The header also holds inline rename and a menu with Share agent, Restart agent, and Destroy agent.
Before your first agent
New accounts walk a short onboarding: your profile, then creating an organization — the name becomes part of your URLs, so it is lowercase letters, numbers, and hyphens — then billing. After that you land in the dashboard, ready to publish an artifact or describe an agent.