How to Connect an AI Chatbot to Your Shopify Store in 2026 (Step-by-Step)
Learn how to connect WhisperChat to Shopify, sync products automatically, keep prices and stock current, and answer customer product questions in real time.
Most store chatbots have one big flaw. They know your shipping policy and your return window, and then a shopper asks "is the navy one still in stock?" and the bot has nothing.
That's the gap. Policy pages are easy to train on. Your catalog isn't, because it changes every day. Prices move. Stock runs out. You add a colourway on Tuesday and pull it on Friday.
This guide shows you how to fix that: connect your Shopify store to a WhisperChat chatbot so every published product becomes something the bot can actually answer about, and stays current on its own.

What changes once it's connected
Your products join the same knowledge base as your crawled pages. Not a separate system, not a second bot - the same brain, with your catalog added to it.
Here's what that gets you:
Your whole catalog becomes answerable. Title, price, availability, options, SKU, tags and description - all of it turns into something the bot can retrieve.
Prices stay right. Change a price in Shopify and the bot answers with the new one within seconds. No re-training, no nightly sync job to babysit.
It knows what's sold out. Products report in or out of stock based on their variants, so the bot stops recommending things you can't ship.
Deleted products vanish. Delete or unpublish something and its source drops out of the knowledge base. The bot can't keep offering it.
Answers link to the buy page. Every product carries its storefront URL, so the reply points the shopper at the page where they can actually check out.
One reply can mix both. Because products sit in the same knowledge base as your policy pages, the bot can answer "does the navy crew ship to Ireland?" in a single message - product and shipping policy together.
Try it after setup with something like: "do you have the merino crew in navy, and how much is it?" You should get the current price, whether it's in stock, and a link.
Before you start
Three things to have ready:
- A trained WhisperChat chatbot. Products get added to the same knowledge base as your website widget, so if the bot hasn't been trained yet, do that first.
- Settings access on your Shopify store. You need to reach Settings → Notifications, which means owner access or staff access with the settings permission. If you can't open Settings, you'll be stuck at step 3.
- Ten minutes. That's honestly it.
Nothing gets installed. There's no app to approve in the Shopify App Store and no access token to generate - Shopify just pushes product changes to WhisperChat over HTTPS.
The setup, in six steps
You'll work in two tabs: your Shopify admin and your chatbot's Deploy page in WhisperChat. You move between them twice - the webhook URL comes out of WhisperChat, and the signing key goes back in.
Keep both open. It's much less fiddly that way.
Step 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:
your-store.myshopify.com
Press Continue.

Step 2 - Copy the webhook URL
WhisperChat gives you a URL that belongs to this chatbot and nothing else. Copy it.
You'll use the same URL for all three webhooks in the next step, so keep it on your clipboard or paste it somewhere temporary.
⚠️ Keep this private. The secret inside that URL is what authorises requests to your chatbot. Don't put it in a screenshot or a shared doc.
Step 3 - Create the product webhooks in Shopify
Now switch to your Shopify admin. Go to Settings → Notifications → Webhooks and press Create webhook.
You need three of them, one for each event:
- products/create
- products/update
- products/delete
For every single one: set Format to JSON, and paste the WhisperChat URL as the destination.
Yes, three separate webhooks. Shopify won't let one webhook cover several events, so there's no shortcut here. It takes about two minutes.

Step 4 - Copy the signing secret once at least one webhook exists, Shopify shows a signing key underneath the webhook list. Scroll down - it's easy to miss.
That key is shared by every webhook you create by hand in this store. It's what proves an incoming event really came from you and not from someone who guessed your URL.
Copy it.

Step 5 - Paste it back and connect
Return to the Shopify panel in WhisperChat, paste the signing secret, and press Connect store.
WhisperChat starts importing your existing products right away. On a big catalog this can take a few minutes, so let it run.
Step 6 - Confirm it's actually delivering
This step gets skipped a lot, and then people wonder why nothing works.
Edit any product in Shopify - a tiny description tweak is enough. Within a few seconds, the Webhooks delivering check in the panel turns green.
Until it does, your store is connected but nothing has actually
arrived. Green means the pipe is open.

