Skip to main content
Glama

Ticker: Live Event Ticket Market

Update Saved View

update_view
Destructive

Changes a saved View: name, predicate, channels, email mode, destinations, paused state or Digest. Only the fields passed change; attach_destination and detach_destination change where it delivers. Use create_view for a new View, and delete_view to remove one for good. Replaces set_view_target and remove_view_target.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
tagsNoReplace this View's organization tags (max 5; [] clears them). Omit to leave unchanged. Tags only group/filter Views in the app; they never change matching or delivery.
colorNoSet the View's accent color (red, orange, amber, green, teal, blue, violet, pink). Pass null to clear; omit to leave unchanged. Cosmetic only.
digestNoThe View's Digest: each Issue is the View's events with Movers, New and Gone against the previous Issue. Only the fields you pass change. Turning it on past the plan's Digest count is refused with the plan that carries more.
enabledNoSet false to pause the View, true to resume.
view_idYesThe View to update (from list_views).
channelsNo
predicateNoReplacement predicate, the grammar create_view's predicate takes. Omit to leave the predicate unchanged.
notification_modeNoPer-alert EMAIL delivery mode: 'instant' (email each match), 'batched' (the Matches wait and go out together in one email, at the pace notification_cadence sets: `hourly` or `daily`), or 'muted' (Matches recorded, never emailed). 'instant' and 'muted' override notification_cadence. 'digest' is the old name of 'batched', accepted until 2026-11-30 and stored as 'batched'. Alert destinations are unaffected: they always deliver instantly. Pass null to fall back to the cadence-derived behavior; omit to leave unchanged.
attach_destinationNoDeliver this View's Matches to one more destination, or change the cadence of one it has. A fresh attach starts with the next Match. Email is not touched.
delivery_target_idNoAttach an alert destination (id from list_destinations; new destinations are added in the Ticker web app under Settings) so this alert also delivers there the moment it fires. Pass null to DETACH and go email-only; omit to leave the destination unchanged.
detach_destinationNoStop this View delivering to this destination. The destination keeps serving other Views, and a View left with none goes back to email alone.
apply_economic_floorNo
max_firings_per_evalNo
notification_cadenceNoHow often this alert's Matches may leave as EMAIL: `immediate` (each match), `hourly`, `daily` (batched), or `off` (Matches recorded but never emailed). Only paces EMAIL; an attached alert destination always delivers the instant a Match fires, regardless of this. Pass null to reset to the account default; omit to leave unchanged.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / digest / properties / sections / description
      Previous value: -"Sections each Issue shows: movers, new, gone (default all three). The rest of the table always shows."New value: +"Sections each Issue shows: movers, new, gone (default all three). The rest of the table always shows. When the Digest reads triggers (its triggers are not null), only new and gone are kept here and movers turns the pct_move trigger on."
    • removedInput schema / properties / digest / properties / sections / minItems
      Removed value: -1
    • addedInput schema / properties / digest / properties / triggers
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "The Digest's trigger sections: each trigger on is a section of the events where it fired since the previous Issue, the same conditions a starred event alerts on, e.g. {\"weather\":{\"enabled\":true},\"pct_move\":{\"enabled\":true,\"params\":{\"threshold\":20}}}. Only the triggers you pass change. Refused while the Digest's triggers read null (trigger sections not available).",
      +  "properties": {
      +    "absorption": {
      +      "additionalProperties": false,
      +      "description": "Tickets leaving fast: A large share of the listed tickets leaves the marketplace. Off by default. Measures listings that disappear, which is not the same as confirmed sales. params: threshold 0.3 to 0.9 (default 0.5).",
      +      "properties": {
      +        "enabled": {
      +          "type": "boolean"
      +        },
      +        "params": {
      +          "additionalProperties": {
      +            "type": [
      +              "number",
      +              "string"
      +            ]
      +          },
      +          "type": "object"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "demand": {
      +      "additionalProperties": false,
      +      "description": "Demand spike: Interest in this event's listings rises versus the day before. Off by default. A change in Interest from one date to the next, not a z-score. Coverage is still filling in, so quiet events may never trigger it. params: threshold 1 to 50 (default 5).",
      +      "properties": {
      +        "enabled": {
      +          "type": "boolean"
      +        },
      +        "params": {
      +          "additionalProperties": {
      +            "type": [
      +              "number",
      +              "string"
      +            ]
      +          },
      +          "type": "object"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "lifecycle": {
      +      "additionalProperties": false,
      +      "description": "On-sale, presale, event week, low inventory: Fires when an on-sale or presale is announced, event week begins, or listed inventory runs low. On by default. params: event_week_days 1 to 30  days out (default 7); low_inventory_percent 1 to 50 % (default 10).",
      +      "properties": {
      +        "enabled": {
      +          "type": "boolean"
      +        },
      +        "params": {
      +          "additionalProperties": {
      +            "type": [
      +              "number",
      +              "string"
      +            ]
      +          },
      +          "type": "object"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "pct_move": {
      +      "additionalProperties": false,
      +      "description": "Price % move: The price changes by more than this percentage. Off by default. params: metric lowest | median (default lowest); window 1d | 7d (default 1d); threshold 5 to 100 % (default 15).",
      +      "properties": {
      +        "enabled": {
      +          "type": "boolean"
      +        },
      +        "params": {
      +          "additionalProperties": {
      +            "type": [
      +              "number",
      +              "string"
      +            ]
      +          },
      +          "type": "object"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "price_z": {
      +      "additionalProperties": false,
      +      "description": "Unusual price move: Fires when the 7-day price move is at least 2× this event's own normal swing, in either direction. On by default. params: threshold 1 to 5 (default 2).",
      +      "properties": {
      +        "enabled": {
      +          "type": "boolean"
      +        },
      +        "params": {
      +          "additionalProperties": {
      +            "type": [
      +              "number",
      +              "string"
      +            ]
      +          },
      +          "type": "object"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "weather": {
      +      "additionalProperties": false,
      +      "description": "Weather: Fires when the forecast for the event turns bad, and again when it clears. On by default.",
      +      "properties": {
      +        "enabled": {
      +          "type": "boolean"
      +        },
      +        "params": {
      +          "additionalProperties": {
      +            "type": [
      +              "number",
      +              "string"
      +            ]
      +          },
      +          "type": "object"
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed3 schema fields changed
    • addedInput schema / properties / attach_destination
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Deliver this View's Matches to one more destination, or change the cadence of one it has. A fresh attach starts with the next Match. Email is not touched.",
      +  "properties": {
      +    "cadence": {
      +      "default": "instant",
      +      "description": "How often THIS View delivers to THIS destination: `instant`, `hourly` or `daily`.",
      +      "enum": [
      +        "instant",
      +        "hourly",
      +        "daily"
      +      ],
      +      "type": "string"
      +    },
      +    "delivery_target_id": {
      +      "description": "The destination (an id from list_destinations).",
      +      "format": "uuid",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "delivery_target_id"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / properties / detach_destination
      Added value: +{
      +  "description": "Stop this View delivering to this destination. The destination keeps serving other Views, and a View left with none goes back to email alone.",
      +  "format": "uuid",
      +  "type": "string"
      +}
    • changedInput schema / properties / predicate / description
      Previous value: -"Replacement predicate DSL object (see tool description). Omit to leave the predicate unchanged."New value: +"Replacement predicate, the grammar create_view's predicate takes. Omit to leave the predicate unchanged."
  3. Changed1 schema field changed
    • changedInput schema / properties / delivery_target_id / description
      Previous value: -"Attach an alert destination (id from list_destinations / create_destination) so this alert also delivers there the moment it fires. Pass null to DETACH and go email-only; omit to leave the destination unchanged."New value: +"Attach an alert destination (id from list_destinations; new destinations are added in the Ticker web app under Settings) so this alert also delivers there the moment it fires. Pass null to DETACH and go email-only; omit to leave the destination unchanged."
  4. Changed1 schema field changed
    • addedInput schema / properties / digest
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "The View's Digest: each Issue is the View's events with Movers, New and Gone against the previous Issue. Only the fields you pass change. Turning it on past the plan's Digest count is refused with the plan that carries more.",
      +  "properties": {
      +    "columns": {
      +      "description": "Which get-in the Digest page opens on: primary or secondary.",
      +      "enum": [
      +        "primary",
      +        "secondary"
      +      ],
      +      "type": "string"
      +    },
      +    "destination_ids": {
      +      "description": "Destinations (ids from list_destinations) that also receive each Issue. [] clears them.",
      +      "items": {
      +        "format": "uuid",
      +        "type": "string"
      +      },
      +      "maxItems": 50,
      +      "type": "array"
      +    },
      +    "enabled": {
      +      "description": "Turn the Digest on or off.",
      +      "type": "boolean"
      +    },
      +    "extra_columns": {
      +      "description": "Extra columns: absorption adds Absorbed 7d to the Issue page, email and files. [] removes it.",
      +      "items": {
      +        "enum": [
      +          "absorption"
      +        ],
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "formats": {
      +      "description": "The files each Issue links: csv, xlsx, pdf, md.",
      +      "items": {
      +        "enum": [
      +          "csv",
      +          "xlsx",
      +          "pdf",
      +          "md"
      +        ],
      +        "type": "string"
      +      },
      +      "minItems": 1,
      +      "type": "array"
      +    },
      +    "hour": {
      +      "description": "The hour (0 to 23) in the account's timezone when the Issue is built.",
      +      "maximum": 23,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "sections": {
      +      "description": "Sections each Issue shows: movers, new, gone (default all three). The rest of the table always shows.",
      +      "items": {
      +        "enum": [
      +          "movers",
      +          "new",
      +          "gone"
      +        ],
      +        "type": "string"
      +      },
      +      "minItems": 1,
      +      "type": "array"
      +    },
      +    "table_columns": {
      +      "description": "Screener columns each Issue's table shows, in order: column names from list_screen_columns (e.g. ea.lowest_aip_price_current). Each must be a column the plan unlocks. [] restores the default table.",
      +      "items": {
      +        "maxLength": 120,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "maxItems": 255,
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  5. Changed2 schema fields changed
    • changedInput schema / properties / notification_mode / anyOf
      Previous value: -[
      -  {
      -    "enum": [
      -      "instant",
      -      "digest",
      -      "muted"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "enum": [
      +      "instant",
      +      "batched",
      +      "muted",
      +      "digest"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / notification_mode / description
      Previous value: -"Per-alert EMAIL delivery mode: 'instant' (email each match), 'digest' (the Matches wait and go out together in one email, at the pace notification_cadence sets: `hourly` or `daily`), or 'muted' (Matches recorded, never emailed). 'instant' and 'muted' override notification_cadence. Alert destinations are unaffected: they always deliver instantly. Pass null to fall back to the cadence-derived behavior; omit to leave unchanged."New value: +"Per-alert EMAIL delivery mode: 'instant' (email each match), 'batched' (the Matches wait and go out together in one email, at the pace notification_cadence sets: `hourly` or `daily`), or 'muted' (Matches recorded, never emailed). 'instant' and 'muted' override notification_cadence. 'digest' is the old name of 'batched', accepted until 2026-11-30 and stored as 'batched'. Alert destinations are unaffected: they always deliver instantly. Pass null to fall back to the cadence-derived behavior; omit to leave unchanged."
  6. Changed2 schema fields changed
    • changedInput schema / properties / notification_cadence / description
      Previous value: -"How often this alert's Matches may leave as EMAIL: 'immediate' (each match), 'hourly', 'daily' (batched), or 'off' (Matches recorded but never emailed). Only paces EMAIL; an attached alert destination always delivers the instant a Match fires, regardless of this. Pass null to reset to the account default; omit to leave unchanged."New value: +"How often this alert's Matches may leave as EMAIL: `immediate` (each match), `hourly`, `daily` (batched), or `off` (Matches recorded but never emailed). Only paces EMAIL; an attached alert destination always delivers the instant a Match fires, regardless of this. Pass null to reset to the account default; omit to leave unchanged."
    • changedInput schema / properties / notification_mode / description
      Previous value: -"Per-alert EMAIL delivery mode: 'instant' (email each match), 'digest' (the Matches wait and go out together in an hourly email or a daily email, at the pace notification_cadence sets), or 'muted' (Matches recorded, never emailed). 'instant' and 'muted' override notification_cadence. Alert destinations are unaffected: they always deliver instantly. Pass null to fall back to the cadence-derived behavior; omit to leave unchanged."New value: +"Per-alert EMAIL delivery mode: 'instant' (email each match), 'digest' (the Matches wait and go out together in one email, at the pace notification_cadence sets: `hourly` or `daily`), or 'muted' (Matches recorded, never emailed). 'instant' and 'muted' override notification_cadence. Alert destinations are unaffected: they always deliver instantly. Pass null to fall back to the cadence-derived behavior; omit to leave unchanged."
  7. Changed3 schema fields changed
    • changedInput schema / properties / notification_cadence / description
      Previous value: -"How often this alert's Matches may leave as EMAIL: 'immediate' (each match), 'hourly', 'daily' (batched), or 'off' (Matches recorded but never emailed). Only paces EMAIL — an attached alert destination always delivers the instant a Match fires, regardless of this. Pass null to reset to the account default; omit to leave unchanged."New value: +"How often this alert's Matches may leave as EMAIL: 'immediate' (each match), 'hourly', 'daily' (batched), or 'off' (Matches recorded but never emailed). Only paces EMAIL; an attached alert destination always delivers the instant a Match fires, regardless of this. Pass null to reset to the account default; omit to leave unchanged."
    • changedInput schema / properties / notification_mode / description
      Previous value: -"Per-alert EMAIL delivery mode: 'instant' (email each match), 'digest' (the Matches wait and go out together in an hourly email or a daily email, at the pace notification_cadence sets), or 'muted' (Matches recorded, never emailed). 'instant' and 'muted' override notification_cadence. Alert destinations are unaffected — they always deliver instantly. Pass null to fall back to the cadence-derived behavior; omit to leave unchanged."New value: +"Per-alert EMAIL delivery mode: 'instant' (email each match), 'digest' (the Matches wait and go out together in an hourly email or a daily email, at the pace notification_cadence sets), or 'muted' (Matches recorded, never emailed). 'instant' and 'muted' override notification_cadence. Alert destinations are unaffected: they always deliver instantly. Pass null to fall back to the cadence-derived behavior; omit to leave unchanged."
    • changedInput schema / properties / tags / description
      Previous value: -"Replace this View's organization tags (max 5; [] clears them). Omit to leave unchanged. Tags only group/filter Views in the app — they never change matching or delivery."New value: +"Replace this View's organization tags (max 5; [] clears them). Omit to leave unchanged. Tags only group/filter Views in the app; they never change matching or delivery."
  8. First observed

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations supply the safety profile (destructiveHint=true, readOnlyHint=false, openWorldHint=true), so the bar is lower. The description adds genuine behavioral context beyond that: partial-update semantics ('Only the fields passed change') and that attach/detach govern delivery routing. It does not warn that predicate/channel replacement overwrites prior values, which is the destructive edge the annotation implies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tight sentences, front-loaded with what the tool changes before the routing guidance. No filler, though the 'Replaces set_view_target and remove_view_target' sentence packs two facts that could be tighter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 15-parameter mutation with nested Digest objects and no output schema, the description covers purpose, patch semantics, routing, and delivery behavior; the deep field detail lives in the schema. It never states what a successful call returns or whether there are permission/plan gates, though the digest schema partially covers plan refusals.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 73% with rich per-field descriptions (tags, color, digest, notification_mode, attach/detach), so the schema does the heavy lifting. The description lists field groups at a high level but adds no syntax or constraint detail beyond the schema, which is the correct baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Changes') and resource ('saved View'), then enumerates the updatable field groups (name, predicate, channels, email mode, destinations, paused state, Digest). It also names the siblings it is not (create_view, delete_view), so an agent can distinguish it without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing: 'Use create_view for a new View, and delete_view to remove one for good,' plus 'Replaces set_view_target and remove_view_target.' This tells the agent both when to use this tool and which legacy/sibling tools it supersedes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources