---
title: "Where to Go Next"
description: "Recap the dispatcher you built across the 'agent is a directory' steps, and the three eve directories you didn't need yet: connections, subagents, and schedules."
canonical_url: "https://vercel.com/academy/building-agents-with-eve/where-to-go-next"
md_url: "https://vercel.com/academy/building-agents-with-eve/where-to-go-next.md"
docset_id: "vercel-academy"
doc_version: "1.0"
last_updated: "2026-08-08T22:50:09.245Z"
content_type: "lesson"
course: "building-agents-with-eve"
course_title: "Building Agents with eve"
prerequisites:  []
---

<agent-instructions>
Vercel Academy — structured learning, not reference docs.
Lessons are sequenced.
Adapt commands to the human's actual environment (OS, package manager, shell, editor) — detect from project context or ask, don't assume.
The lesson shows one path; if the human's project diverges, adapt concepts to their setup.
Preserve the learning goal over literal steps.
Quizzes are pedagogical — engage, don't spoil.
Quiz answers are included for your reference.
</agent-instructions>

# Where to Go Next

# Where to Go Next

The Spoke & Mirror dispatcher started as a generic persona in a terminal. It now quotes from a catalog, remembers bikes, chooses a playbook by customer tier, and pauses expensive bookings for approval. Customers can reach it on the web or in Slack, and production routes enforce fail-closed auth.

You built each capability by adding a file in a predictable place. That is the idea to carry out of this course: **an agent is a directory.**

## What you built, by the folders

The dispatcher walked the first six steps of that idea:

1. **Pinned a model** in `agent/agent.ts`.
2. **Started with one file**, the persona in `agent/instructions.md`.
3. **Taught it procedures** with a dynamic skill in `agent/skills/`.
4. **Gave it hands** with five tools in `agent/tools/`.
5. **Let it run code safely** by seeding the `agent/sandbox/` workspace.
6. **Put it where people are** with `agent/channels/` (web + Slack) and real auth.

eve supplied the approval queue, streaming protocol, Slack credential handling, and session store. You wrote the shop's behavior.

## What eve was running underneath

- **AI Gateway** routed every model call. That `anthropic/claude-opus-4.8` id you pinned back in 1.1 is a gateway route, which is why you never juggled a provider key.
- **Workflows** made runs durable. A workflow preserved the $180 booking while it waited for approval in Section 3, then resumed it from the exact step after a yes.
- **Sandbox** kept execution isolated. The workspace you seeded in Section 2 ran in an isolated environment.
- **Connect** brokered access. Slack reached the agent through Connect's scoped credentials, so tokens never sat in your source.

You define the agent as a directory, and eve assembles the production machinery underneath it. **You define the agent; Vercel runs it.**

## The three folders the shop didn't need (yet)

This bike shop did not need three of eve's directories. Add one when the corresponding need appears:

**`connections/`: when the agent needs a system you don't own.** Right now the catalog is a local file. The day the shop wants live parts availability from a supplier, you'd add a connection to that supplier's MCP or API. The model gets the supplier's tools, and eve brokers the credentials so they never reach the model. Reach for it the first time you think "the agent needs data from *their* system, not ours."

**`subagents/`: when one job deserves its own specialist.** Our dispatcher is a generalist. A difficult intermittent-creak diagnosis might benefit from a focused prompt and narrower toolset. Put a diagnosis specialist in `agent/subagents/` and let the dispatcher delegate to it. The child runs in its own context and reports back. Use a subagent when the task needs a different set of instructions and tools.

**`schedules/`: when the agent should act on its own clock.** Everything you built waits to be asked. A schedule lets the agent start work on a cadence: a nightly sweep that texts customers whose bikes are ready for pickup, or a Monday digest of the week's bookings to the shop's Slack. One file in `agent/schedules/` with a cron expression. Reach for it the first time you catch yourself wanting the agent to *initiate*.

\*\*Note: Follow the directory convention\*\*

Each capability starts with a file in its matching folder. Open `node_modules/eve/docs/` for the installed version's details and examples.

## Ship something

To keep exploring, change the shop. Add a `report_damage` tool that files a photo, give pros a `bulk_book` skill, or schedule reminders for overdue pickups.

The complete dispatcher lives at [vercel-labs/bike-shop-agent](https://github.com/vercel-labs/bike-shop-agent). Diff your build against it if anything drifted, or fork it as the starting point for your own.

You can now ship a durable agent that people reach through authenticated channels, and you can inspect its behavior by listing a directory. Build one that makes your work easier.


---

[Full course index](/academy/llms.txt) · [Sitemap](/academy/sitemap.md)
