Skip to main content
Glama

Writ Cloud

Connect a monitor to an action

writ_wire_monitor

Wires a writ_create_monitor monitor's change_detected event to an action. action='workflow' runs a saved workflow when the monitored page changes; action='notify' sends a notification to channels + recipients the account has configured; action='ai_task' wakes an AI agent with a task prompt: the agent opens the monitored page in a cloud browser, sees what changed (diff + extracted values) and works the prompt autonomously (channels/recipients also notify when it finishes). A price watch takes threshold: the action then runs once, when a check reads a price at or below it (threshold_op picks the side), not on every change. Buying at the price, in order: 1) writ_create_monitor reads the price; 2) writ_record_website or writ_browser_use, then writ_browser_save, record the checkout up to the order page, with the product, quantity and shipping as inputs where they vary, an extract of the total, and the order button never pressed (its selector kept); 3) writ_run_workflow with mutation_mode='dry_run' rehearses it once, to end on the order page and return the total (safe to rehearse only a checkout recorded this way: an older one may hold the order click); 4) action='workflow' + that workflow + buy (payment {kind, ref} from writ_payment, total_selector, commit_selector = that button (Writ clicks it live), fallback_ai_session: true); 5) the fallback, ONLY when the checkout can't be recorded or its rehearsal fails (bot wall, a checkout that won't replay, a login the persona can't hold): action='ai_task' with a prompt naming what to buy and the same buy; an AI PURCHASE session browses to the order page and hands over to Writ's confirmed checkout. Either way it is saved as a REHEARSAL (dry run) until the user turns purchases on in the Writ app, and a person confirms each purchase unless an auto-confirm rule they set covers automation purchases. The answer's buy.runs_as names the path: recorded_checkout or ai_purchase_session.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
buyNoaction='workflow': the workflow is a checkout and runs as a purchase. action='ai_task' (with a `prompt` saying what to buy): an AI purchase session browses to the order page and Writ checks out. Always saved with dry_run on (a rehearsal that places no order), whatever is sent; the user arms real purchases in the Writ app. Cloud monitors only; an AI purchase session can't use device_card.
nameNoOptional automation name.
titleNo
actionYesWhat to do on a detected change.
deviceNoA linked Writ desktop's agent_id (writ_devices) to act on. Omitted: the desktop this connection chose with writ_devices action='use', if any.
promptNoaction='ai_task': what the agent does when the monitor fires, e.g. "Check whether the price dropped below $500 and summarize what changed". Supports {{placeholders}} like {{diff_snippet}} and {{extracted.price}}. With `buy`, say exactly what to buy (product, quantity, options, shipping).
enabledNo
messageNoNotification body template (supports {{event.url}}).
channelsNoNotification channels, e.g. ["pushover","email"] — required for action='notify'; optional with action='ai_task' (finish alert).
workflowNoWorkflow to run (name) — required for action='workflow'.
entry_urlNoaction='ai_task': page the agent starts on (defaults to the monitored URL).
max_stepsNoaction='ai_task': cap on agent steps per wake (default 20, max 100).
thresholdNoPrice watch: act only when the watched price reaches this number (e.g. 477.04), once; by default at or below it (see `threshold_op`), and a price on the other side, or one the page no longer shows, does nothing. Needs a monitor that reads the price (a selector or extract, not a visual zone). Without it, any change fires. Works for a desktop monitor too (`device`).
monitor_idYesMonitor id from writ_create_monitor.
recipientsNoNotification recipients, e.g. ["pushover:1"]. Omitted = every enabled recipient on the channel; the answer names who the alert actually reaches, and warns when nobody is configured.
workflow_idNo
threshold_opNoWhich side of `threshold` fires: lte = at or below (default: "drops to 477.04" fires at 477.04), lt = strictly below ("below / under / less than"), gte = at or above, gt = strictly above (a rise alert).
ai_session_idNoaction='ai_task': re-run this saved AI session instead of (or as well as) a prompt.
cooldown_minutesNoaction='ai_task': minimum minutes between wakes (default 10; 0 disables).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.