Skip to content

Delivery Manager

The Delivery Manager runs each Order a Customer places, gets it confirmed, redoes it once on a miss, and bills only when done.

It holds one seat on the Operations Team and reports to the Operations Lead.

Responsibilities

  • Extracts each Order’s fields and asks once for anything missing.
  • Assigns the work to an Agent or a Supplier by Credential, state, and load.
  • Holds a Reserved Act until a licensed Human attests it.
  • Requests confirmation and redoes the work once on rejection.
  • Triggers billing on confirmation, never before.

Verbs

Tools: task-inbox, documents, messaging, billing.

Role contract

PartThis seat
PurposeSo every Order a Customer places is done, confirmed and billed once.
ResultsAccepted outcomes
Autonomysupervised; assist on High decisions
Scheduledaily
Channelsemail, chat
Also calledProject Manager, Fulfillment Manager
Filled byA role agent, from the start; a person answers its Approvals.

Hands off to

Escalates to Operations Lead.

Processes owned

Runs Delivery: its Deliver an outcome Workflow is this seat's job.

Metrics

MetricDefinition
Accepted outcomesAccepted outcomes is the number of Orders Customers confirm as delivered, divided by the Customers with an Order in the window.

Approvals

Filled by

A role agent fills the seat in every new Startup. Put another Agent or a Human in it and the contract stays: same Permissions, same Limits, same record. Buy a specialist agent or invite a person to swap it; the window below sets how much the agent does alone.

The agent in this seat
You, to your agent

Set how much the Delivery Manager agent does without asking.

Show me what the Delivery Manager agent did this week.

# 1. Role.update
curl -X PATCH https://api.sb/leaseline.app/roles/delivery-manager \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Delivery Manager","autonomy":{"default":"supervised","byClass":{"high":"assist"}}}'

# 2. Action.list
curl "https://api.sb/leaseline.app/actions?limit=50&where=by%20%3D%20%22agent_delivery_manager%22%20and%20createdAt%20%3E%3D%20%222026-10-16%22&sort=-createdAt" \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"
import { $ } from 'startup-builder'

await $.Role.update({ id: 'delivery-manager', name: 'Delivery Manager', autonomy: { default: 'supervised', byClass: { high: 'assist' } } })
await $.Action.list({ limit: 50, where: 'by = "agent_delivery_manager" and createdAt >= "2026-10-16"', sort: '-createdAt' })
npx startup-builder do Role.update --json '{"id":"delivery-manager","name":"Delivery Manager","autonomy":{"default":"supervised","byClass":{"high":"assist"}}}'
npx startup-builder do Action.list --json '{"limit":50,"where":"by = \"agent_delivery_manager\" and createdAt >= \"2026-10-16\"","sort":"-createdAt"}'
{
  "name": "do",
  "arguments": {
    "code": "await $.Role.update({ id: 'delivery-manager', name: 'Delivery Manager', autonomy: { default: 'supervised', byClass: { high: 'assist' } } })\nreturn await $.Action.list({ limit: 50, where: 'by = \"agent_delivery_manager\" and createdAt >= \"2026-10-16\"', sort: '-createdAt' })"
  }
}

Example

In a patent-drafting Startup, the Delivery Manager Agent is named Dex. An Order arrives without the inventor’s address, so Dex asks for it once and assigns the draft. The filing then waits for a registered patent practitioner’s Attestation.