Skip to content
Agentmart
Submit a tool

zuora-dynamic-pricing-build

Execute a Commerce Catalog dynamic pricing setup — create custom fields, attributes, products, plans, charges, and rate cards on the tenant

Skill by zuora

IndexedMIT★ 2
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/zuora-zuora-dynamic-pricing-build

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Execute a Commerce Catalog dynamic pricing setup — create custom fields, attributes, products, plans, charges, and rate cards on the tenant

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/zuora-dynamic-pricing-build

What's inside

Skill name
zuora-dynamic-pricing-build
Description
Execute a Commerce Catalog dynamic pricing setup — create custom fields, attributes, products, plans, charges, and rate cards on the tenant
License
MIT
Instructions
557 lines in SKILL.md · view on GitHub

Agent Skills spec issues

  • allowed-tools: must be a space-separated string
  • body: 557 lines (spec recommends under 500)

Files (1)

  • SKILL.md

SKILL.md (first lines)

You are executing a Commerce Catalog dynamic pricing setup directly on the user's Zuora tenant. This skill uses MCP tools to perform operations — it does NOT generate code.

## Preflight: Check DynamicPricing is enabled

Before proceeding, call `manage_commerce_charges` with `{"help": true, "operation": "create_charge"}`. If the tool is not available (not listed / not found), stop and tell the user:

> The DynamicPricing feature is not enabled on this tenant. Enable it at **Settings > Billing > Manage Features > Commerce**, then retry.

## Input

The user's request: $ARGUMENTS

This could be:
- A reference to a design from `/zuora-dynamic-pricing-design`
- Direct instructions to create/update catalog entities
- A request to update rate card prices or add new rows/attribute values

If the input is a raw business requirement (not a confirmed design artifact), **stop and ask the user to run `/zuora-dynamic-pricing-design` first** so the design can be reviewed and approved before any catalog mutations occur. Only proceed directly when the user supplies a previously approved design or gives explicit, self-contained build instructions.

**CSV / spreadsheets:** Do not invent catalog structure directly from a CSV in this skill. If the user only provides a price file, send them to `/zuora-dynamic-pricing-design` (which maps arbitrary CSV columns → design). Build only from an approved design that already resolved column roles, charge model (`tiered` vs `volume`), attributes, and tier `upTo` chains.

## Tool routing

- `manage_commerce_context_attributes` — create/update context attributes
- `manage_commerce_products` — create/update/delete products (can include plans and charges in one call)
- `manage_commerce_plans` — create/update/delete plans
- `manage_commerce_charges` — create/update/delete/query charges, update tier prices. Use `help: true` for per-operation guidance before calling.
- `manage_custom_fields` — list/add/update custom field definitions on standard Zuora objects
- `query_objects` — look up existing entities, tier IDs, custom field definitions
- `mcp__zuora-mcp__ask_zuora` — only as a fallback for unresolved product-behavior questions after checking charge help first

## Workflow

### Step 0: Ensure mapped fields exist

Attributes can map to **standard fields** or **custom fields** (`__c` suffix). Standard fields already exist — only custom fields need creation.

To discover available fields on an object, call `query_objects` with `help: "fields"` and the target `objectType`.

Attributes can map to fields on multiple objects:
- `Account` — standard or custom fields
- `Account.BillToContact` — fields from the bill-to contact on the account
- `Account.SoldToContact` — fields from the sold-to contact on the account
- `Subscription` — standard or custom fields
- `RatePlan` — standard or custom fields
- `Usage` — usage record fields (preferred for usage charges)

**Mapping level:** If the design doesn't specify the mapping object for an attribute, confirm with the user before proceeding. Choose based on at what granularity the value changes:
- `account` — fixed per customer, shared across all subscriptions
- `subscription` — can differ between subscriptions for the same customer
- `rate_plan` — set per rate plan instance within a subscription
- `usage` — varies per event/record (only available on usage charges)

**If custom fields are needed**, use `manage_custom_fields` to add them. First call `list_custom_fields` with the target `objectType` to check what exists, then `add_custom_field` for each missing field:
- `objectType` — e.g., `Account`, `Subscription`, `RatePlan`
- `fieldName` — must end with `__c` (auto-appended if omitted)
- `label` — display name in Zuora UI
- `fieldType` — `string` or `integer` (default: `string`)

Confirm each custom field was created successfully before proceeding.

### Step 1: Setup context attributes

Create or update context attributes that drive dynamic pricing.

**List existing:**
```
Tool: manage_commerce_context_attributes
operation: list_attributes
```

**Create new attribute (custom field mapping):**
```
Tool: manage_commerce_context_attributes
operation: create_attribute
contextSchemaId: "location"
attributeJson: {
  "slug": "region",
  "name": "Region",
  "type": "STRING",
  "mapping": [{
    "slug": "zuora-region",
    "sourceSystem": "zuora",
    "path": "Account.Region__c",
    "validValues": {"stringValues": ["US", "EU", "APAC"]}
  }]
}
```

**Create attribute mapped to standard field:**

First use `query_objects` with `help: "fields"` and `objectType: "Account"` to confirm the standard field name, then:
```
Tool: manage_commerce_context_attributes
operation: create_attribute
contextSchemaId: "customer_context"
attributeJson: {
  "slug": "currency",
  "name": "Currency",
  "type": "STRING",
  "mapping": [{
    "slug": "zuora-currency",
    "sourceSystem": "zuora",
    "path": "Account.Currency",
    "validValues": {"stringValues": ["USD", "EUR", "GBP"]}
  }]
}
```

**Add new values to existing attribute:**
```
Tool: manage_commerce_context_attributes
operation: update_attribute_values
contextSchemaId: "location"
attributeSlug: "region"
... (add new valid values)
```

### Step 2: Create product

From zuora/zuora-coding-agent, MIT.

More from zuora/zuora-coding-agent

Signals

Stars
2
Forks
3
Open issues
1
Last commit (this folder)
Sep 28, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from zuora

Cite this page

zuora-dynamic-pricing-build skill. Agent Mart. https://agentmart.dev/skills/zuora-zuora-dynamic-pricing-build (last updated 2026-10-24)