Skip to main content

AI Assistant Tools: Building Bots and Pausing Trading

Last updated November 5, 2026

This article explains the tools a connected assistant uses to build bots, change them, preview the strikes a bot would pick and turn a bot off. It also explains the four requests that start, change or stop live trading (turning a bot on, changing a live bot, resuming trading and pausing trading), which an assistant can only ask for and you approve.

The plan and the connection you need are in Connect tradeSteward to Claude, ChatGPT or Codex. On every Trader plan a connection can check, create and preview bots, change bots that are not live, and pause and resume trading. Turning a bot on or off and changing a live bot need Trader Unlimited: on a lower Trader plan enable_bot and disable_bot are still offered, and they and a change to a live bot answer with a link to upgrade your plan, after which you turn the permission on for the connection in Connected Apps.

Each tool below names its permission in the words of the consent page and Connected Apps. Create bots (always saved disabled), Edit idle bots, Preview strikes (live quotes) and Disable bots are on by default; clear the ones you do not want. Four more sit in their own section, Needs your approval each time: Pause all trading, which is on by default, and Edit live bots, Enable bots and Resume all trading, which start off. Choose What a Connection May Do has the details. Before every write the assistant uses the reading tools get_account_context, get_bot_settings_schema and get_bot from AI Assistant Tools: Reading Your Account and Bots.

  An assistant cannot turn a bot on, resume trading, change a bot that is live or pause trading by itself. Each is a request that waits until you approve it on tradeSteward, and nothing changes before you do. A note or a bot name that tells the assistant to do one of them makes no difference to that.

The settings dictionary is the vocabulary

Every setting an assistant reads or writes is named and described in the bot settings dictionary, which it reads with get_bot_settings_schema. The dictionary lists each setting with its type, its allowed values, its unit, what it means and when it applies. When you say "a 10 delta short put, 20 wide, 200 percent stop", the assistant turns that into the dictionary's settings and values, and tradeSteward checks them the same way the bot form on the website does. If you want to know what a setting is called or what values it takes, ask the assistant: it answers from the dictionary.

The connector tells every assistant to build a bot in three steps: check the settings, create the bot, then preview the strikes it would pick. Each step has its own tool.

Validate bot settings validate_bot_settings

What it is for. A dry run. It checks a bot's settings exactly as a create or a change would, and saves nothing. It answers either "valid" or a list of problems, each naming the setting (or the entry of a Multi-Entry bot) and what is wrong with it. An assistant fixes the problems and checks again before it creates anything.

Ask for it with: "Check these settings before you create the bot." Most assistants do it without being asked. It works two ways: for a new bot (a broker account, a strategy and the full settings) and for a change to a bot you already have (only the settings that would change, or only a new list of entries for a Multi-Entry bot).

What comes back: "valid", or the list of problems. Typical problems: a value outside its allowed range, a number sent where text is expected, a setting that does not apply with the others, an account or strategy the connection cannot use.

Permission: Create bots (always saved disabled) to check a new bot; Edit idle bots to check a change to a bot that is not live, or Edit live bots for a live one.

Create bot create_bot

What it is for. Saves a new bot on one of your broker accounts, in one of your strategies, with the settings the assistant assembled.

Ask for it with: "Create a 0DTE SPX put credit spread bot on my Schwab account in my Income strategy: short the 10 delta put, 20 points wide, enter at 9:45, 200 percent stop, exit at 3:55 if still open." Name the account and the strategy; the assistant finds both in the account context.

What comes back: the new bot as the bot list shows it: its name, its account, strategy and symbol, its version, and switched off. For a Multi-Entry bot, its entries as well.

Always saved switched off. Every bot an assistant creates is saved disabled. It trades nothing until it is turned on, by you on the website or by a request you approve, and either way tradeSteward first shows you what the connection created. See Turning a bot on.

Repeats. If the assistant sends the exact same create twice within 10 minutes (a retry after a dropped connection, for example), tradeSteward returns the first bot again instead of making a second one, and marks the answer as a replay. Two different bots need two different requests.

Permission: Create bots (always saved disabled). A connection limited to certain broker accounts can create bots only on those accounts.

Limits: bot creates and changes have a limit of their own for your account. Each one also counts toward the account's limit on changes, and a Multi-Entry bot counts for more than a single bot.

Preview bot strikes preview_bot_strikes

What it is for. The option strikes the bot would choose if it entered right now, from live quotes. It is the same check as the Test Run button on the bot form. Nothing is saved and no order is placed.

