Skip to content

Life of a task

One renewal notice from the morning it is due to the verdict that bills it, through every part of an agent product.

A Task is one piece of work an agent takes on for one Customer. This chapter follows one renewal notice that Harbor Residential's agent sends, from the morning it is due to the verdict that bills it.

The morning it is due

Harbor Residential's agent runs on its Role's daily schedule, inside Harbor Residential's Tenant. At 08:00 in the property manager's timezone it lists every lease that ends in 60 days. One is lease_4loEed1JG4, for unit 5C, ending on 2026-11-05.

The list reads Harbor Residential's records only. The agent has no path to another Customer's leases, because its Tenant is the only namespace it can address.

Draft, check, send

The agent drafts the notice from the lease and from what its Memory holds about this building. Before anything leaves, the outbound Message passes the Guard: tone, AI disclosure, consent and claims.

StepVerbWhat it records
Draft the noticeLease.notifyThe notice, with the end date and the rent the manager set
Pass the GuardEvery outbound MessageEach check and its result
Send itMessage.createThe email from renewals@harbor.leaseline.app
Grade itAction.evaluateThe Evaluator's verdict and its reasons

The Mailbox belongs to Harbor Residential's Tenant. A reply reaches the same agent, in the same thread.

A question that needs a yes

The resident replies and asks for $25 off a 13-month renewal. The agent answers questions on its own, but a rent the manager has not set is a price Action. Harbor Residential approves every one.

The offer waits as an Approval in Harbor Residential's Portal, assigned to Ines Duarte. She approves it, and the agent sends the counter-offer. Leaseline never sees the Approval: approvals per customer covers why.

The record it leaves

Every step is an Action that says who did it and for whom. The builder reads it on api.sb:

JSON
{
  "$id": "https://api.sb/leaseline.app/actions/act_br07HsG8MG",
  "$type": "Action",
  "status": "done",
  "by": "agent_ONES1oEBjR",
  "for": "cus_BNY3PShL26",
  "via": "email",
  "thing": "lease_4loEed1JG4",
  "createdAt": "2026-10-06T08:02:00Z"
}

Harbor Residential reads the same Action in its Portal, and its own code reads it from api.leaseline.app with a leaseline_sk_live_ key. Traces shows how to follow a Task across its Actions.

Billed on the verdict

The Evaluator grades the notice against its rubric: the end date and the new rent, one clear next step, no threat. A pass makes the notice billable work. A fail sends it back for a redraft, and Harbor Residential pays nothing for the failed draft.

At the month's end, the agent's report lists notices sent and passed, Approvals asked for, and replies answered. The same numbers sit live in the Portal.

Next

The lifecycle page follows the agent product itself, from its file to its retirement.