Appearance
Job history & rollback
See every job that ran, inspect partial failures, and roll back supported changes with the stored “before” values.
When to use Job History
- Verify that a job finished (Queued → Running → Completed).
- Review warnings or partial failures before trusting the results.
- Roll back supported fields without rebuilding a CSV or manual edits.
Open the app → Job History (left nav) → choose a job to view its summary, affected counts, and per-field breakdown.
Understand job statuses
- Queued — the job is waiting for earlier jobs or Shopify rate limits to clear.
- Running — batches are processing; the progress bar and per-field counters update in real time.
- Completed — the job finished without outstanding retries.
- Completed with warnings — some rows failed; the banner lists failure reasons and links to CSV exports of the affected rows.
- Failed — the job stopped altogether. Retry after addressing the error or contact support.
Rollback basics
- Open Job History → select the job.
- Review the summary to confirm scope and status.
- Click Rollback (only present when “before” values were stored for that action).
- Confirm the scope; the rollback job replays the stored “before” values.
- Monitor the rollback job like any other job. Partial failures will be called out with links to the affected rows so you can address them manually.
Rollbacks are fastest when run soon after the original job because data hasn’t drifted. If a row cannot be restored (for example, Shopify rejects a field because the product was deleted), the rollback job highlights it so you can take manual action. After your plan’s rollback window, tasks are archived: they stay in Job History for audit, but rollback and duplicate are disabled until you manually delete the task.
What rollback can and cannot do
This table mirrors the in-app rollback coverage table.
| Action / field | Underlying field(s) | Rollback supported? | Notes & limitations |
|---|---|---|---|
| Title | Product title | Yes – stored “before” values are replayed for this field. | Runs once per product. Restores the exact previous title stored by the job. |
| Description | Product description | Yes – stored “before” values are replayed for this field. | Runs once per product. Long descriptions are restored in full where capture succeeded. |
| SEO Title | Product SEO title | Yes – through the SEO/Title actions when those fields were edited. | Product-level only. Restores the previous SEO title string for affected products. |
| SEO Description | Product SEO description | Yes – through the SEO/Description actions when those fields were edited. | Product-level only. Restores the previous SEO description text. |
| Metafields | Product metafields (namespace.key) | Yes – for metafields edited by this app when rollback data is available. | If a metafield existed, its previous value is restored; if it was created by the job, it is deleted. |
| Handle | Product handle | Yes – when the handle was changed by this app and history is available. | Restores the previous handle value. Cannot restore handles for edits made outside this app. |
| Vendor | Product vendor | Yes – for vendor edits made by this app. | Restores the previous vendor string on affected products. |
| Product type | Product product type | Yes – for product type edits made by this app. | Restores the previous product type string on affected products. |
| Tags | Product tags | Yes – for tag add/remove/replace operations from this app. | Inverts add/remove operations to restore the previous tag set where possible. |
| Variant SKU | Variant SKU | Yes – for SKU edits driven by this app. | Restores previous SKU values on the affected variants where history is stored. |
| Variant barcode | Variant barcode | Yes – for barcode edits driven by this app. | Restores previous barcode values on the affected variants where history is stored. |
| Price & compare-at price | Variant price and compare-at price | Yes – for price actions run through this app. | Restores each affected variant’s previous price and compare-at price using stored “before” values. |
| Collections | Product collection membership | Yes – for collection add/remove operations made by this app. | Inverts add/remove so products are re-added to or removed from the affected collections. |
| Status | Product status | Yes – when status was changed by this app and a valid previous state was captured. | Restores status to the previous ACTIVE, DRAFT, or ARCHIVED state when available. |
| Variant add | New variants created by this app | Yes – for variants created by the job. | Rollback deletes variants that were created as part of the job. |
| Variant delete | Variants deleted by this app | Yes – when previous variant structure was captured. | Rollback recreates deleted variants from stored “before” data where available. |
| Variant edit | Variant price / compare-at / SKU / barcode edits | Yes – for variant field edits made by this app. | Restores previous price, compare-at price, SKU, and barcode values on edited variants. |
| Variants & options clone | Replace variants + options from a source product | No (for now). | Clone is destructive and not yet rollbackable. |
| Option rename / reorder | Option names, option order, option value order | No (for now). | These structural changes are not yet rollbackable. |
| CSV imports (coming soon) | ⚠️ | CSV import/export is not yet generally available. When CSV launches, CSV jobs that map to supported fields can roll back; large blended CSVs (mix of supported + unsupported columns) may require manual reverts. | |
| Jobs older than your plan’s rollback window | ⚠️ | Tasks become read-only (rollback/duplicate disabled) but remain visible until you delete them. |
Use this table anywhere you mention rollback so merchants know what to expect.
When to contact support
- The rollback button is missing for a job that previously exposed it.
- Partial failures persist after a retry.
- You need to roll back unsupported changes (very old jobs, Shopify-rejected rows, etc.).
Collect the details in the Support & contact checklist—shop URL, job ID, Job History screenshots, and CSV snippets—before emailing support@xyppy.com.
See also
- FAQ
- Update prices in bulk
- Manage product tags
- Edit metafields
- Troubleshooting → Job stuck or slow
- Troubleshooting → Rate-limited edits
- Support checklist
Was this helpful?
Let us know what to improve by following the Support & contact checklist and emailing support@xyppy.com or opening an issue at GitHub Issues.