← All tutorials
Tutorial

Put an agent on a real job.

Not a chatbot you talk to. An employee with a name, a schedule, a table it keeps up to date, and a hard limit on what it can do without you. We'll build one that runs outbound research every weekday morning — and cannot send a single email.

Agent employees Vibes as job state Plain English Approval-gated
Two and a half minutes, no audio — every step is captioned on screen, and written out below.

What we're building

Say you need to talk to thirty owner-operated distributors and repair shops before you can call a product decision. The work is dull and endless: find companies that actually match, prove they're real, find a human to ask, write something specific enough that they answer, remember who you already wrote to.

All of that except the last mile is delegable. So we hire someone to do it: a Marketing Coordinator called Iris, who wakes up at 9am on weekdays, advances the pipeline she already has, researches a few new prospects, drafts the first emails — and then stops and asks you.

Three pieces, about ten minutes. None of it is code.

Six steps follow. If you'd rather not do them, one prompt does the whole thing →

Step 1

Build the table the job lives in

Open Build & Automate → Vibes and describe what the job needs to keep track of.

Something like:

Track outreach prospects. Each row needs the company, who to talk to and how, the segment, headcount, a live source URL that proves the company is real, where it sits in the pipeline, when to touch it next, and the drafted first email.

Click Build vibe. You get a real table with real columns, a stage board, CSV import and export, and a URL of its own. Name it something you'll recognise later — we called ours Outreach Pipeline.

If you already have a list — a spreadsheet of interview targets, an export from somewhere else — import it now. The agent's job is to advance this table, so anything you seed it with is work it won't have to redo.

Why a table and not a prompt:

A prompt is forgotten the moment the cycle ends. A table is still there tomorrow. This is the difference between an agent that re-derives its job every morning and one that picks up where it left off.

Step 2

Hire someone to own it

Workers → New agent. Describe the job the way you'd describe it to a person you were hiring.

You're not filling in a form. You're saying what outcome you want, what good work looks like, and when you want it. Talavine composes the role from that: the job summary, the schedule, the send limits, the daily budget, and whether the agent is allowed to talk to the outside world at all.

For this job, the built-in Marketing Coordinator role is already shaped right: it runs 0 9 * * 1-5 — weekday mornings — with a $2.50 daily cloud budget and external sending off. Its 30-a-day send limit applies to the reports it files to you; with external sending off, none of them can reach anyone outside.

Give the agent its own mailbox when asked. That mailbox is how it reports to you, and it's the only place its outbound mail can come from.

Step 3

Write the standing instructions

The Instructions tab is the operating manual the agent follows. This is where the job actually gets defined.

Here's the whole delegation contract for this job. Paste it and edit to taste:

Maintain the Outreach Pipeline tracker. Target owner-operated US specialty distributors, equipment dealers, and industrial repair and service shops with 1–100 people. Every cycle, in this order: 1. Advance what already exists. Anything sitting at "Drafted" for more than five business days gets a follow-up proposed. Anything at "Replied" gets a next step proposed the same day. 2. Only then source new prospects, up to ten. Search, then fetch the page. Every row must carry a live source URL you actually fetched and a named person with a real route to reach them. No source, no row. Never invent an email address. 3. For each verified prospect, draft a first touch of about ninety words that references something specific and true from the source page, and asks for twenty minutes about how they track customer promises today. It is an interview request, not a pitch. 4. File one [PROPOSAL] summarising new rows, new drafts, and stale rows that need me. Hard limits: do not send anything externally, do not submit web forms, do not automate LinkedIn. I send everything myself, from my own mailbox.

Three things in there are doing real work. Advance before you source stops the agent producing a fresh list of strangers every morning. No source, no row is what keeps a language model from inventing companies that sound plausible. Never invent an email address is the one that saves you from sending mail into the void.

Step 4

Grant only the capabilities the job needs

Open the agent's Settings tab — it is the last one, after Chat — and find Capabilities. Everything is off until you switch it on.

This job needs three:

  • Browse the web — so it can search for candidates and fetch the page that proves each one is real.
  • Tool-using cycles — so a cycle is a real working session (search, fetch, write to the tracker) instead of a single pass through a prompt.
  • Read inbox — so replies to your outreach become part of the pipeline instead of dying in your inbox.

Notice what you are not granting. Send email replies stays off. That is not a setting we're recommending you leave alone — it's the shape of the job.

Step 5

Wire the tracker to the agent

Still on the Settings tab. This is the step that turns two features into one job.

First switch on Start automatically in the Runtime card. An agent that never starts cannot keep a schedule, and this is the switch people forget.

Then pick Outreach Pipeline from the Pipeline tracker list. The card confirms what it found — how many records the tracker holds, and that the newest 25 are read into every cycle.

