Order Operations

Catch the Problem OrderBefore the Customer Does

Every shop has a queue of orders that need your attention. AssistJet works through that queue every hour, writes to the customer, and puts the rest in front of you.

Starts From
Every hour, on the hour
Model Use
1 agent step for each order
Your Part
1 approval for each reship

The Customer UsuallyFinds the Problem First

You run a report of orders that have not shipped, open each one, email the warehouse, and write to the customer. The list grows on the days you are out. By then the customer has already written in, and now you have a late order and an unhappy thread.

  • Find the orders that have not movedThe automation
  • Read each order and its shipmentThe agent
  • Write to the customer about the delayThe agent
  • Keep the order status currentThe automation
  • Approve a reship or a refundYou

One Hour of Stuck Orders

Every hour, find orders that have not shipped in two days. Work out what happened, tell the customer, and ask me before you reship anything.

You Set What the Agent May Do

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.

  • orders_stuckThe run lists the late orders.Read
  • shipments_trackThe agent reads the carrier status.Read
  • orders_noteThe agent records what it found.Auto
  • orders_reshipYou approve each reship.Ask First

One run visits up to 1,000 orders. A longer list ends the run with an error that gives the count, so no order is skipped.

Describe It, or Ship It as a Recipe

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.

assistjet_recipes
[
  {
    "id": "stuck-orders",
    "name": "Stuck orders",
    "trigger_kind": "schedule",
    "trigger": {
      "cron": "0 * * * *"
    },
    "steps": [
      {
        "kind": "tool",
        "tool": "orders_stuck",
        "arguments": {
          "days": 2
        },
        "retry": {
          "times": 3,
          "minutes": 2
        }
      },
      {
        "kind": "each",
        "over": "result.items",
        "steps": [
          {
            "kind": "agent",
            "instructions": "Read order {{item.id}} and its shipment. Write a short, honest update for the customer. Call orders_reship if the parcel is lost."
          },
          {
            "kind": "send",
            "to": "{{item.email}}",
            "subject": "An update on your order",
            "text": "{{agent}}"
          }
        ]
      }
    ]
  }
]

What You Can Count On

Retries You Do Not Have to Build

A tool step can try again after a timeout or a server error, with a longer pause each time.

Every Step on the Record

Each run is a thread in your inbox, and each tool call, model, and cost is stored in your database.

Approve the Exact Call

You see the exact call before anything happens. You approve it once, and it runs once.