Skip to main content

Queues, Workflows, and Agent Runs

Sean DubbFounder, Easel.sh

Easel now implements the same backends as Vercel Queues, Vercel Workflows, and Agent Runs. Code written with @vercel/queue or the Workflow SDK runs unchanged: there’s no database to bring and nothing to configure, and your functions are authenticated automatically. Queues and Workflows are in beta.

The Workflows page with filters for All workflows, a search field reading Search runs, workflows and hooks, All environments, Last 24 hours and an active Live toggle; status cards counting 1,284 Completed, 7 Errored, 23 Running, 4 Pending and 2 Cancelled; and a runs table listing onboardUser running for 2h 14m, generateReport completed in 18.4s, processOrder completed in 3.2s on Preview, syncInventory errored after 41.0s and an earlier onboardUser run completed in 1d 0h, each with its wrun_ run ID

Every Workflow SDK run shows up on the project’s Workflows page, live, with its status and duration

Queues

Publish to a topic with send from any function, and consume it with a route wrapped in handleCallback and a queue/v2beta trigger in vercel.json. Topics exist on first publish.

  • Every consumer group gets every message, at least once, with retries until it’s processed or expires.
  • Consumer routes have no public URL.
  • A deployment’s consumers only receive messages that deployment published, so a new message format never reaches old code.

Observability → Queues shows messages published and received over time, and for each topic what’s processed, redelivered, and still waiting.

Workflows

Mark a function "use workflow" and its steps "use step", then start a run from any function. Steps retry, sleep() can wait for days without a function running, and hooks pause a run until something outside calls back. Run data is encrypted with a key for each run.

start(workflow, args, { deploymentId: "latest" }) starts a run on the latest deployment in the caller’s environment, so a long-lived workflow can move onto new code. If a deployment with runs in progress is spun down, Easel asks first and can start them again on the latest deployment.

The project’s Workflows page lists runs live, with counts by status. Open a run for its trace of every step, retry, sleep, and hook, and to Wake Up Sleep, Resolve Hook, Re-run on latest, or Cancel it.

Agent Runs

Agents built with durable-harness, fx, or eve that register agentRuns() show up in Observability → Agent Runs, with the same setup as on Vercel. Each session lists its turns, trigger, tokens, and status, and opens to a trace of its model and tool calls and the conversation.

Pricing

Queues bill per API operation, in 4 KiB chunks of each message. Workflows bill at Vercel’s rates, and each plan includes 50,000 Workflow events and 1 GB of Workflow data written a month. The functions that consume messages and run steps bill like any other function.

See Queues and Workflows.

Start deploying

Free to start. Import a repository and get a production URL in a few minutes.