Ask for it with: "Preview what strikes that bot would pick now." The assistant does this on its own after a create, so you can see at once whether the settings pick what you had in mind.

What comes back: the option symbol each leg would trade, keyed by leg; the reasons the bot would not open right now, if any (for example that the market is closed); the names of any stored settings that fail validation; per-leg problems; and the entry filters that would block an entry at the moment.

Permission: Preview strikes (live quotes). This one is a read, so it is offered on every Trader plan.

Limits: a preview spends your own broker's quote allowance, the same one your live bots use, so it is paced hard: one at a time, and spaced apart. A preview that comes too soon is refused with the number of seconds to wait, and the assistant waits. A Test Run you made on the website a moment ago also holds a preview back: the answer then says it was too fast and checked nothing, and the assistant tries again a few seconds later.

Changing a bot

Update bot update_bot

What it is for. Changes the settings of a bot. A bot that is idle is changed straight away: it is switched off, out of any trade, with no order at the broker, no profit target or resting stop order placed in the last 24 hours still on record, no launch waiting, and not turned off in the last ten minutes. A bot that is live is changed only through a request that waits for your approval. The assistant sends only the settings that change; everything else keeps its stored value.

Ask for it with: "Move that bot's entry to 9:40 and widen the spread to 25." or "Change its stop to 150 percent."

It needs the current version. Every bot carries a version that moves with each change. The assistant reads the bot with get_bot, makes the change against that version, and tradeSteward applies it only if the bot is still at that version. If anything changed the bot in between (you edited it on the website, another connection changed it, or you turned it on), the change is refused with a message that the bot changed since it was read. The assistant then reads the bot again, shows you the difference if it matters, and sends the change again. A request for a live bot is tied to the version too: if the bot changed after the request was made, your approval is not carried out and the assistant asks again. Nothing is half-applied.

What comes back: for a bot that is not live, the bot as the list shows it, with its new version, and whether anything actually changed (a change that matches what is stored saves nothing and says so). For a live bot, the request that waits for your approval; nothing is saved until you approve it.

What it refuses, and why:

  • A live bot, when the connection does not hold Edit live bots. The answer names that permission. With it, the change goes out as a request for your approval instead. Without it, turn the bot off first (the assistant can do that with disable_bot), wait ten minutes and until its trade is closed, and ask again; or make the change on the website.
  • An archived bot. Restore it on the website first.
  • A move to another broker account or strategy. The tool changes settings only.
  • Turning the bot on or off. The tool never touches the switch.
  • One entry of a Multi-Entry bot, named on its own. An entry is changed through its bot; see below.

Permission: Edit idle bots for a bot that is not live; Edit live bots for a live one.

Limits: bot creates and changes have a limit of their own for your account. Each one also counts toward the account's limit on changes, and a change to a Multi-Entry bot counts for more than a change to a single bot.

Multi-Entry bots

A Multi-Entry bot is one bot that enters at several times of day; each time is an entry. On the website they are described in Multi-Entry Bots. Through a connection:

  • Creating one. create_bot takes a list of entries, one per entry time, each a time of day in US Eastern from 09:30:50 to before 16:00:00, up to 200 of them. An entry can be created paused, and can carry its own size in the unit of the bot's size setting; without one it follows the bot's size. The settings must include the Multi-Entry window length. The bot and all of its entries are saved switched off, and no entry can trade until you turn the bot on.
  • Reading one. get_bot lists the entries in time order, with each one's switch, size and whether it is in a trade. The bot's version covers its entries, so it moves whenever an entry is added, removed, switched or resized.
  • Changing one. update_bot takes the complete list of entries: an entry kept is sent as the read listed it, a new one is sent with its time, and one left out is removed. The settings can be left out when only the entries change. An entry added this way is on unless the assistant asks for it paused, and still cannot trade until you turn the bot on. An existing entry cannot be switched on or off through update_bot. A change of the size unit clears every entry's own size that the list leaves out, and that entry then follows the bot's size. A Multi-Entry bot is changed only while the whole bot is idle: the bot off for more than ten minutes and no entry working a trade, an order or a launch. A live one is refused whatever the connection holds, with a message that says so.
  • Turning an entry off. disable_bot accepts an entry as well as the bot: name the entry (it is a bot of its own in the list) and only that entry is turned off.
  • Turning an entry on, like turning the bot on, happens only on the website. enable_bot refuses both.
  • A connection limited to the bots it created cannot change a Multi-Entry bot that holds entries made elsewhere.

