Skip to main content
Glama

create_order_bump

Offer an order bump product on a checkout page or event (an add-on on events). It is added last. Create the product first with create_product, or find one with list_products (role: orderbump). Mutating.

Input Schema

NameRequiredDescriptionDefault
hiddenNoHide the order bump unless the page URL reveals it with `?show_order_bumps=` and the product price reference.
pageIdYesThe ID of the checkout page or event. Use the type you fetched it with (get_checkout_page or get_event).
enabledNoWhether the order bump is offered. A disabled order bump stays on the page but is not shown.
pageTypeYesThe kind of page the order bump is on: `checkout` for a checkout page, `event` for an event (where order bumps are shown as add-ons).
productIdYesID of a product with `role: orderbump` (create one with create_product, find one with list_products). It must share the page currency, have one enabled price that is not a payment plan, and not already be sold or offered on this page.
preselectedNoWhether the order bump is ticked when the page loads.
allowQuantityNoLet the customer pick a quantity. Off, the order bump is bought once.
showHideLogicNoRule that shows the order bump only for some selections. Sent whole: it replaces the stored rule.
shortenDescriptionNoClamp a long description behind a Show more toggle.

Output Schema

NameRequiredDescriptionDefault
dataYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • removedInput schema / properties / showHideLogic / properties / priceId
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "pattern": "^[0-9a-fA-F]{24}$",
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "description": "For `subject: price`: the page product price ID to watch (from get_product). A rule without one is stored but never hides anything."
      -}
    • addedInput schema / properties / showHideLogic / properties / priceIds
      Added value: +{
      +  "description": "For `subject: price`: the page product price IDs to watch (from get_product). The rule matches while the chosen price is any of them, or none of them for `is_not`. A rule without any is stored but never hides anything.",
      +  "items": {
      +    "pattern": "^[0-9a-fA-F]{24}$",
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedOutput schema / $defs / OrderBump / properties / showHideLogic / properties / priceId
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • addedOutput schema / $defs / OrderBump / properties / showHideLogic / properties / priceIds
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / $defs / OrderBump / properties / showHideLogic / required
      Previous value: -[
      -  "enabled",
      -  "subject",
      -  "comparison",
      -  "priceId",
      -  "ticketTypeIds",
      -  "orderBumpProductIds"
      -]New value: +[
      +  "enabled",
      +  "subject",
      +  "comparison",
      +  "priceIds",
      +  "ticketTypeIds",
      +  "orderBumpProductIds"
      +]
  2. Added

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so 'Mutating' adds little. Beyond that, the description doesn't cover whether re-adding a bump on the same page fails, what happens to existing bumps, or the returned resource — though the product eligibility constraints (currency match, single enabled non-plan price, not already offered) do add real behavioral context.

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?

Three short sentences, front-loaded with purpose, then prerequisites, then mutation flag. No waste, though the trailing 'Mutating.' is largely redundant with annotations.

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?

Given 9 parameters (one nested object), full schema coverage, an output schema, and annotations, the description covers the essentials an agent needs: what gets created, where, its position, and the prerequisite product state. Missing only edge-case behavior for duplicate/failed creation.

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% and nested showHideLogic is fully documented in-schema, so the baseline applies. The description only restates the product prerequisite, adding nothing about pageType/pageId selection or the show/hide rule that the schema doesn't already say.

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?

Specific verb and resource (offer/create an order bump) with the exact scope (checkout page or event, shown as an add-on on events) and the ordering constraint ('added last'). An agent can distinguish it from update_order_bump, reorder_order_bumps, and create_product without opening schemas.

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?

Explicitly lays out the prerequisite path: create the product with create_product or find one with list_products (role: orderbump). It does not say when to prefer update_order_bump over creating a new bump, but the creation context is unambiguous.

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