Customer Onboarding

Get Every New AccountAll the Way Set Up

A new account that stalls on setup rarely asks for help. AssistJet reads where each account stopped, sends the next step, and tells you when the account stays stuck.

Starts From
A new record in accounts
Model Use
1 agent step
Your Part
1 question when an account stays stuck

Twenty Accounts Is Easy.Two Thousand Is Not.

You export the new signups on Monday, open each account, and work out who finished setup. The ones who stopped get a template email, often a week too late. You can do this well for twenty accounts, and you cannot do it for two thousand.

  • Read how far a new account gotThe automation
  • Write a note about the step they skippedThe agent
  • Send it a day after signupThe automation
  • Read the account again three days laterThe automation
  • Call the account that stayed stuckYou

One New Account, Step by Step

A day after a customer signs up, see how far they got. If they stopped, write to them about that step, and tell me if they are still stuck three days later.

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.

  • accounts_getThe agent reads the account.Read
  • accounts_progressThe run reads the finished steps.Read
  • accounts_tagThe run marks the stage.Auto
  • trials_extendYou approve any extension.Ask First

Pair this job with a tour in the widget, and each new visitor sees the steps inside your app once.

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": "new-account",
    "name": "New account setup",
    "trigger_kind": "record",
    "trigger": {
      "collection": "accounts",
      "event": "insert"
    },
    "steps": [
      {
        "kind": "delay",
        "minutes": 1440
      },
      {
        "kind": "tool",
        "tool": "accounts_progress",
        "arguments": {
          "id": "{{record.id}}"
        }
      },
      {
        "kind": "condition",
        "field": "result.finished",
        "op": "equals",
        "value": false
      },
      {
        "kind": "agent",
        "instructions": "Write a short note that names the setup step this account skipped and links the guide for it."
      },
      {
        "kind": "send",
        "to": "{{record.email}}",
        "subject": "Your next step",
        "text": "{{agent}}"
      },
      {
        "kind": "delay",
        "minutes": 4320
      },
      {
        "kind": "tool",
        "tool": "accounts_progress",
        "arguments": {
          "id": "{{record.id}}"
        }
      },
      {
        "kind": "condition",
        "field": "result.finished",
        "op": "equals",
        "value": false
      },
      {
        "kind": "ask",
        "text": "{{record.name}} is still stuck after four days. Who should call them?",
        "free": true
      }
    ]
  }
]

What You Can Count On

A Pause Can Last 30 Days

A delay runs from 1 minute to 30 days, and the run picks up in the same place with the same context.

Only Pay When a Model Runs

A step that calls a tool or sends a template uses no model, so it costs 0 tokens.

Every Message Goes Out Once

AssistJet stores one unique key before the first step of each run, so a retry stops right there.