---
title: Scheduling Work with eve
product: vercel
url: /docs/schedules/agents/eve
canonical_url: "https://vercel.com/docs/schedules/agents/eve"
last_updated: 2026-11-04
type: how-to
prerequisites:
  - /docs/schedules/agents
  - /docs/schedules
related:
  - /docs/agent-harnesses/eve
summary: Let an eve agent create recurring and one-time schedules for its users with defineDynamicSchedules.
install_vercel_plugin: npx plugins add vercel/vercel-plugin
---

# Scheduling Work with eve

[eve](/docs/agent-harnesses/eve) has dynamic scheduling built in, and it runs on Vercel Schedules. Export a `defineDynamicSchedules` definition from `agent/schedules/`. eve gives the model tools to create, list, update, and cancel schedules, and calls `run` each time one fires.

```ts filename="agent/schedules/reminders.ts"
import { defineDynamicSchedules } from 'eve/experimental/schedules';
import { z } from 'zod';
import slack from '../channels/slack';
import { resolveCurrentUser, resolveDm } from '../lib/users';

export default defineDynamicSchedules({
  description: "Schedule tasks that report back in the creator's Slack DM.",
  inputSchema: z.object({ task: z.string().min(1).max(2000) }).strict(),
  // Look up the creator's current access before each run. Return null to deny.
  auth: ({ principal }) => resolveCurrentUser(principal),
  async run({ payload, occurrence, to, auth }) {
    await to(slack, await resolveDm(auth)).send(`Do this task now: ${payload.task}`, {
      // Runs can repeat; the same key reaches the session the first attempt started.
      idempotencyKey: `${occurrence.executionId}:task`,
    });
  },
});
```

The file path names the definition, so `agent/schedules/reminders.ts` gives the model tools like `schedule__reminders__create`. Schedules are scoped to the user who created them, and changes need the user's approval by default.

The model picks the timing:

| Expression | Example                                                                    |
| ---------- | -------------------------------------------------------------------------- |
| `delay`    | `{ type: 'delay', minutes: 30 }`                                           |
| `single`   | `{ type: 'single', at: '2026-11-15T09:00', timezone: 'America/New_York' }` |
| `cron`     | `{ type: 'cron', cron: '0 9 * * 1-5', timezone: 'America/New_York' }`      |

## Related

- [Dynamic schedules in eve](https://eve.dev/docs/experimental/dynamic-schedules)
- [eve on Vercel](/docs/agent-harnesses/eve)


---

[View full sitemap](/docs/sitemap)


If you encounter incorrect information, can’t find what you need, need a capability Vercel doesn’t currently offer, or have any other feedback to report, please do it by following the instructions at https://vercel.com/feedback.md.
