Add a scenario
add_scenarioAdd a scenario to an app, in the team's words: a title, what a user does (description) and what must be seen (expects, one sentence each — every check answers each of them, and the answer returns them as they were understood). daily: true (default) puts it in every check of the app; daily: false keeps it for the checks that name it (start_check scenarios). run_now also starts a check of only it, now. If a scenario the check found is really a different one, pass its scenario_id as replaces. For a Shopify app on several stores, all_stores: true adds it on every store of that app (a store connected later gets the app's scenarios too). critical: true walks it on every check, whatever changed — for what must never break; tell the person what it adds per check.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"app_id": "<app_id>",
"title": "<title>"
},
"name": "add_scenario"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| team | No | Act in another of your teams, by its name or id (whoami lists them). Omitted: the key's own team | |
| daily | No | true (default): checked by every check of the app. false: only when a check names it | |
| login | No | The login it walks with, by label (list_apps test_accounts): "default", a named test account, or the app's session sign-in. Left out: the app's default. A login that is gone by the time of a check reports the scenario not checked, never walked as someone else | |
| title | Yes | What the scenario is, as a person would name it, e.g. 'Block a country' | |
| app_id | Yes | App id from list_apps or create_app | |
| expects | No | What must be SEEN for this to count as working, one sentence each, in words the product itself shows — e.g. ["The heading reads «Account settings».", "The page has no «Delete workspace» section."]. Start each with a capital letter. The check answers every one with a step: seen, shows otherwise, or not seen | |
| run_now | No | Also start a check of the app now that covers it (spends the team's balance) | |
| critical | No | true: walked on every check — every deploy, preview and daily check — even when nothing near it changed; the answer says what it adds to each check's price. false: walked when something near it changes | |
| replaces | No | scenario_id of a scenario the check found that is really this one; it is retired | |
| all_stores | No | For a Shopify app on several stores: add it on every store of that app, not only this one | |
| description | No | What a user does, in order, e.g. 'Add Germany in Block Countries, then open the store as a German visitor.' What must be seen goes in expects |