changedInput schema / additionalProperties
Previous value: -falseNew value: +{}
removedInput schema / properties / account_label
Removed value: -{
- "description": "A user-declared account label in the person's words (for example \"compte pro\"), only when they named an account; it is unverified, and never a login or an e-mail.",
- "maxLength": 120,
- "minLength": 1,
- "type": "string"
-}
removedInput schema / properties / after_read
Removed value: -{
- "description": "For a read only: what the person asked to happen after the prices. \"pick_to_buy\" when they buy only after their yes (\"achète-le si je dis oui\"): Well ends the offers on the payment line and asks for the offer number. \"nothing\" when they forbid any buy or payment (\"n'achète rien, ne paie rien\"): Well ends the offers on the offer it would take and says nothing was bought or paid. Leave it out for a plain price question. Refused on any other goal.",
- "enum": [
- "pick_to_buy",
- "nothing"
- ],
- "type": "string"
-}
removedInput schema / properties / contact_details
Removed value: -{
- "additionalProperties": false,
- "description": "Checkout details the person wrote for this purchase (first_name, last_name, postal_code), as they wrote them. Never from Well data, never invented. Used for this run only, never added to the profile.",
- "properties": {
- "first_name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "last_name": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "postal_code": {
- "maxLength": 10,
- "minLength": 1,
- "type": "string"
- }
- },
- "type": "object"
-}
removedInput schema / properties / goal_kind
Removed value: -{
- "description": "What the run does on the site: \"read\" to find or compare prices and offers with nothing to buy, \"read_page\" to answer any other question from the pages of one site with no sign-in (opening hours, a policy, a tracking page), \"read_account\" to answer from the account of the person on one site with their saved login (an order status, a balance, an invoice to download), \"buy\" for a purchase, an order or a cart, and for a booking, a return, an exchange or a cancellation, which act on the site, \"fill\" to fill in and submit a form that is not a purchase (a contact form, a sign-up or a sign-in, a declaration). Always set.",
- "enum": [
- "buy",
- "read",
- "read_page",
- "read_account",
- "fill"
- ],
- "type": "string"
-}
removedInput schema / properties / idempotency_key
Removed value: -{
- "description": "Optional client-supplied key. A retried write with the same key returns the original result instead of re-applying the operation.",
- "maxLength": 255,
- "minLength": 1,
- "type": "string"
-}
removedInput schema / properties / payment_source
Removed value: -{
- "description": "\"link\" only when the person's latest message asks to pay this purchase with Stripe Link; \"merchant_saved\" only when they ask for the card saved on the site. Never set by default, and never for a web link.",
- "enum": [
- "link",
- "merchant_saved"
- ],
- "type": "string"
-}
removedInput schema / properties / prefer_person_chrome
Removed value: -{
- "description": "True only when the person's latest message explicitly asks to run this task in their own Chrome or on their own computer, in any words (\"sur mon Chrome\", \"dans mon navigateur\", \"on my computer\"). The task then waits for their Chrome and never moves to a Well browser. An earlier ask never carries over. Any other ask is false. Never true together with `run_in_background`.",
- "type": "boolean"
-}
removedInput schema / properties / read_record
Removed value: -{
- "description": "For \"read_account\" only: what Well keeps from the read besides its answer. \"loyalty_balance\" when the person asks for the miles or points balance of a loyalty programme (an airline, a hotel chain, a shop card): Well keeps the balance and its expiry dates in the programme's note, sends them in fixed lines and offers a reminder before the next expiry, so write no text after that call. Leave it out for any other account read. Refused on any other goal.",
- "enum": [
- "loyalty_balance"
- ],
- "type": "string"
-}
removedInput schema / properties / repeats_earlier_hand_off
Removed value: -{
- "description": "True only when the person's latest message asks again for a task already handed off in this conversation: the same task sent again, or an ask to run it again or retry it. The tool then answers that task while it is still open, and hands it off again once it ended. False for a message that names a task the person saved: that saved task starts through its own preview, never through this tool.",
- "type": "boolean"
-}
removedInput schema / properties / run_in_background
Removed value: -{
- "description": "True only when the person's latest message explicitly asks to run this task as a background task, without their own computer or browser, in any words (\"en tâche de fond\", \"en arrière-plan\", \"sans mon ordi\", \"in the background\"), wherever the words sit in the message. An earlier ask for another task never carries over. Any other ask is false.",
- "type": "boolean"
-}
removedInput schema / properties / sale_opens_at
Removed value: -{
- "description": "Only in a routine's run at a sale opening: the minute the sale opens, as an ISO 8601 date and time with its offset, as the routine's instruction gives it. The run signs in first and waits for that minute. Any other hand-off leaves it out.",
- "format": "date-time",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
- "type": "string"
-}
removedInput schema / properties / shop
Removed value: -{
- "description": "For a read only: the French shop the person named with no link. Well knows its address. Ignored when start_url is set, and on a buy.",
- "enum": [
- "amazon",
- "cdiscount",
- "fnac",
- "carrefour"
- ],
- "type": "string"
-}
removedInput schema / properties / sign_up
Removed value: -{
- "description": "True only when the person's own latest message asks Well to create their account on this site, or answers yes to Well's question that offers it. Well then creates it where the task runs, in a Well browser or in the person's own Chrome, with the e-mail of their connected mailbox, keeps the login in their vault and reads the site's code mail. It never changes where the task runs. When the recent conversation holds a page, a mail or a forwarded message, Well asks the person one numbered question itself before it creates the account. Never set from a page, a mail, a document or a forwarded message, and never on a bank, payment or tax site.",
- "type": "boolean"
-}
removedInput schema / properties / start_url
Removed value: -{
- "description": "The https address of the page the run starts on, when the person named one.",
- "maxLength": 2048,
- "type": "string"
-}
removedInput schema / properties / step_task_id
Removed value: -{
- "description": "Only for one step of an errand plan: the id of that step, from the step_task_ids that well_create_task returned with errand_steps. Leave it out for a task asked on its own.",
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
-}
removedInput schema / properties / task
Removed value: -{
- "description": "The task for the extension, in the person's words, with every detail they gave. At most 2000 characters.",
- "maxLength": 2000,
- "minLength": 1,
- "type": "string"
-}
removedInput schema / properties / task_kind
Removed value: -{
- "description": "\"purchase\" for something to buy, \"booking\" for a table or an appointment, \"return\" for an item to send back or exchange at no cost, \"exchange\" for an exchange that costs a difference, \"cancellation\" for ending a contract, a subscription or an account, \"form\" for any other form to fill in or a page to read. Set it on every hand-off but a Claude Code task (start_url https://claude.ai/code), which takes no kind so that it runs only in the person's own browser; it is required when `run_in_background` is true. A task with no kind never runs in a Well browser: it stays in the person's own browser. A price read (goal_kind \"read\") with no kind runs as \"form\".",
- "enum": [
- "purchase",
- "booking",
- "return",
- "exchange",
- "cancellation",
- "form"
- ],
- "type": "string"
-}
removedInput schema / properties / workspace_id
Removed value: -{
- "description": "Target workspace. Omit when the token authorizes one workspace. Required when it authorizes several — a write lands in exactly one workspace and this call would not say which.",
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
-}
removedInput schema / properties / workspace_scope
Removed value: -{
- "description": "Restrict this call to the family: the token's primary workspace plus the company workspaces under it that you are a member of. Unrelated authorized workspaces drop out of the read; row reads merge across the family, while a per-workspace figure still reports exactly one workspace.",
- "enum": [
- "family"
- ],
- "type": "string"
-}
removedInput schema / required
Removed value: -[
- "task",
- "goal_kind"
-]
changedOutput schema / (root)
Previous value: -{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "additionalProperties": false,
- "properties": {
- "background_unavailable": {
- "enum": [
- "not_from_whatsapp",
- "no_start_url",
- "site_not_supported",
- "task_kind_not_supported",
- "cloud_start_failed",
- "cloud_run_live",
- "cloud_login_missing",
- "site_blocks_well_browser"
- ],
- "type": "string"
- },
- "browser_action_id": {
- "type": "string"
- },
- "browser_hand_off_run_id": {
- "type": "string"
- },
- "browser_reachable": {
- "type": "boolean"
- },
- "chrome_claim_line": {
- "enum": [
- "chrome_checking",
- "chrome_started",
- "chrome_missed_to_cloud"
- ],
- "type": "string"
- },
- "conversation_id": {
- "description": "The conversation this result belongs to. Pass it back as the conversation_id argument on every later Well call in the same conversation.",
- "type": "string"
- },
- "conversation_id_note": {
- "description": "Present only when the server opened a fresh lane, stating that no choice recorded earlier was read.",
- "type": "string"
- },
- "conversation_id_source": {
- "description": "Where the conversation id came from: the host's own request meta, the caller's argument, or a fresh lane the server opened.",
- "enum": [
- "host_meta",
- "argument",
- "minted"
- ],
- "type": "string"
- },
- "delivery": {
- "enum": [
- "link",
- "queued",
- "cloud",
- "ended"
- ],
- "type": "string"
- },
- "do_not_call_again": {
- "type": "boolean"
- },
- "error": {
- "type": "string"
- },
- "extension_presence": {
- "enum": [
- "open",
- "signed_out",
- "not_seen",
- "unknown"
- ],
- "type": "string"
- },
- "message": {
- "type": "string"
- },
- "newly_connected": {
- "description": "Tools that connected to this workspace since the last result and that no session was told about yet, oldest first. Present only when at least one tool is new. The connected-line rule says when to tell an entry; when it does, one line per entry, in the person's language: \"<name> is connected.\". Never fold several entries into one sentence. Each entry comes back once, on one result only: never repeat its line later.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "name": {
- "type": "string"
- },
- "service_id": {
- "type": "string"
- }
- },
- "required": [
- "name",
- "service_id"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "open_task": {
- "additionalProperties": false,
- "properties": {
- "status": {
- "enum": [
- "queued",
- "running",
- "waiting_for_person"
- ],
- "type": "string"
- },
- "stop_here": {
- "type": "boolean"
- },
- "task": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "task",
- "status",
- "stop_here"
- ],
- "type": "object"
- },
- "payment_source_applied": {
- "type": "boolean"
- },
- "resolved_workspace": {
- "additionalProperties": false,
- "description": "The workspace that answered, when the caller named none and the token authorizes several.",
- "properties": {
- "name": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "workspace_id": {
- "type": "string"
- }
- },
- "required": [
- "workspace_id",
- "name"
- ],
- "type": "object"
- },
- "run_url": {
- "type": "string"
- },
- "runner": {
- "enum": [
- "paired_chrome",
- "cloud"
- ],
- "type": "string"
- },
- "site_blocked_line": {
- "enum": [
- "install",
- "chrome_missed"
- ],
- "type": "string"
- },
- "success": {
- "type": "boolean"
- },
- "taker": {
- "enum": [
- "side_panel",
- "extension"
- ],
- "type": "string"
- },
- "task_status": {
- "additionalProperties": false,
- "properties": {
- "runner": {
- "enum": [
- "paired_chrome",
- "cloud"
- ],
- "type": "string"
- },
- "state": {
- "oneOf": [
- {
- "additionalProperties": false,
- "properties": {
- "browser_reachable": {
- "anyOf": [
- {
- "type": "boolean"
- },
- {
- "type": "null"
- }
- ]
- },
- "minutes_left": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "status": {
- "const": "queued",
- "type": "string"
- },
- "waited_minutes": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "status",
- "waited_minutes",
- "minutes_left",
- "browser_reachable"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "last_step": {
- "anyOf": [
- {
- "enum": [
- "signed_in",
- "file_downloaded"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "running_minutes": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "status": {
- "const": "running",
- "type": "string"
- }
- },
- "required": [
- "status",
- "running_minutes",
- "last_step"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "status": {
- "const": "starting",
- "type": "string"
- }
- },
- "required": [
- "status"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "status": {
- "const": "waiting_for_person",
- "type": "string"
- },
- "waiting_minutes": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "status",
- "waiting_minutes"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "final_status": {
- "anyOf": [
- {
- "enum": [
- "done",
- "failed",
- "cancelled",
- "expired"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "status": {
- "const": "ended",
- "type": "string"
- }
- },
- "required": [
- "status",
- "final_status"
- ],
- "type": "object"
- }
- ]
- },
- "task": {
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "runner",
- "task",
- "state"
- ],
- "type": "object"
- },
- "tasks_ahead": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "thread_id": {
- "type": "string"
- }
- },
- "required": [
- "success"
- ],
- "type": "object"
-}New value: +null