A chatbot that knows what you sell
Connect your store and every published product becomes something your chatbot can answer about — price, availability, options and description. Edit a product in Shopify and the answer changes within seconds, with no re-training. There is no app to install and no access token to create: you create three webhooks, paste one key, and your catalog keeps itself current.
- A WhisperChat chatbot that has been trained at least once — Shopify products are added to the same knowledge base as your website widget.
- A Shopify store where you can reach Settings → Notifications. That is the Settings area, so you need owner or staff access with settings permission.
- Nothing to install. There is no Shopify app to approve and no access token to create — Shopify pushes product changes to WhisperChat over HTTPS.
Set it up in six steps
Everything below happens in two places: your Shopify admin and your chatbot's Deploy page in WhisperChat. You will move between them twice — the webhook URL comes out of WhisperChat, and the signing key goes back in.
- 1
Open the Shopify panel in WhisperChat
Go to your chatbot's Deploy page and press Connect on the Shopify card. Enter your store domain — the .myshopify.com address, or your own domain if your store uses one — and press Continue.
Store domainyour-store.myshopify.com - 2
Copy the webhook URL
WhisperChat issues a URL that is unique to this chatbot. Copy it — every webhook you create in the next step uses the same one. Keep it private: the secret inside it is what authorises requests to your chatbot.
- 3
Create the product webhooks in Shopify
In your Shopify admin go to Settings → Notifications → Webhooks and press Create webhook. Create one for each event below. For every one: set Format to JSON and paste the WhisperChat URL as the destination. Shopify cannot subscribe one webhook to several events, so this is three separate webhooks.
Events to subscribeproducts/create products/update products/delete - 4
Copy the signing secret
Once at least one webhook exists, Shopify shows a signing key underneath the webhook list. It is shared by every webhook you create by hand in this store. Copy it — this is what proves an incoming event really came from your store.
- 5
Paste it back and connect
Return to the Shopify panel in WhisperChat, paste the signing secret and press Connect store. WhisperChat immediately starts importing your existing products, which can take a few minutes on a large catalog.
- 6
Confirm it is delivering
Edit any product in Shopify — a description tweak is enough. Within a few seconds the Webhooks delivering check in the panel turns green. Until it does, the store is connected but nothing has actually arrived.
What your chatbot gains
Products join the same knowledge base as your crawled pages, so the bot can answer about them exactly as it answers about anything else.
Your catalog, in the knowledge base
Every published product becomes a source the chatbot can retrieve — title, price, availability, options, SKU, tags and description.
Prices stay current
Change a price in Shopify and the chatbot answers with the new one within seconds. No re-training, no scheduled job.
Knows what is in stock
Products report as in or out of stock based on their variants, so the bot stops recommending something you have sold out of.
Deleted products disappear
Delete or unpublish a product and its source is removed from the knowledge base, so the bot cannot keep offering it.
Links back to the product page
Each product carries its storefront URL, so answers can cite the page a shopper needs to actually buy the thing.
One knowledge base
Product answers run through the same retrieval pipeline as your crawled pages, so the bot can combine a shipping policy with a product in one reply.
Try asking: “do you have the merino crew in navy, and how much is it?” The answer comes back with the current price, whether it is in stock, and a link to the product page.
How it works
Useful if you are reviewing the integration before enabling it, or working out why something behaved the way it did.
Every event is authenticated twice
- The webhook URL carries a per-chatbot secret, so an event can only ever be attributed to the chatbot it was issued for.
- On top of that, Shopify signs each request with your store's signing key. WhisperChat recomputes the signature over the raw request body and rejects anything that does not match.
- The store domain on each event is checked against the one you connected, so pointing a second store at the same URL is refused rather than silently merging two catalogs.
Your existing products are imported once
- Webhooks only fire when something changes, so a freshly connected store would otherwise stay invisible until you happened to edit a product.
- WhisperChat reads your published catalog from your storefront when you connect, then never fetches again — after that, every webhook carries the whole product.
- Up to 10,000 products are imported. Only products published to your online store are included; drafts and unpublished items are not.
Updates are applied off the request
- Shopify gives a webhook five seconds to respond and re-embedding a product takes longer than that.
- WhisperChat acknowledges immediately and applies the change from a background worker, so a slow embedding never turns into a timeout — and a webhook that keeps timing out is one Shopify eventually deletes.
A retry never duplicates a product
- Each Shopify webhook ID is claimed in an idempotency log before the worker starts, so a redelivery is acknowledged but not applied twice.
- Products are matched on their Shopify ID, so an update rewrites the existing source rather than adding a second copy of it.
- Shopify does not guarantee ordering for events about the same product. An update older than what is already stored is discarded, so a delayed retry cannot roll a product back.
Products are stored as text, not JSON
- Each product is flattened into labelled prose — price, availability, type, brand, options, SKU, tags, link, then the description as plain text.
- That is what makes “do you have this in blue under thirty pounds” retrieve the right product: the words a shopper actually types sit next to the numbers.
Allowance and billing
- Imported products count towards your character allowance, the same as a crawled page or an uploaded document. A large catalog uses a meaningful share of it.
- Answering a question about a product costs one message from your plan, exactly like any other question. Product updates themselves are not billed as messages.
- If your allowance runs out mid-import, the import stops and says so rather than partially embedding your catalog.
Access and privacy
One secret is involved — your store's webhook signing key. Here is how it is handled, and the sharp limit on what this integration can reach.
What we store, and what you control
- Your signing secret is stored server-side and is never sent back to the browser — the panel shows a masked placeholder instead, and leaving the field empty keeps the saved value.
- WhisperChat has no access token for your store and cannot read anything from it. Only the product data Shopify chooses to send in a webhook, plus your published catalog, ever reaches us — no orders, no customers, no payment data.
- Disconnecting clears the signing secret so the endpoint starts rejecting every delivery immediately. Your imported products stay in the knowledge base until you remove them from the Sources screen, so a disconnect never silently empties your bot.
- Shopify keeps sending webhooks until you delete them in Settings → Notifications. Delete them there when you want the store fully unhooked.