Done. Your catalog now maintains itself.
What's happening behind the scenes
You don't need this to use it. Read it if you're the person who has to be comfortable before pointing a webhook at a third party.
Every event is checked twice
The webhook URL carries a per-chatbot secret, so an event can only ever be attributed to the chatbot it was issued for. Shopify also signs each request with your store's signing key, and WhisperChat recomputes that signature over the raw request body anything that doesn't match gets rejected.
There's a third check too: the store domain on each event is compared against the one you connected. Point a second store at the same URL and it's refused rather than quietly merging two catalogs into one bot.
Your existing products get imported once
Webhooks only fire when something changes. So a freshly connected store would stay invisible until you happened to edit something.
To fix that, WhisperChat reads your published catalog from your storefront the moment you connect - and then never fetches again. After that, every webhook carries the whole product with it.
Two limits worth knowing: up to 10,000 products are imported, and only products published to your online store are included. Drafts and unpublished items are skipped.
Updates are applied off the request
Shopify gives a webhook five seconds to respond, and re-embedding a product takes longer than that.
So WhisperChat acknowledges immediately and applies the change from a background worker. A slow embedding never becomes a timeout - which matters, because a webhook that keeps timing out is one Shopify eventually deletes on you.
Retries never duplicate 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 instead of adding a second copy.
There's one more guard. Shopify doesn't guarantee event order for the same product, so an update older than what's already stored gets discarded. A delayed retry can't roll a product back to yesterday's price.
Products are stored as text, not JSON
This one's more interesting than it sounds.
Each product is flattened into labelled prose - price, availability, type, brand, options, SKU, tags, link, then the description as plain text.
That's what makes a question like "do you have this in blue under thirty pounds" actually find the right product. The words a shopper types end up sitting right next to the numbers, so retrieval has something to match on.
Allowance and billing
Three things to be aware of:
- Imported products count towards your character allowance, the same as a crawled page or an uploaded document. A large catalog will use a meaningful chunk of it.
- Answering a product question costs one message from your plan, like any other question. The product updates themselves aren't billed as messages.
- If your allowance runs out mid-import, the import stops and tells you - it doesn't half-embed your catalog and leave you guessing which products made it in.
If you're running thousands of SKUs, check your plan's character allowance before you connect.
Access and privacy
Only one secret is involved here - your store's webhook signing key. And the limits on this integration are sharper than most people expect.
WhisperChat has no access token for your store. It cannot read anything from Shopify on its own. The only things that ever reach us are the product data Shopify chooses to send in a webhook, plus your published catalog at import time.
That means no orders, no customers, no payment data. Not "we don't look at it" - we can't reach it.
Your signing secret stays server-side. It's never sent back to the browser; the panel shows a masked placeholder. Leaving the field empty keeps the saved value.
Disconnecting clears the signing secret, so the endpoint starts rejecting deliveries immediately. Your imported products stay in the knowledge base until you remove them from the Sources screen - a disconnect never silently empties your bot.
One thing to remember: Shopify keeps sending webhooks until you delete them in Settings → Notifications. If you want the store fully unhooked, delete them there too.
Things that go wrong, and why
"My products weren't imported." Usually one of three reasons: they're drafts, they aren't published to the online store, or your catalog is over the 10,000 limit. Check the publish status first - it's the most common one.
"The panel says no webhook has arrived yet." Edit a product to trigger one. If it still doesn't arrive, check that the destination URL in Shopify matches exactly what WhisperChat gave you, and that the format is set to JSON.
"Syncing stopped after I changed my signing secret." Expected. Shopify's signing key is store-wide, so rotating it invalidates what WhisperChat has stored. Copy the new key and paste it into the panel again.
"The bot mentions a product I deleted." Check that the products/delete webhook exists. If you only created create and update, deletions never reach us.
"It says something's in stock when it isn't." Stock is read from variants. If you track inventory in a way Shopify doesn't reflect on the product itself, the bot won't see it.
Is this worth doing for your store?
Depends on what people ask you.
If your inbox is mostly "where's my order" - this won't help. Order tracking needs order data, and this integration deliberately can't reach it.
But if you get a steady stream of "do you have this in X", "is this still available", "how much is the large one" - that's exactly what this handles, and those questions are the ones that cost you sales when nobody replies for six hours.
Small catalogs get the most obvious win. Ten products, ten minutes of setup, and the bot never gives out a stale price again.
FAQ
Does this put the chat widget on my Shopify storefront? No. This integration syncs your product catalog. Adding the widget to your storefront is a separate step using the embed snippet.
Can the chatbot tell a customer where their order is? No. WhisperChat has no access token for your store and receives no order or customer data - only products.
Why do I have to create the webhooks myself? Because there's no app install and no access token, there's nothing that could create them on your behalf. It's the trade for an integration that can't reach your orders.
Where exactly is the signing secret? In Shopify, under Settings → Notifications → Webhooks, below the list of webhooks. It only appears once at least one webhook exists.
Can the bot say how many of something are left? It reports in stock or out of stock based on variants, not exact quantities.
What happens if I disconnect? The signing secret is cleared and deliveries are rejected. Imported products stay in your knowledge base until you remove them from Sources.
Can one store feed several chatbots? Each webhook URL belongs to one chatbot. For a second chatbot you'd create a second set of webhooks pointing at its own URL.
Do I need a developer for this? No. There's no code in any of these steps.
Wrapping up
The setup here is short, but the thing it fixes is real: a bot that talks confidently about a product you stopped selling last month is worse than no bot at all.
Three webhooks and one key, and your catalog stops being something you have to remember to update. It just tracks whatever's in Shopify.