Founding merchants lock in lifetime founder pricing.
Docs

AI

Connect AI

Connect Claude or ChatGPT to your store. It builds workflows, campaigns and offers as drafts, and never sees your subscribers or orders.

xUpsell doesn’t have an AI assistant of its own. Instead, you connect the AI you already use — Claude, ChatGPT, or any other AI client that supports MCP connectors — and it works inside xUpsell on your behalf.

Your AI does the thinking. xUpsell gives it a fixed, safe set of actions it is allowed to take on your store: reading what you already have, and building workflows, campaigns and post-purchase offers as drafts for you to review.

This is a “bring your own AI” model. You pay your AI provider directly at their rates — xUpsell adds no markup and doesn’t charge extra for this. Connect AI works on every plan.

Good to know: Connect AI never sends your store’s data to an AI model on xUpsell’s side. Your own AI client connects to your store, so your data goes to the provider you chose — and the approval screen shows you exactly which one before you agree to anything.


Before You Start

You need two things:

  1. An AI client that supports MCP connectors — Claude (desktop or web), ChatGPT, MCP Inspector, or any other MCP-compatible client. The same connection works for all of them.
  2. Access to your Shopify admin — you approve the connection there, so you need to be signed in to the store you’re connecting.

That’s it. There’s no API key to paste into xUpsell, no provider to pick inside the app, and nothing to set up beforehand.


Connecting Your AI

Step 1: Copy your connection URL

  1. Go to Settings → Connect AI
  2. Find the Your connection URL card
  3. Click Copy (the button briefly changes to Copied ✓)

The URL looks like this and is unique to your store:

https://x-upsell-ai.gadget.app/mcp/my-store

The connection URL isn’t a password. On its own it can’t read or change anything on your store. Nothing happens until you click Allow on the approval screen inside your own Shopify admin.

Step 2: Add it to your AI client

  1. In your AI client, open its Connectors or MCP servers settings
  2. Add a new connection and paste the URL

Tip: The exact wording varies by client — Claude Desktop, ChatGPT and MCP Inspector each call it something slightly different — but the URL is the same for all of them.

Step 3: Approve it in your Shopify admin

Your browser opens your Shopify admin with an approval screen. Read it, then click Allow access.

Step 4: You’re connected

The client now appears under Connected AI clients in Settings → Connect AI, with a green Connected badge and the date you connected it. It can now run xUpsell’s tools for your store.


The Approval Screen

The approval screen is the one place you decide what gets access to your store, and it’s designed so you can’t be tricked. Here’s what it shows and what to look at:

What you seeWhat it means
Store: your-store.myshopify.comThe store the connection is for. If it isn’t the store you’re signed into, the request is refused outright.
”Your store’s data will be sent to” followed by a web address in large textThis is the thing to trust. It’s the verified address your data actually goes to.
It calls itself ”…”, but that name isn’t verifiedThe AI client’s own name is shown, but marked unverified — any client can call itself anything. Judge the address, not the name.
What it will be able to doThe permissions in plain language: which store is connecting, staying connected without signing in each time, and reading your shop details plus running your store’s tools.
Expires in 4:58A live countdown. For your security the request expires after a few minutes.
Allow access / DenyYour decision. Approval is single-use — whichever you click, the request is spent.

If this screen ever appears when you didn’t just start a connection from your AI client, click Deny. That’s exactly what the warning banner on the screen is telling you.

If the countdown runs out before you approve, the request is dead — refreshing won’t revive it. Just start the connection again from your AI client and approve it promptly.


What Your AI Can and Can’t Do

It can read

  • Your workflows (automations) — including their steps, triggers and how often they’ve run
  • Your campaigns — schedules, content, status
  • Your product catalogue — titles, variants, prices, stock
  • Your store settings — name, domain, currency, timezone, plan

It can’t read

  • Your subscribers
  • Your customers
  • Your orders

That access is simply not granted to AI connections. No AI client can see who’s on your mailing list, how many subscribers you have, or what anyone bought — so if you ask, it should tell you plainly that it has no access rather than guess a number.

It can build

  • Workflows — triggered automations with email, SMS, push, waits, conditions, discounts, A/B splits and more
  • Campaigns — one-off or scheduled broadcasts by email, SMS or push
  • Post-purchase offers — the offers shown right after checkout

And it can edit, publish, unpublish, archive or delete any of those.

The full list of actions

Your AI has exactly these actions available — nothing more:

