Create a product
create_productAdds a product to a page's catalogue. It is not on the page until a product block places it there — use put_page for that. For something delivered after payment, like a course or a download, set deliveryUrl. Show the title, price and currency. Before calling, show the person exactly what will be saved and get their explicit yes in the conversation. Never assume a currency.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | What the product is called. | |
| policy | No | Refund and terms shown to the customer before they book. | |
| pricing | Yes | How it is paid for. "stripe" takes real money and needs Stripe connected; "display" only shows a price; "free" is no charge. Ask the person which currency they charge in before suggesting a price — never assume US dollars, and say the currency whenever you quote an amount. | |
| support | No | How a customer reaches the seller about a booking. | |
| business | Yes | The page handle, as it appears in keepp.link/<handle>. | |
| mediaUrls | No | Up to 5 image URLs. Outside images are downloaded and stored on Keepp; nothing needs uploading. | |
| questions | No | Extra questions asked of the customer. Send the list back as get_product or get_booking_unit gave it. | |
| stockLimit | No | How many can be sold; null for unlimited. | |
| deliveryUrl | No | What a buyer gets after paying: the course, download or file link. Shown on the buyer's order page once they have paid (their confirmation email links there, and never contains it). | |
| description | No | ||
| quantitySelectable | No | Whether a buyer can choose how many to buy. | |
| deliveryInstructions | No | Shown with the delivery link on the buyer's order page after paying. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | ||
| created | Yes | False when the person declined, and nothing was created. | |
| productId | No |