Approve the Exact Call
You see the exact call before anything happens. You approve it once, and it runs once.
Fraud and Risk Review
A rule that flags too much buries your team, and a rule that flags too little costs you money. AssistJet reads each flagged order against the customer's history and shows you the exact call to approve.
A rule flags an order. You open the customer, the payment, and the last ten orders in three tabs, then leave a note you will never find again. When an auditor asks why that order went through, you have to remember the answer.
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.
customers_historyThe agent reads past orders.Readpayments_getThe agent reads the payment.Readorders_holdThe run holds the order.Autoorders_releaseYou approve the release.Ask FirstTo set a tool that cannot be undone to Auto, you type its name when the page asks.
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": "risk-review",
"name": "Risk review",
"trigger_kind": "record",
"trigger": {
"collection": "orders",
"event": "insert",
"where": {
"field": "record.total",
"op": "over",
"value": 500
}
},
"steps": [
{
"kind": "tool",
"tool": "orders_hold",
"arguments": {
"id": "{{record.id}}"
}
},
{
"kind": "agent",
"instructions": "Read this order and the customer history. List anything that looks wrong, in plain words."
},
{
"kind": "ask",
"text": "Release order {{record.id}} for {{record.total}}? {{agent}}",
"timeout_minutes": 240,
"else": [
{
"kind": "send",
"via": "slack",
"text": "Order {{record.id}} is still on hold. Your team declined it, or no answer came in four hours."
}
]
},
{
"kind": "tool",
"tool": "orders_release",
"arguments": {
"id": "{{record.id}}"
}
}
]
}
] You see the exact call before anything happens. You approve it once, and it runs once.
A tool runs only when the level and the route gate both admit the caller, so a message cannot widen them.
Each run is a thread in your inbox, and each tool call, model, and cost is stored in your database.