ActionWhat it does
Read store dataLooks at your workflows, campaigns, products and store settings. Never changes anything.
Create workflowBuilds a triggered automation as a draft
Create campaignBuilds a broadcast (immediate or scheduled) as a draft
Create post-purchase offer flowBuilds your after-checkout offers as a draft
Update workflow / campaign / post-purchaseEdits the name, description and content of a draft
Publish workflowTurns an automation on so it runs for real customers
Publish campaignQueues the real send
Publish post-purchaseStarts showing the offers to real shoppers at checkout
Unpublish workflowTurns a live automation off (this also covers post-purchase flows)
Unpublish campaignTakes a scheduled campaign out of the schedule
Delete workflow / campaign / post-purchaseArchives it (keeping its history) or permanently erases it

Good to know: Everything is automatically scoped to your store. There’s no store ID to supply and your AI should never ask you for one — if it does, something is wrong.


Everything Is a Draft First

Anything your AI creates or edits is saved as a draft. Drafts send nothing, show nothing to shoppers, and cost nothing against your send limit. You review them in xUpsell exactly like anything you built yourself — in the workflow editor, the campaign editor, or the post-purchase editor.

Publishing is what makes something real, and xUpsell keeps it deliberately separate from building:

Publishing thisMeans this
A workflowIt starts running for real customers as soon as its trigger fires
A campaignThe send is queued for real — an “immediate” campaign goes out to every subscriber the moment it’s published
A post-purchase offer flowReal shoppers start seeing the offers at checkout, and are really charged when they accept

Your AI can’t slip a publish past you

Two independent things protect you:

  1. Your AI client asks first. Publishing and deleting are flagged so clients like Claude stop and require your explicit confirmation before the action runs.
  2. xUpsell refuses unsafe publishes on its own, regardless of what your AI client does. It will not publish:
    • A workflow with no trigger set
    • A flow with no steps (it would show as live and never send anything)
    • Anything that’s already live
    • A workflow whose trigger already has another live workflow on it — both would run for the same customer, so every message would arrive twice. For post-purchase it’s worse: two live flows make checkout show no offer at all.
    • A campaign’s message flow on its own (it has to be published together with its campaign)
    • A post-purchase flow whose offers don’t compile correctly

Live items also can’t be edited. If you ask your AI to change something that’s currently running, it will refuse and ask you to switch it off in the xUpsell admin first.

Important: A scheduled campaign can still be pulled back before its send time — unpublishing takes it out of the schedule and cancels the queued send. But an immediate campaign starts sending the moment it’s published, and messages already on their way can’t be recalled — not by xUpsell, not by your AI, not by you. Be sure before you approve an immediate publish.


Things Worth Knowing Before You Ask Your AI to Build

  • Personalization tags don’t work. Text like {{user.name}}, {{cart_url}}, {{cart.total}}, {{product.title}} or {{order.number}} would be delivered to your customer exactly as written. The only tag that works is {{discount_code}} — in email, SMS/MMS and push notifications alike — and only when a Discount step ran earlier in the same workflow. You don’t need to type it by hand: connecting a Discount step to an SMS adds it to the message automatically, the SMS composer has a + Discount code button, the email editor lists discount_code in its variable menu, and if a message after a Discount step is still missing the tag, xUpsell warns you when you turn the workflow on.
  • Campaigns built this way go to all subscribers. Segment targeting exists in xUpsell — pick the segment yourself in the campaign editor after your AI has built the draft.
  • Post-purchase offers max out at 2 in a row (that’s Shopify’s limit, not ours), up to 3 in total if you branch them — a different follow-up depending on whether the shopper accepts or declines.
  • Post-purchase offers need a paid plan. On the free plan shoppers see nothing at checkout no matter what’s published. Basic and above include it.
  • Rewriting steps replaces them. If you ask your AI to change a flow’s steps or offers, it rewrites the whole flow — anything it leaves out is removed. Tell it which parts to keep.
  • Repeat rules repeat. If your AI publishes a campaign saved as repeating, each send re-schedules the next one automatically until the end date you set. Unpublishing the campaign stops the series.
  • A campaign can only be published once. To send the same thing again, have your AI create a new campaign.
  • Archive, don’t delete. Anything that has already run can be archived (keeping its history and letting in-progress runs finish) but not permanently deleted. Permanent deletion has no undo. Deleting a campaign removes its linked message flow too — the same as deleting it in the app.

Managing and Disconnecting Clients

Settings → Connect AI → Connected AI clients lists everything currently connected. Each row shows the client’s self-declared name, a Connected badge, the date it was connected, and a Disconnect button.

To disconnect

Click Disconnect next to the client. That’s all.

  • Access stops immediately — the client’s next request is rejected
  • The client is removed completely, not just switched off; reconnecting means going through the approval screen again from scratch
  • Nothing your AI built is deleted. Your workflows, campaigns, offers and drafts stay exactly as they are, live ones included