From now on, each time the agent wakes up, those rows are injected into its context as Current Pipeline, before it does anything else. It doesn't start from a blank page and try to remember what it was doing. It opens with the work already in front of it: who is stalled, who replied, who is due today.

You can open the same tracker yourself, any time, from the same card. It's your table. The agent is just another writer.

Step 6

The morning it runs

Here is what actually happens at 9am, and where you come in.

1

It reads its own pipeline

Twelve rows, four of them drafted and gone quiet for a week. That's the first thing it sees.

2

It advances what's stalled

Follow-ups drafted for the four that went quiet. Nobody new gets sourced until the existing work has moved.

3

It researches, then verifies

Searches, opens the actual pages, and writes rows only for companies whose page it fetched — with the link saved on the row so you can check.

4

It drafts, and stops

Ninety words each, referencing something true from the page it read. Then a single [PROPOSAL] lands in your inbox and the agent goes back to sleep.

By the time you sit down, the pipeline has already moved: the stalled ones chased, the new ones verified against pages that actually exist, the drafts written. What's left is the ten minutes only you can do — read them, cut the two that are wrong, and send the rest from your own mailbox.

Or skip all six steps

Ask the assistant to build it instead

Everything above is one message. The assistant has a tool for each piece — building the Vibe, hiring the worker, granting the capabilities, wiring the tracker. Open Assistant, paste the whole thing, and answer its questions.

Set up an outreach worker for me, end to end. First, build a Vibe called "Outreach Pipeline" for tracking design-partner prospects. One row per company: the company name, who to talk to and how to reach them, segment, headcount, a source URL that proves the company is real, the stage (sourced / verified / drafted / sent / replied / interview booked / passed), when to touch it next, when I last contacted them, why they're a fit, and the drafted first email. Only show company, who to talk to, source and stage as columns — the rest can live on the record. Then hire a marketing coordinator called Iris to work that pipeline. Her standing instructions: Maintain the Outreach Pipeline tracker. Target owner-operated US specialty distributors, equipment dealers, and industrial repair and service shops with 1–100 people. Every cycle, in this order: (1) advance what already exists — anything sitting at "Drafted" for more than five business days gets a follow-up proposed, and anything at "Replied" gets a next step proposed the same day; (2) only then source new prospects, up to ten — search, then fetch the page, and every row must carry a live source URL you actually fetched and a named person with a real route to reach them, no source no row, and never invent an email address; (3) for each verified prospect, draft a first touch of about ninety words that references something specific and true from the source page and asks for twenty minutes about how they track customer promises today — it is an interview request, not a pitch; (4) file one [PROPOSAL] summarising new rows, new drafts, and stale rows that need me. Run weekday mornings at 9. Hard limits: do not send anything externally, do not submit web forms, do not automate LinkedIn. I send everything myself, from my own mailbox. Ask me for her mailbox address and password rather than guessing them. Give her web browsing, tool-using cycles, and inbox reading — nothing else — and leave external sending off. Last, point her pipeline tracker at the Outreach Pipeline vibe so she picks up where she left off instead of starting cold each morning. Then show me what you set up.

It will stop and ask for the mailbox: a worker gets its own address, and the connection is tested before anything is saved. Paste the password into the chat when it asks — it's pulled out of the message, scrubbed from your chat history, and stored in the worker's own locked credential store.

What you get is the same object you'd have built by hand. Open Workers → Iris and you'll find the instructions, the capabilities, and the pipeline tracker exactly where the steps above put them — so you can read what it did and change your mind about any of it.

The guarantee

Why it can't quietly start emailing strangers

This isn't a promise in a prompt. It's two gates in the code.

The first gate is the role: this agent's operating manual says external sending is off, and the send path refuses any outbound message to an external address when it is.

The second gate holds even if you turn external sending on. A worker may only send to the address that sent it an unread message. It can answer someone who wrote to it. It has no path at all to a recipient it merely researched.

Which means the worst case for a hallucinated prospect is a wrong row in a table you're going to read anyway — not an email with your name on it, sent to someone who never existed.

Make it yours

The same three pieces, a different job

Outbound research is one shape. The pattern is the shape.

The tracker holds… The agent's cycle is… You approve…
Open quotes and the promise made on each Chase what's overdue, draft the nudge The nudge, before it goes
Jobs in the shop and their committed dates Flag anything that will miss, with why What to tell the customer
Suppliers and their price-change notices Watch for new notices, summarise the impact Which ones to act on
Applicants and where each one stands Advance stalled candidates, draft replies Every word that reaches a candidate

Same build every time: a table for the state, an employee for the cadence, standing instructions for the judgement, and a human at the one step that carries your name.

Got Talavine? Hire one this morning.

Open Build & Automate → Vibes, describe the table your job needs, then open Workers and describe who should keep it moving.

Download Talavine