create_product
Create a new product in Paddle Billing to define items customers can purchase, set tax categories for accurate tax calculation, and prepare for pricing setup.
Instructions
This tool will create a new product in Paddle.
Product entities describe the items that customers can purchase. Products work with prices, which describe how much a product costs and how often it's billed.
For imageUrl, images must be hosted on an HTTPS server that's publicly accessible. Paddle doesn't upload product images to a CDN. It's recommended to use square images (1:1 ratio).
When selecting a taxCategory, choose the one that best describes the product:
digital-goods: Non-customizable digital files or media (not software) acquired with an up front payment that can be accessed without any physical product being delivered.
ebooks: Digital books and educational material which is sold with permanent rights for use by the customer.
implementation-services: Remote configuration, set-up, and integrating software on behalf of a customer.
professional-services: Services that involve the application of expertise and specialized knowledge of a software product.
saas: Products that allow users to connect to and use online or cloud-based applications over the Internet.
software-programming-services: Services that can be used to customize and white label software products.
standard: Software products that are pre-written and can be downloaded and installed onto a local device.
training-services: Training and education services related to software products.
website-hosting: Cloud storage service for personal or corporate information, assets, or intellectual property.
The tax category affects how taxes are calculated in different jurisdictions. Choose carefully as it impacts customers' tax rates. When using the standard tax category, remind the user to review the tax category in the Paddle dashboard.
Ensure you have all the information needed before making the call. Don't fabricate, imagine, or infer details and parameter values unless explicitly asked to. If anything is ambiguous, unknown, or unclear, ask the user for clarification or details before you proceed.
If successful, the response includes a copy of the new product entity. Once a product has been created, relate it to a price.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of this product. | |
| description | No | Short description for this product. | |
| type | No | Type of item. Standard items are considered part of the listed catalog and are shown in the Paddle dashboard. | |
| taxCategory | Yes | Tax category for this product. Used for charging the correct rate of tax. Selected tax category must be enabled at account level or an error is returned. | |
| imageUrl | No | Image for this product. Included in the checkout and on some customer documents. | |
| customData | No | Any structured custom key-value data needed outside of Paddle's standard fields. Occasionally used by third-parties. |
Implementation Reference
- src/functions.ts:50-57 (handler)The handler function implementing the core logic of the 'create_product' tool. It takes Paddle SDK instance and validated params, calls paddle.products.create(params), and returns the product or error.export const createProduct = async (paddle: Paddle, params: z.infer<typeof Parameters.createProductParameters>) => { try { const product = await paddle.products.create(params); return product; } catch (error) { return error; } };
- src/api.ts:11-11 (registration)Registration of the createProduct handler function to the 'create_product' tool method in the toolMap used by PaddleAPI to execute tools.[TOOL_METHODS.CREATE_PRODUCT]: funcs.createProduct,
- src/tools.ts:34-45 (registration)Tool definition and registration object for 'create_product', including method name, description prompt, parameters schema, and required permissions/actions.{ method: "create_product", name: "Create a product", description: prompts.createProductPrompt, parameters: params.createProductParameters, actions: { products: { write: true, create: true, }, }, },
- src/tools.ts:38-38 (schema)Reference to the Zod schema 'createProductParameters' used for input validation of the 'create_product' tool.parameters: params.createProductParameters,
- src/constants.ts:3-3 (helper)Constant defining the string identifier for the 'create_product' tool method.CREATE_PRODUCT: "create_product",