You can only disconnect clients connected to your own store, and there’s no limit on how many AI clients you may connect.

Good to know: The list shows when a client was connected, not when it was last used.


The Record of What Your AI Did

Every action an AI client takes on your store is recorded — successes and refusals alike. Each record captures which client it was, which action it ran, which item it acted on, whether it worked, and the full details it sent (message content, schedules, settings).

These records are written by xUpsell’s own server, not by the AI client, so a connected client can’t forge, alter or hide its own entries.

There’s no screen for this in the app today. If you ever need to know what an AI client did on your store, contact support through the ? button in the bottom-right corner of any page and we can look it up for you.


Troubleshooting

ProblemWhat’s happeningWhat to do
Nothing appeared in my AI client after I clicked AllowThe approval request most likely expired before you approved itCheck Settings → Connect AI — if the client isn’t listed, start the connection again from your AI client and approve it promptly
”This connection is for a different store than the one you’re signed into”You’re signed into a different store than the one the connection URL belongs toSign into the correct store’s admin, or copy a fresh URL from that store’s Connect AI tab
”This request expired”Approval requests are single-use and short-lived, and refreshing won’t renew themStart the connection again from your AI client
”This page is missing its connection reference”The approval screen was opened directly instead of from your AI clientStart the connection from your AI client
The approval screen appeared and I didn’t start itSomeone or something else tried to connect to your storeClick Deny
My AI says it can’t see my subscribers or ordersCorrect — that access is deliberately not grantedLook those up in Subscribers yourself
My AI says it can’t edit somethingThe item is currently live, and live items can’t be rewritten underneath youTurn it off in xUpsell (or ask your AI to unpublish it), then edit
My AI says it can’t publishOne of xUpsell’s safety checks blocked it — usually a missing trigger, an empty flow, or another live workflow on the same triggerRead the reason it gives; it names the exact problem and what to fix
My AI client says it’s being rate-limitedEach connected client can make up to 100 requests per minuteWait a moment and retry — this only happens during unusually heavy activity
My published post-purchase offers aren’t showing to shoppersPost-purchase offers require a paid planUpgrade in Settings → Plans & billing
A message went out with {{...}} visible in itA personalization tag was used, and they aren’t supportedEdit the message to remove it — only {{discount_code}} works (email, SMS and push), and only after a Discount step in the same workflow
The client name in my list looks wrongNames are self-declared by the client and not verifiedJudge connections by what you approved, and disconnect anything you don’t recognise

Frequently Asked Questions

Do I need to pay xUpsell extra for this?

No. Connect AI is available on every plan, there’s no limit on how many AI clients you can connect, and xUpsell doesn’t charge for AI usage. You pay your own AI provider at their rates.

Which AI clients work?

Any client that supports MCP connectors — Claude, ChatGPT, MCP Inspector and others. The same connection URL works for all of them.

Is my connection URL a secret?

It’s not a password and it can’t be used to read or change anything on its own — it’s just your store’s address. Still, there’s no reason to share it publicly. Anyone who tried to use it would have to get you to click Allow on an approval screen in your own Shopify admin.

Can my AI send emails to my customers without asking me?

No. Everything it builds is a draft, and only a publish makes a campaign send. Publishing requires your explicit go-ahead in your AI client, and xUpsell independently blocks publishes that aren’t safe.

Does xUpsell send my store data to an AI company?

Not on our side — xUpsell has no AI model of its own behind this feature. Your AI client connects to your store and reads what you approved, so your data goes to whichever provider you chose. That’s exactly the address shown in large text on the approval screen.

Can I review what the AI built before it goes live?

Yes, always. Drafts appear in xUpsell alongside everything else and are fully editable. Change the copy, the timing, the conditions, the discounts — or delete it.

Can the AI make mistakes?

Yes, like any AI. Review everything before you publish: email content, timing, conditions, discounts and schedules. It gives you a fast first draft; your review makes it right.

Can I undo what the AI created?

Yes. Delete or archive anything you don’t want. Nothing goes live on its own — publishing is always a separate, deliberate step.

Can I connect more than one AI client?

Yes, as many as you like. Each one is approved separately and appears in the Connected AI clients list, and you can disconnect any of them individually.

Will disconnecting delete the workflows my AI built?

No. Disconnecting only removes the client’s access. Everything it created stays, including anything that’s live.

What happens if I disconnect while my AI is mid-task?

Its very next request fails. Anything already saved stays saved — drafts remain drafts, and anything published stays published until you unpublish it.

Does my AI count against my send limit?

Only when something it built actually sends. Drafts cost nothing. Once you publish a campaign, its emails and SMS count toward your plan’s send limit like any other send.