A batch is changes that came in closer than two minutes to each other from outside the app — an import, a bulk edit, a feed; Details narrows the log to it, Restore this batch puts the whole of it back to the moment before. by the app marks a row the app wrote on your order (a restore, an undo, a timer); nightly check marks what the 03:30 reconciliation found that no webhook told us. Undo on a row builds the preview of that product back to right before the row — in a panel above the table; nothing is written until you press the button there.
done — finished; inside, written · skipped · failed: skipped means the value moved after the preview and was left alone, failed means Shopify refused it (the row says why). failed — nothing was written. cancelled — stopped with Stop; what was already written stays, and Undo covers it. running — on its way, with progress. Undo is offered on the latest restore of those products; Changes shows the rows it wrote.
Changed — products with at least one change in the period, and under the number what moved, by field. Flagged — an open check on the product or one of its variants. Put back — products a restore wrote to in the period. Needs attention — products with a gap the snapshot can see: no description, no images, no SEO title or no product type; the chips under the number narrow the list to one gap. An import that wiped descriptions shows up here before anyone notices on the storefront. Not on sale — draft, archived or not published to the Online Store. On sale — a variant priced under its compare-at. Nothing here is written by the app: these are counts.
A group of products is one of these: A collection — the products of a sale: “Summer Sale back to the prices before it”. A vendor or a tag — a supplier feed that broke prices: vendor:Acme, tag:promo. What changed — today, yesterday, a week, a month or your own days: the products that moved, as a table; untick what should stay. A product type — every product of one type, as Shopify’s Product type field says (the taxonomy Category is a different field, not here yet). On sale now — every product with a price under its compare-at: end a sale in one restore. Everything changed between two moments — an import or a bulk edit: everything that moved in that window, nothing else. Selected products — rows you ticked in Products or Changes, from any batches. One product is not here: press Restore or Undo on its row in Changes or Products.
Before the last change — undo the newest thing that happened to the product (for a selection: to each product its own). Yesterday 23:59 — “this morning’s import broke it; yesterday evening it was fine”. A named snapshot — the moment you pinned before a sale. An exact moment — any date and time within your plan’s history: “Tuesday 14:00, before the agency started”. The preview always shows now → will be before anything is written.
A snapshot is a moment, not a copy: the app already remembers every product as it stood — title, description, handle, vendor, type, tags, SEO, manual collections, media (which, in what order, with what alt), metafields, status, and every variant’s price, compare-at, SKU, barcode and tax setting — and every change to them, so it can rebuild the store as it stood at that moment and write back exactly what differs. Details on a row shows that: how many products it held, what moved since, and the rows a restore would write. It does not hold stock or discounts (the app does not read them) and not the files of images: a removed image cannot be re-uploaded, a restore puts the order of the remaining ones back. Publication (sales channels) and option values are remembered but not written back in this version; a deleted product or variant is shown as gone, never recreated. The history after a snapshot is never purged, whatever the plan’s window.
Within five minutes of the time it builds a preview back to the snapshot — for everything, or for the collection or search you chose — and runs it like any restore: batches of twenty products, every value re-read before it is written, a report to your channels, an Undo in the restore log. On Pro or Free the timer is kept as paused, not deleted, and runs again once the plan is back.
Instant alerts and restore reports go to the channels set to red, or red and yellow; the daily digest to those with the box ticked. Each problem is sent once and closes by itself when you fix it or restore it. When many changes come at once — an import, a bulk edit, a supplier feed — the first ten alerts arrive one by one and the rest as one summary within a few minutes, red first; every finding is in Changes at once, and a time window puts them all back in one restore. Nothing about your customers is ever sent — alerts carry product names and the values that changed, nothing else.
/invite @njX Sheets Edit & Undo in that channel, then Refresh list.Every change is checked the moment Shopify reports it; the whole catalogue again every night. A red or yellow finding is sent once, when it appears, to every channel set to that level, with a Restore button where a restore fixes it; it is not repeated while it stays open, and it closes by itself when the condition is gone or the value is put back. Grey findings go to the daily digest only. Every level goes out on every plan; Free is limited by its one channel.
One message a day with every change and every open issue — or “All quiet” when nothing happened. The hour is in your store’s time zone, the one set in Shopify: Settings → General → Store details. It goes to every channel with the Daily digest box ticked. On Free an e-mail address gets it on the days when something changed or is open, and chats get it every day; on a paid plan every channel gets it every day, and the digest ends with “Restore yesterday’s changes”: one preview for everything that moved.
The weekly report goes out on Mondays at the same hour, to the same channels: what changed, what was restored, what was caught. See it now on Home → What you receive → Weekly report.
Only what you confirmed in a preview, or what a timer you set points at, and only fields it remembers: a product’s title, description, handle, vendor, type, template, tags, SEO, status, manual collections, media order and metafields, and a variant’s price, compare-at price, SKU, barcode and tax setting. Not stock, not discounts, not publication or option values. It never creates or deletes a product, a variant, an image or a metafield.
Every value is read again right before it is written. A value that moved since the preview is left alone and listed as “changed after the preview”. A preview older than 30 minutes cannot be run: build it again.
No. We show what it was — name, SKU, last price, and the fields of a product — under Products → Deleted and in Changes, so you can recreate it in Shopify. Stock and the files of images are not something we have.
To the moment the app was installed at most, and within your plan: 7 days on Free, 90 on Pro, a year on Business. Nothing is deleted before a year on any plan — moving down a plan locks the older history, it does not lose it.
Shopify allows a certain number of API calls a second per store, shared with every app you use. A restore of thousands of values is written in batches at that pace; the progress bar on the Restore screen shows where it is.
No. Shopify tells apps what changed and when, not who. The activity log in your Shopify admin shows the person.
Every active product, whatever channel sells it: the online store, Shop, Point of Sale or another one. Drafts and archived products are remembered too, but raise no alerts until they become active. Gift cards are left out on every path, the restore included: their denominations are not prices.
Telegram: the bot was removed from the chat or blocked — add it back, or make a new link in Channels. Discord: the webhook was deleted in the channel settings — create a new one and connect it again. Slack with Add to Slack: the workspace revoked the app — press Reconnect Slack. E-mail: the address bounced — check it and add it again. Press Refresh in Channels: a channel that is reachable again comes back by itself.
Raise a threshold in
Everything about your store is deleted as soon as Shopify tells us. Nothing is written to your store on uninstall: your products stay as they are at that moment.