Last Month: AI Routines, Rebuilt Marketplace Previews, and Faster Everything (August 2026)

Scheduled unattended AI runs, one-click Google sign-in, rebuilt Nordstrom, Target+, Macy's and Bloomingdale's previews, duplicate image cleanup, and large speed gains across imports, images and AI chats.

New Features

  • AI Routines — schedule an agent to run unattended on a recurring basis. Set up a routine once and it keeps working through your catalog on its own, so filling new listings doesn't have to start with someone opening a chat.
  • Sign in with Google — one-click sign-in, and if you last signed in with Google it starts automatically next time.
  • Rebuilt marketplace previews — the Nordstrom, Target+, Macy's, and Bloomingdale's listing previews were rebuilt against each marketplace's current live product page, so what you see before submitting matches what shoppers will see. Color swatches now use the actual swatch image, and Mirakl-family previews preselect the first variant.
  • Mass Enable and Disable on the listings page — enable or disable many listings at once from the channel Listings page, alongside the existing mass actions.
  • Duplicate image cleanup — Osello now identifies images that are byte-for-byte identical, reports what merging them would repoint, and merges them onto a single image. A Replace action on image tiles lets you swap an image in place.
  • Choose how much to pull — when pulling from an integration or marketplace you can now pull everything or only recent updates, and a spinner in the top bar shows you when a pull is running.
  • Rows per page — choose 10, 20, or 50 rows on the products, listings, and variants tables.
  • Source product filters on channel listings — filter a channel's listings by the tags and SKUs of the source products behind them.
  • Changes Required, split out from Rejected — a marketplace asking for edits is no longer lumped in with an outright rejection. Failed submissions land in Changes Required, and a marketplace re-reviewing a rejected variant can move it back to Pending Approval.
  • One Materials field for Nordstrom — ten separate material fields collapse into a single Materials field, and it shows the remaining percentage left to allocate instead of a running total.
  • Minimum and maximum quantities on measurement fields — pulled straight from the marketplace's own validation rules, so an out-of-range value is caught before you submit.
  • Read-only order tracking — on a marketplace Osello can't push orders to, order actions are hidden rather than offered and then refused, so it's clear the orders are there for visibility only.
  • File size limits enforced on swatch and size chart images — checked against each marketplace's limit at upload time, and the image chooser falls back progressively when a swatch or size chart source isn't available.
  • Agents can save your instructions for next time — when you tell a listing or variant agent how a field should be filled, it can save that as the channel field's instructions so future fills follow the same rule.
  • AI chats grouped by what needs you — chats are bucketed into Needs Attention, In Progress, and Done with counts, and each chat shows who started it.
  • Manage store users from the users list — invite, change, and remove members inline instead of opening a page per person.
  • Public directories and reports on the website — a partners directory, an integrations directory with per-marketplace profiles, a blog, and a Resources section of research reports including the CIPA compliance report and its interactive checker.

Improvements

  • Much faster, much lighter imports — a product's images are downloaded once instead of four times, fetched concurrently rather than variant by variant, queued for processing once per image, and fingerprinted off the critical path. Large listing import rows no longer exhaust the worker, and a row with one bad variant now imports its valid variants instead of failing entirely.
  • Faster images — cropping runs in a single pass instead of four, image prompt jobs use about 60% less memory, and re-cropping the same region no longer creates a duplicate image.
  • Dramatically faster AI chats — loading a chat's messages went from roughly 1,100 database queries to a handful, and long chats with more than 100 messages now show their full history instead of truncating.
  • More reliable syncing — stuck syncs, imports, and exports are swept up automatically, rate-limit retries and process locks no longer fail runs they should have survived, duplicate pulls queued for the same integration are coalesced, and a scoped pull is no longer silently dropped when another pull is already queued.
  • Better Shopify refunds — refunds are based on what Shopify says it can actually refund and on the tax the Shopify order really carries, marketplace refunds reach Shopify even when the retailer leaves the return open, and returned units are restocked only once the return exists on the integration.
  • Orders link themselves up as your catalog catches up — connecting a new store back-fills its orders and products, and orders that arrived before their listing existed are re-linked automatically once the listing is created or gains variants.
  • Faster Mirakl listing state updates — listing state changes are now pulled every 15 minutes from the marketplace's change feed instead of waiting for a full poll.
  • Better Mirakl imports — variant attributes are detected as configurable options, variant-level and measurement field values are imported, and products are identified by barcode where one is available.
  • Disabled listings behave consistently — a disabled listing is treated as disabled and not live everywhere, its variants follow suit, it's excluded from the state filter buckets, and it still reports its real inventory.
  • Browsing shows disabled records by default — disabled listings and variants are visible while you browse instead of hidden, so nothing quietly disappears.
  • Your unsaved edits survive background updates — a background refresh no longer wipes what you were typing, index pages refresh themselves after a delete, upload, or export, and field values update in the UI the moment they change.
  • Search matches every state — listing and variant search no longer skips records based on their state.
  • Group codes are captioned "Style" by default — matching what most stores call them, and still overridable per store or per marketplace.
  • AI image description happens when it's needed — rather than running on every image the moment it's created, which was slowing down imports.
  • Billing updates — plan SKU limits went up and live-SKU overage rates came down, team members are capped as seats rather than metered, annual subscribers see their discounted monthly rate, and every billing label now reads in sentence case.

API Updates

Version: 15.7.0

Updated/removed endpoints

  • The API reference is now grouped by model and lists only developer-facing endpoints. Endpoints that exist purely to serve the Osello app are no longer documented. Nothing was removed from the API itself, but if you were relying on the reference to enumerate everything, expect a much shorter list.
  • Listing and variant state values gained changes_required. A marketplace asking for edits reports as changes_required instead of rejected. If you match on state values, add it before upgrading.
  • Order accept, fulfill, and cancel now return 422 when the order's current state doesn't allow that action, instead of failing in a less obvious way.
  • Image assets expose what each variation changed — a derived image (a crop, a background change, an upscale) now carries a description of what that step changed and what its full lineage changed, and both are queryable.
  • A pull can be scoped to recent updates only rather than always pulling the full catalog.

Notes for API consumers

  • Api version moved 12.2.0 to 15.7.0 over the month. The changes_required state value is the change most likely to affect existing integrations.
  • Mirakl's REFUNDED order state is now mapped rather than left unhandled, so refunded lines report a real state.
  • Unpaginated index responses are faster; their total_count is unchanged.