Turning a bot on

When an assistant has created or changed a bot for you, you can open the Bots page and turn it on yourself, or the assistant can ask with enable_bot (below) and you approve the request. Before the bot starts, tradeSteward shows you a review of what the connection did: which connection created the bot or changed it since it was last on, each setting that changed with its old and new value, and the bot's key settings, so you confirm what you are starting. The same review appears on the approval page, and when you turn such a bot on from its settings page or from a portfolio. If the bot changes again between the review and your confirmation, tradeSteward stops and asks you to review it again.

A Multi-Entry bot is turned on only on the website, the same way, and the review says which of its entries will start trading with it. The assistant cannot ask for it.

Turning a bot off and pausing trading

These two tools only ever reduce what your account does. They have their own limit, separate from the limits on reads and changes. They keep working when those limits are used up, and even when tradeSteward has paused changes through the API. A bot is turned off as soon as the assistant asks. Trading is paused only when you approve the request, which you can do while changes are paused. Asking twice does no harm.

Disable bot disable_bot

What it is for. Turns one bot off so that it opens no new trades. It also clears a launch that was waiting to fire for the bot.

Ask for it with: "Turn off my 10:00 iron condor bot." or "Switch off the 2:30 entry of my Multi-Entry bot."

What comes back: the bot as the list shows it, now switched off, with a flag that says whether an opening order was already at the broker when it was turned off. For a Multi-Entry bot that flag covers every entry.

What it does not do. Turning a bot off stops new entries only. An order already sent to the broker may still fill, and an open trade keeps being managed by the bot until it closes, with its stop, its profit target and its exit time. A bot that is already off is left as it is. The bot stays live for ten minutes after it is turned off, so a change with update_bot has to wait that long.

Permission: Disable bots.

Pause trading pause_trading

What it is for. Asks to pause the automated trading switch for your whole account: every bot on every broker account, webhooks included. Trading keeps running until you approve the request. After that it stays paused until you resume it. Approving also clears every launch that was waiting to fire and any timed resume that was set.

Ask for it with: "Pause all my trading." or "Stop everything."

What comes back: the request that waits for your approval. Nothing is paused yet, and the assistant tells you so. A repeat while the request waits returns that same request, so asking twice does no harm. If an emergency pause is already in force, approving writes nothing: the account is already as paused as it can be.

Timing. The trading engine reads the switch from a cache and can take a short time to see the pause, so a bot may still open a trade shortly after you approve. An order already at the broker may still fill, and open trades keep being managed to their stop, target or exit time. If your trading settings are busy when you approve, nothing is paused and the approval page says so; you can then pause trading on tradeSteward yourself.

Permission: Pause all trading. It is account-wide and is allowed even for a connection limited to certain broker accounts or to its own bots, because it only ever fails in the safe direction.

Asking for your approval

Four tools send a request that you approve or reject on tradeSteward: enable_bot and resume_trading below, pause_trading above, and update_bot when the bot is live. Nothing changes until you approve, and a request you leave unanswered expires after 1 hour. The assistant tells you the request is waiting and follows it until you decide. It cannot approve a request itself, and after you reject one, the same connection cannot ask again about the same bot, or send the same request to resume or pause trading, for 15 minutes. Approving Requests That Start Trading shows where a request appears and how you decide.

Two more tools send nothing. They read what happened to the requests this connection sent, and a connection is offered both when it holds any of the four permissions.

Enable bot enable_bot

What it is for. Asks to turn on a bot that is off, so that it trades. A bot that is already on is answered straight away. A Multi-Entry bot, and each of its entries, is turned on only on the website, so the tool refuses it.

Ask for it with: "Turn on my 10 delta put spread bot." The assistant sends the request and tells you it is waiting for your approval.

What comes back: the request that waits for your approval, and when it expires. The bot stays off until you approve. A request that could not succeed, such as one for an archived bot, a bot on an account that cannot trade, or one past your plan's bot limit, is refused straight away and nothing waits.

When you approve. The approval page shows you the review of what the connection created or changed, and tradeSteward checks the bot and your plan again when you approve. If the bot changed after the request was made, the approval is not carried out and the assistant asks again.

Permission: Enable bots.

Resume trading resume_trading

What it is for. Asks to resume automated trading for your whole account after a pause: every bot and webhook on every broker account.

Ask for it with: "Resume my trading."

