Skip to main content
Glama

Bulk Reprocess Cases

bulkReprocessCases
Destructive

Re-process multiple cases on a chosen agent. Any active runs on the selected cases are interrupted first; the cases are then reset to pending and assigned to the chosen agent for the next dispatcher tick. The chosen agent must already be connected to the queue as a case-queue-consumer (with the trigger enabled or disabled) and not belong to a different automation than the queue.

Input Schema

NameRequiredDescriptionDefault
searchNoFree-text search selecting the cases when all_matching is true.
filtersNoFilters selecting the cases when all_matching is true.
agent_idNoThe agent that should run on the selected cases. Must be a consumer of this queue and not belong to a different automation.
case_idsNoExplicit case IDs to act on (1-100). Provide this or set all_matching.
queue_idYesThe queue's unique identifier
all_matchingNoWhen true, act on every case matching the provided filters/search instead of an explicit id list.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / filters / properties / completed_at_from
      Added value: +{
      +  "description": "Keep Cases that reached an outcome at or after this time (inclusive). An ISO timestamp or a lookback such as `7d` or `12h`.",
      +  "type": "string"
      +}
    • addedInput schema / properties / filters / properties / completed_at_to
      Added value: +{
      +  "description": "Keep Cases that reached an outcome before this time (exclusive). An ISO timestamp or a lookback such as `7d` or `12h`.",
      +  "type": "string"
      +}
    • addedInput schema / properties / filters / properties / failure_source
      Added value: +{
      +  "description": "Keep only failed Cases, by who failed them: `system` when Duvo could not finish the Case, `manual` when a person marked it failed.",
      +  "items": {
      +    "enum": [
      +      "system",
      +      "manual"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / agent_id / description
      Previous value: -"The agent that should run on the selected cases. Must be a consumer of this queue."New value: +"The agent that should run on the selected cases. Must be a consumer of this queue and not belong to a different automation."
  3. Changed1 schema field changed
    • addedInput schema / properties / filters / properties / awaiting_my_approval
      Added value: +{
      +  "type": "boolean"
      +}
  4. Changed3 schema fields changed
    • addedInput schema / properties / filters / properties / created_at_to
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / filters / properties / json_data
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "operator": {
      +        "enum": [
      +          "equals",
      +          "notEquals",
      +          "in",
      +          "notIn",
      +          "gt",
      +          "gte",
      +          "lt",
      +          "lte",
      +          "contains",
      +          "isSet",
      +          "isNotSet"
      +        ],
      +        "type": "string"
      +      },
      +      "path": {
      +        "pattern": "^\\$(\\.[A-Za-z_][A-Za-z0-9_]{0,63})+$",
      +        "type": "string"
      +      },
      +      "value": {
      +        "anyOf": [
      +          {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "number"
      +              },
      +              {
      +                "type": "boolean"
      +              }
      +            ]
      +          },
      +          {
      +            "items": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "boolean"
      +                }
      +              ]
      +            },
      +            "maxItems": 100,
      +            "minItems": 1,
      +            "type": "array"
      +          }
      +        ]
      +      }
      +    },
      +    "required": [
      +      "path",
      +      "operator"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 12,
      +  "type": "array"
      +}
    • addedInput schema / properties / filters / properties / updated_at_to
      Added value: +{
      +  "type": "string"
      +}
  5. Changed1 schema field changed
    • addedInput schema / properties / filters / properties / issue_severity
      Added value: +{
      +  "items": {
      +    "enum": [
      +      "critical",
      +      "medium"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  6. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Adds real behavioral context beyond the annotations: active runs are interrupted first, cases are reset to pending, and dispatch happens on the next dispatcher tick. That tells the agent what is destroyed and when the effect materializes. It omits throughput/volume limits (e.g., how many cases the all_matching path can hit) and any confirmation or return information.

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

Conciseness5/5

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

Three tight sentences, front-loaded with the core action and sequencing, then prerequisites. No filler or restated name/title content.

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?

Covers the operation, its side effects, and agent preconditions for a 6-parameter tool with nested filters and no output schema. It could say what the call returns (e.g., which/how many cases were queued) since no output schema exists to carry that, but nothing critical for correct invocation is missing.

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 description coverage is 100%, so the schema already documents queue_id, agent_id, case_ids, all_matching, search, and filters. The description restates the agent_id constraint (queue consumer, same automation) but adds no syntax or format detail beyond the schema, making the baseline 3 appropriate.

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+resource+scope: re-processing multiple cases on a chosen agent, with the exact mechanism (interrupt active runs, reset to pending, reassign). This distinguishes it from neighbors like bulkUpdateCaseStatus, bulkUpdateCasePriority, and startRun, which mutate status or launch a run without touching the agent assignment.

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

Usage Guidelines4/5

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

Gives concrete preconditions for use: the agent must already be a case-queue-consumer of the queue (trigger enabled or disabled) and must not belong to a different automation than the queue. It does not explicitly contrast with alternatives such as startRun or bulkUpdateCaseStatus, so it stops short of a full when/when-not routing statement.

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