Skip to main content
Glama

conduyt_cancel_drip_enrollment_barrier

Cancels a drip enrollment's send barrier by resolving parked, queued, or failed webhook logs. Choose skip to advance as delivered or resend to send again with duplicate-risk acknowledgment.

Instructions

Cancel a drip enrollment's whole send barrier (POST /api/v1/drip-enrollments/{id}/cancel-barrier; admin or owner, the drip-enrollments scope): every parked / queued / failed webhook log of the enrollment is cancelled, including the case where no webhook log exists at all (the processor died after writing its marker). Without a resolution the barrier STANDS (nothing is sent). resolution 'skip' assumes the current step was delivered: the processor advances without sending. resolution 'resend' makes the processor rebuild and send the step AGAIN (a possible duplicate SMS): refused unless acknowledgeDuplicateRisk is true. Answers 404 (no such enrollment), 409 drip_send_in_flight (a request is in flight: retry in a minute) or 409 step_already_sent (the step already carries sent evidence: a resend would only advance it, use 'skip'). The response carries resolution, resendScheduled, advanceScheduled, logsCancelled, markersResolved, handedBack and barrierStanding.

Input Schema

NameRequiredDescriptionDefault
idYesDrip enrollment UUID
resolutionNoOmit to cancel only (the barrier stands). 'skip' = assume delivered, advance. 'resend' = send the step again (duplicate risk: needs acknowledgeDuplicateRisk)
acknowledgeDuplicateRiskNoRequired true with resolution 'resend': you accept the step may be delivered twice

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv4.71.0

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so thoroughly: it discloses the destructive effect on parked/queued/failed webhook logs, the edge case of no log existing, the barrier standing without resolution, the duplicate SMS risk with 'resend' and its guard (acknowledgeDuplicateRisk), and the full set of HTTP error conditions. This is rich behavioral context beyond what any structured field provides.

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?

The description is a single dense paragraph with front-loaded purpose and scoping, followed by resolution semantics and error code handling. Every sentence contributes information, though the length and semicolon-heavy structure could be slightly harder to scan than a bulleted form.

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

Completeness5/5

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

Given the tool's complexity (mutation with error branching and duplicate risk), no output schema, and complete parameter coverage in the schema, the description is complete: it covers permissions, behavior, resolutions, edge cases, error codes, and response fields. An agent has everything needed to invoke it correctly.

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 input schema already documents all three parameters including the resolution enum and the duplicate-risk flag. The description largely repeats that information (e.g., 'omitted = cancel only', 'skip = assume delivered, advance', 'resend needs acknowledgeDuplicateRisk') without adding new semantic detail about parameter formatting or interplay. Baseline 3 is appropriate when the schema does the heavy lifting.

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?

The description states a specific verb (cancel), resource (drip enrollment's send barrier), and scope (whole barrier including webhook logs), and distinguishes it from other enrollment operations by describing exactly what gets cancelled. An agent can tell this is a targeted mutation for a stuck send barrier.

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?

It explicitly specifies when to use the tool (cancelling a barrier), how to use it with and without a resolution, what each resolution does, and how to handle error responses (e.g., 409 step_already_sent → use 'skip'). It also notes permissions (admin or owner, drip-enrollments scope). This is clear when/when-not guidance.

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

Deploy Server

Other Tools