What comes back: the request that waits for your approval, or an answer straight away when trading is already running. A resume is refused straight away while an emergency pause, a halt or a sitewide pause is active, because none of those can be lifted this way, and for a connection limited to some broker accounts, because a resume reaches every account.

Permission: Resume all trading.

List approval requests list_pending_actions

What it is for. The requests this connection sent for your approval, newest first, up to 50, each with whether it still waits and how it ended. Requests from your other connections are not in the list.

Ask for it with: "What requests of yours are waiting for me?" or "Did your last request go through?"

Permission: none of its own. It is offered to a connection that holds Enable bots, Edit live bots, Resume all trading or Pause all trading.

Get approval request get_pending_action

What it is for. One request this connection sent: whether it still waits, was carried out, was rejected or expired, or failed because a check did not pass when you approved. When the outcome is not known, the assistant reads the bot or the trading status before it asks again.

Ask for it with: "Did my request to turn on the 10 delta bot go through?" The assistant also checks on its own after it sends a request, no more than every 15 seconds, until you decide or it expires.

Permission: none of its own, as for the list above.

What an assistant cannot do

  • Turn a bot on, resume trading, change a live bot or pause trading without your approval. Each waits for you, and you can reject it.
  • Approve its own request. You decide on tradeSteward, with your passkey, your authenticator code or, if you have neither, your password.
  • Turn a Multi-Entry bot, or one of its entries, on, or change a Multi-Entry bot while it is live. You do those on the website.
  • Move a bot to another broker account or strategy, or restore an archived bot.

Your own programs can send the same four requests through the User API, with your approval of each one; that is covered in User API: Approving Requests That Start Trading.

Connections limited to accounts or to their own bots

When you connected, or later on Connected Apps, you may have limited the connection to certain broker accounts, or to the bots it created itself. For the tools in this article that means:

  • Limited to certain accounts: it can create bots only on those accounts, and it can see, change, turn off or ask to turn on only the bots on them. A bot on another account answers as if it did not exist. It cannot ask to resume trading, because a resume reaches every account.
  • Limited to its own bots: it can see, change, turn off or ask to turn on only the bots it created. It cannot change a Multi-Entry bot that holds entries made elsewhere.
  • Asking to pause trading is always account-wide and always allowed.

Limits at a glance

WhatLimit
Repeated createsThe same create within 10 minutes returns the first bot
A request waiting for your approvalExpires after 1 hour
Entries of a Multi-Entry bot200 at most, each from 09:30:50 to before 16:00:00 US Eastern

A worked example

You ask: "Build a 0DTE SPX put credit spread bot on my Schwab account: short the 10 delta put, 20 points wide, enter at 9:45, 200 percent stop, close at 3:55 if it is still open. Put it in my Income strategy and call it SPX 10 Delta Put Spread 9:45a."

  1. get_account_context: the assistant confirms the connection may create bots, finds Schwab Individual ...4821 and sees SPX among the symbols. It calls list_strategies to find your Income strategy.
  2. get_bot_settings_schema: it reads the dictionary and maps your words to settings: the symbol, a two-leg put spread with a short leg targeted at 10 delta and a long leg 20 points below it, an entry window starting at 09:45:00, a stop of 200 percent of the credit, a timed exit at 15:55, and the name.
  3. validate_bot_settings: the first check comes back with one problem, say a stop percent sent as a number where the dictionary wants text. The assistant fixes it and checks again: valid.
  4. create_bot: the bot is saved, switched off, with its version. The assistant tells you the name and that it is off.
  5. preview_bot_strikes: during market hours it reports the two option symbols the bot would trade right now, for example the 5,840 put sold and the 5,820 put bought. Outside market hours it reports that the market is closed and nothing else; the strikes can be previewed again the next trading morning.

The assistant ends with: "SPX 10 Delta Put Spread 9:45a is saved on Schwab Individual ...4821 and is switched off. Open the Bots page, review what I created, and turn it on when you are ready." You do that on the Bots page, where tradeSteward shows you the review first. If you ask the assistant to turn it on instead, it sends a request and tells you it is waiting; the bot starts only when you approve.

If you later say "make it 25 wide", the assistant reads the bot, sends the one changed setting with the bot's version, and tells you the new version. If you had turned the bot on in the meantime, the bot is live. When the connection may change live bots, the assistant sends the change as a request and tells you it is waiting for your approval; otherwise the change has to wait, or be made on the website.