/
/
Keep the HubSpot product library in step with Stripe prices
For finance and revenue teams who want HubSpot products to match Stripe pricing, by asking their AI assistant to compare and update them.
On this page
Connector
Connect Stripe, pick your AI tool and paste the prompt.
The problem
Retyping Stripe prices into HubSpot invites mistakes
Keeping the HubSpot product library in step with Stripe means opening each product, finding its active prices and retyping names, amounts and billing frequencies. Minor units, several prices per product and look-alike names make wrong prices and duplicates easy.
Without PopdockAI
- Open each Stripe product and its active prices
- Convert amounts from minor units by hand
- Search HubSpot for an existing product
- Create a second copy of one that already exists
With PopdockAI
- Active Stripe products and prices are read in your currency
- Each price is matched in HubSpot by SKU, using the Stripe price ID
- Name-only matches are flagged and metered prices left out with reasons
- You review every create and update, then each is read back
The prompt
Use this prompt
Copy it into any AI tool connected to PopdockAI. Swap the values in braces for your own.
**Objective:** Make the HubSpot product library hold one product for each active Stripe price in currency `{currency}` (default usd) on up to `{max-records}` active Stripe products (default 50, optionally only names containing `{product-name}`), matched by the Stripe price id. Nothing is written until the user confirms.
**Step 1: Read products and prices from Stripe**
Call `stripe-get-product` with `active` set to true, `name.contains` set to `{product-name}` if given and `max-records` set to `{max-records}` (50 if empty). Keep `product-id`, `name` and `description`. For each product, call `stripe-get-price` with `product-id` set to it and `active` set to true, and keep prices whose `currency` is `{currency}` (usd if empty), compared case-insensitively. Keep `price-id`, `unit-amount`, `type`, `recurring-interval`, `recurring-interval-count`, `recurring-usage-type`, `billing-scheme` and `nickname`.
Prices with `recurring-usage-type` metered or `billing-scheme` tiered have no single unit price: list them and leave them out.
**Step 2: Work out the HubSpot values**
* `sku`: the Stripe `price-id`. This is the join.
* `name`: the product `name`; when the product has more than one kept price, add the `nickname` or the interval in brackets, for example "Pro (annually)".
* `price`: `unit-amount` divided by 100 (do not divide for zero-decimal currencies such as JPY).
* `billing-frequency`: month with count 1 = monthly, 3 = quarterly, 6 = per_six_months; year with count 1 = annually, 2 = per_two_years, 3 = per_three_years; week with count 1 = weekly, 2 = biweekly. A one_time price or any other combination leaves it empty.
**Step 3: Compare with the HubSpot product library**
For each price, call `hubspot-get-products` with `sku` set to the `price-id`.
* No match: the price goes on the create list.
* One match: compare `name`, `unit-price` and `billing-frequency`. Any difference puts it on the update list with before and after values.
* More than one match: list the duplicates and leave them alone.
Also call `hubspot-get-products` with `name` set to each product name; a product found by name but not by SKU is listed as a possible match so the user can avoid a duplicate.
**Step 4: Confirm**
Show products to create (name, SKU, price, billing frequency), products to update (record-id, field, current value, new value), possible matches and skipped prices with the reason. Ask for an explicit yes and offer to exclude rows. Do not continue without a yes.
**Step 5: Write and verify**
For each confirmed new price, call `hubspot-add-product` once with `name`, `sku`, `price`, `billing-frequency` when it has one and `description` from the Stripe product. For each confirmed change, call `hubspot-update-product` once with `id` set to the HubSpot `record-id` and only the fields that differ. Then call `hubspot-get-products` with `sku` set to each price id and confirm the values. Report created, updated, failed and skipped rows.
**Rules & Guidelines:**
* `stripe-get-product` and `stripe-get-price` are on the stripe server; `hubspot-get-products`, `hubspot-add-product` and `hubspot-update-product` are on the hubspot server.
* The only write tools allowed are `hubspot-add-product`, once per confirmed new price, and `hubspot-update-product`, once per confirmed change, both only after the confirmation in Step 4. Call no other hubspot-add, hubspot-update, hubspot-rename, hubspot-remove, hubspot-subscribe, hubspot-unsubscribe or hubspot-import tool.
* The stripe server has no write tools; only the stripe read tools named here are used, and nothing is charged, refunded or sent to the customer.
* Never convert between currencies. Do not set `cost`, `product-type` or `owner-id`.
**Validation:**
* If no active price exists in `{currency}`, say so and stop.
* If the user declines or does not answer, stop with nothing written.
* If a product does not show the new values on re-read, say so and do not retry blindly.Who it's for
One answer, three teams that use it
Revenue operations
Keep quotes priced correctly
Reps quote from a product library that matches Stripe, without anyone retyping amounts.
Make sure every active Stripe price in EUR is in the HubSpot product library.
Billing managers
Roll out a price change everywhere
After changing prices in Stripe, update HubSpot products with before and after values to check.
We updated our Pro plan prices in Stripe. Update the matching HubSpot products in USD.
Sales operations
Stop duplicate products
Products found by name but not by SKU are flagged as possible duplicates rather than recreated.
Mirror Stripe prices for products named Analytics into HubSpot and flag any possible duplicates.
How it works
What PopdockAI does when you ask
You pick a currency, and your AI assistant mirrors active Stripe prices into the HubSpot product library. Nothing is written to HubSpot until you confirm, and Stripe is only read.
01
Read
It reads active Stripe products and their prices in the currency you choose.
02
Match
It looks up each price in HubSpot by SKU and flags possible duplicates by name.
03
Confirm
You review the products to create and update, with before and after values, and say yes.
04
Write
It creates and updates the HubSpot products, then reads them back to confirm.
What PopdockAI provides
The tools behind the answer
Ready made tools for Stripe and one secure connection to your AI tool. No code, no exports.
stripe-get-product
stripe-get-price
hubspot-get-products
hubspot-add-product
hubspot-update-product
This report is built from Get data tools only. PopdockAI applies the row, field and parameter rules your admin sets, and every query is written to the audit trail.
The outcome
A HubSpot product library that matches Stripe
Related use cases
More ways to put this data to work
One prompt template with infinite possibilities.
Your AI assistant adapts its approach, tone, and capabilities to match each unique context while you maintain a single, manageable workflow.
Join forward-thinking companies that are transforming their operations with intelligent, secure AI automation.

.webp)
