A Spending Cap on Every Job
Set a cap on an automation, and it stops for the month once its model use reaches that amount.
Back-Office Data Work
Every business has a list of small data jobs that never reach the top of your day. AssistJet fills in the missing field, reads the vendor email into a record, and flags what it cannot settle, on a schedule you set.
You copy an invoice from an email into your app. You notice two records for one customer and leave them, because a merge feels risky. A field goes missing on a few hundred records, and every report built on it is a little wrong from then on.
Each tool has one level for each seat, and your rules are enforced in code before the call. These tools are examples, and your own list comes from your app.
records_missingThe run lists the gaps.Readdocuments_readThe agent reads the attachments.Readrecords_updateThe run writes a filled field.Autorecords_mergeYou approve each merge.Ask FirstSet a monthly cap on the automation, and it stops for the month once its model use reaches that amount.
Write the job in plain words, and the agent drafts these steps as a card. If you build apps for other people, ship the same steps as a recipe, and every customer gets the job with no setup.
[
{
"id": "fill-gaps",
"name": "Fill missing fields",
"trigger_kind": "schedule",
"trigger": {
"cron": "0 2 * * *"
},
"steps": [
{
"kind": "tool",
"tool": "records_missing",
"arguments": {
"limit": 20
}
},
{
"kind": "each",
"over": "result.items",
"steps": [
{
"kind": "agent",
"instructions": "Fill in the missing fields of record {{item.id}} from its attached documents. Leave a field empty when you are not sure. Answer with JSON."
},
{
"kind": "tool",
"tool": "records_update",
"arguments": {
"id": "{{item.id}}",
"fields": "{{agent}}"
},
"retry": {
"times": 3,
"minutes": 2
}
}
]
}
]
}
] Set a cap on an automation, and it stops for the month once its model use reaches that amount.
Try It runs the steps in a sandbox on a copy of your data. A trial sends no mail and leaves your live app alone.
A tool step can try again after a timeout or a server error, with a longer pause each time.