Get Started
AssistJet runs inside a Substrio app. Add it to an app you have, or create a new app for it.
- Open the Substrio dashboard and pick an app.
- Add AssistJet. It reads your app's tools and lists what it found.
- Paste a site address or your docs, or skip this step.
- Press Go Live, or copy one script tag into your site.
<script src="https://assistjet.net/widget.js" data-app="your-app" data-key="your-publishable-key" async></script>Seats
The agent runs in three seats. Each seat is an ordinary caller, and you set the grant for each one.
| Seat | Runs as | Reaches |
|---|---|---|
| Customer | The visitor | Your app's declared tools that the visitor's gate passes |
| Team | The signed-in member | What that member can do |
| Automation | Your app, under your grant | Your app's tools and the built-in tools you allow |
Access
Each area of your app has one setting for each seat, and you can open an area to set a single tool.
| Setting | Meaning |
|---|---|
| Off | The tool is not listed for this seat. |
| Read | Only tools marked read-only can run. |
| Ask First | The agent shows a proposal, and you approve it. |
| Auto | The tool runs with no approval from you. |
Tools that read start on. Tools that write start at Ask First, and a new route appears at Ask First.
Inbox
A chat, an email, a form, a ticket, an automation run, and an approval are all threads. Open a thread from your code with one call.
await substrio.apps.assistjet.inquire({
subject: 'Change my plan',
from: { email: '[email protected]' },
body: 'Can I move to the yearly plan?',
});Automations
An automation is a trigger, some steps, and a seat's grant. Each firing is stored as a thread.
Triggers
- A schedule.
- A record is created or changed.
- A time relative to a record field, such as 24 hours before
starts_at. - A message arrives in the inbox.
- A signed webhook.
- A chat request, or a call from your code.
Steps
| Step | Model use |
|---|---|
| Call a tool | 0 tokens |
| Send a message or email from a template | 0 tokens |
| A condition | 0 tokens |
| Ask you, or get your approval | 0 tokens |
| Agent step in plain instructions | 1 turn or more |
Recipes
Declare a tool named assistjet_recipes that answers a list of automations, and every customer of your app gets them with no setup. AssistJet stores only the edits an owner makes.
Data
Threads, messages, settings, and automations are stored in your app's database, under the _jet.assistjet prefix. They cannot collide with your collections or with another Jet, and they count toward your app's usage.
API
Open a thread from any stack with one request.
POST /v1/_jets/assistjet/inquiries
{
"subject": "Question about pricing",
"from": { "email": "[email protected]" },
"body": "Do you offer yearly plans?"
}Start a run from your code.
await substrio.apps.assistjet.run('event-reminder', { event: event.id });Usage
Plans count turns, one model answer from any seat, and runs, one automation firing. Model use is charged as credits after each answer. See Pricing for each plan's limits.