Kifly for Shopify
One click installs Kifly on your Shopify store. This page covers what the app does, what to configure first, and what your developer needs to know.
What the app does
1. Your products become buyable by AI agents. Not just findable. When a shopper asks an AI assistant for something you sell, the agent can read your catalog, build a cart, and send the shopper to your own Shopify checkout to pay.
2. Your catalog joins an open agent endpoint. Any agent built on MCP or UCP can read it, not only one vendor's assistant.
3. An assistant runs on your storefront. It answers shopper questions from your live catalog and walks them to checkout.
Your Shopify checkout is unchanged. Shopify creates the order, decrements inventory, and fires your existing fulfillment automations, exactly as it does for any other sale.
Install
- Install Kifly from the Shopify App Store, or from your Kifly dashboard.
- Approve the permission prompt. Kifly asks for product access only, and uses it for one thing (see What Kifly writes below).
- You land in your theme editor with the Kifly app embed already switched on. Click Save. This step is easy to miss, and the assistant does not appear on your storefront until you do.
- Your catalog syncs automatically. Products arrive in Kifly as drafts.
Installing also creates your Kifly account. There is no separate signup, and no API key to copy anywhere.
Configure these first
In priority order. The first two decide whether agents can sell your products at all; the third is what separates a store agents ignore from one they recommend.
1. Make sure the products are Active in Shopify
Two different things are called a draft here, and only one of them is in Kifly.
Kifly only syncs products your Shopify checkout can actually sell. A product has to be both:
- Status: Active, not Draft or Archived
- Published to the Online Store sales channel (a product can be Active and still be hidden from your storefront if this channel is off, which is easy to miss because the status looks right)
Anything else is skipped, and your sync tells you how many were skipped for this reason. If your Kifly product count is lower than your Shopify one, that is almost always why.
This is deliberate. Your Shopify checkout will not sell a Draft product, so if one reached an agent it would build a cart that dies at checkout with nothing explaining why to the shopper.
If a product should be live and is missing from Kifly: set it Active in Shopify, confirm the Online Store sales channel is on, then re-sync from your Kifly dashboard.
If you are staging something deliberately, leave it as Draft. Kifly will ignore it until you are ready, and pick it up on the next re-sync after you activate it.
2. Publish your products in Kifly
Imported products land as drafts in Kifly too, separately from their Shopify status. A product needs all three of these before buyer agents can see it:
- A price above zero. A zero price produces broken carts and wrong totals.
- At least one image. The model deciding whether to recommend your product has very little to go on without one.
- A category. Without it, your product drops out of every category-filtered search an agent runs.
Your dashboard shows which of the three each draft is missing, and Publish all ready publishes everything that already qualifies. If a whole batch shares one category, set it in bulk rather than opening each product.
3. Add your store policies
Paste your returns, shipping and warranty policy into your Kifly dashboard. It is extracted once into structured fields for you to review, then published.
This matters more than it sounds. An agent that cannot find your return policy declines to answer rather than guessing, which reads to the shopper as a store that will not say. A published policy turns that into an answer.
4. Set your delivery settings
Where you ship and how long it takes. Agents filter on this, so a shopper asking for delivery to their state will not see you if it is unset.
5. Fill in your store profile
Display name, description, logo. This is what an agent quotes when a shopper asks who you are.
6. Optional: autonomous settlement
Off by default, and most merchants should leave it that way. It lets agents settle in USDC without a human checkout step, and requires turning on Accept x402 USDC with a wallet address first. Orders still register back into Shopify, so your fulfillment runs normally.
What Kifly writes to your store
The permission prompt says Kifly can edit your products. Shopify has no narrower product permission to ask for, so here is exactly what Kifly does with it:
Kifly writes product descriptions. Nothing else. Never price, never inventory, never title, never status, never your handle or vendor.
That is enforced in code rather than promised in a policy: one function is permitted to write to your catalog, it can only send a description, and a build check fails if any other field appears in it or if any other part of Kifly tries to write to Shopify at all.
It also only writes when your own copy is missing, very short, or a template that restates the product title. A real description you wrote is never overwritten.
Why do this at all: agents match on attributes and use cases, not keywords. A twelve-word description keeps you out of the consideration set even when everything else is right. Kifly generates copy for those products so agents can characterize them, and writes it back so your storefront and your other channels get the improvement too, rather than only Kifly.
How you get paid
Through Shopify, exactly as you do today. The agent hands the shopper to your own Shopify checkout, so you stay merchant of record and there is no separate payment onboarding to complete.
Uninstalling
Uninstalling immediately revokes Kifly's key for your storefront and stops agent traffic. Your Kifly account and catalog are kept for 30 days so a reinstall loses nothing, then removed. Reinstalling at any point in that window cancels the removal automatically.
For your developer
Requirements
- An Online Store 2.0 theme. The assistant ships as a theme app extension, so vintage themes cannot run it.
- No theme code changes. Kifly does not and cannot edit theme files.
How the widget gets on the page
An app embed block, activated in the theme editor. The publishable key it uses is delivered through an app-owned metafield and resolved at runtime, so nothing needs pasting into a template and rotating a key never requires a theme edit.
That key is origin-locked to the shop's own domains and is catalog-read plus cart-write only. It cannot take payment. It is meant to be visible in storefront HTML.
Verifying it is live
Load any storefront page and confirm the assistant mounts. If it does not, the app embed was almost certainly never saved: reopen Online Store → Themes → Customize → App embeds and confirm Kifly is toggled on.
Access scope
Kifly holds Shopify's product permission and nothing else. No order access, no customer access, no shipping or Markets access. Kifly therefore holds no Shopify customer data at all.
Catalog sync
The catalog syncs at install and can be re-synced on demand from the Kifly dashboard. Re-sync is refresh-only: it updates products Kifly already has and surfaces newly discovered ones for you to accept. It never resurrects a product you deleted.
Content Security Policy
If your storefront sets a restrictive CSP, the assistant needs to be allowed to load and to reach the Kifly API. Most Shopify themes do not set one.
Troubleshooting
The assistant is not on my storefront. The app embed was not saved. See Verifying it is live above.
My products are not showing up for agents. They are probably still drafts in Kifly. Check your dashboard for the missing price, image or category on each.
A product is in Shopify but not in Kifly. It is almost certainly not Active, or not published to the Online Store sales channel. Kifly skips products your checkout could not sell. Fix it in Shopify and re-sync.
An agent says it does not know my return policy. No policy is published yet. Agents decline rather than guess.
I reinstalled and my products are gone. If more than 30 days passed since uninstalling, the catalog was removed. Re-syncing from the dashboard restores it from Shopify.