Let a taxonomy place products in more than one category
Multiple categories per product
When you create a custom taxonomy, you can now turn on Allow multiple categories per product so the AI can place each product in several categories at once instead of just one. A new Multicategory Agent Settings section in Classification Settings sets the most categories a product can get (1 to 5) and whether a category and one of its own subcategories can be held together. You can also tick or untick a product’s categories by hand. This is a permanent choice made when the taxonomy is created, and single-category taxonomies, including the built-in Cernel Taxonomy, are unchanged.See Placing products in more than one category.Shift-click to select a range of attributes when starting enrichment
Select a range of attributes at once
In the Configure Enrichment modal, you can now click one attribute, hold Shift, and click another to select every attribute between the two in one go. The range follows the list as displayed, so it respects whatever you’ve typed in the attribute search box. This makes picking a long run of attributes faster on categories with large attribute sets.See Running enrichment.Select across the product table to set, clear, or enrich many values at once
Bulk edit values from the product table
A new Bulk select mode turns the product table into a grid you can select across. Pick individual values, whole rows, or whole columns (drag or hold Shift to take a block), then set a shared value, clear the field, or send the whole selection to enrichment in one action. Manual edits ask you to confirm the count first, and a Send for review option lets the changes wait for approval instead of writing straight to your products. The same bulk selection works on the Review surface.See Editing values in bulk.Poll product completeness through the changes API
Track product completeness over the API
The product changes endpoint can now return a per-product completeness summary. Passinclude_summary=true and each change carries how many attributes the product’s category defines, how many of those an AI agent can fill, and how many are populated in each enabled language. This lets a custom pipeline show enrichment progress or gate a downstream publish without a separate lookup.See Tracking product completeness.Rename a job from the Jobs list at any time
Rename a job
You can now rename any job from the Jobs page, in any status. Enrichment setup has several steps and the job title is easy to skip past, so the Rename job action in a job’s Actions column lets you give a run a clearer name after it has started, or even once it has finished. The new name shows everywhere the job appears, including the header job-status list.See Renaming a job.Delete an automation straight from the Automations list
Delete an automation from the list
You can now delete an automation directly from the Automations list through its row menu, without opening the automation first. Deleting is permanent and asks you to confirm, and the built-in Cernel Classification Automation can’t be removed. Previously delete was only available on an automation’s detail page.See List-view actions.Shopify import now brings in each product's storefront URL and handle, plus per-variant URLs and IDs
Shopify import adds store URLs, handles, and variant IDs
The Shopify integration now imports a few more identifiers alongside the existing product data. For each product you get its online store URL and its URL handle (the storefront slug), and for each variant you get the variant’s Shopify ID and its online store URL (the storefront link with that variant preselected). The online store URL is populated for products published to your Online Store sales channel; products that aren’t published there import without a URL until you publish them.See What data syncs.CSV import reads Excel 'CSV UTF-8' files, including UTF-16 and UTF-32 with a byte-order mark
CSV import handles more file encodings
CSV import now reads an Excel CSV UTF-8 export exactly as saved. Previously the file’s leading byte-order mark attached to the first column header, so that column matched nothing and silently dropped from the import. UTF-16 and UTF-32 files that start with a byte-order mark are also read correctly. When a file’s encoding can’t be determined, Cernel stops the import and asks you to re-save as CSV UTF-8, rather than importing scrambled text.See the CSV import FAQ.Variant values now appear in the Review queue under a category or filter
Variants show up in Review
Proposed values for product variants now appear on the Review surface whenever you select a category in the sidebar or apply a search or filter, alongside their parent products. Previously these variant values dropped out of view as soon as a category or filter was applied, leaving that enrichment work with no way to reach it. Each variant now lists as its own row and is approved, edited, or rejected like any product, and the header select all includes variant values when you decide a whole category or job at once.See the enrichment FAQ.See a product's own activity log on its new Events tab
Events tab on the product detail page
The product detail page gains an Events tab that lists the system activity Cernel has recorded for that specific product, such as when it was enriched, classified, or synced with an integration. Each entry is graded Info or Error, so you can filter by minimum severity to focus on problems, and expand a row for the full details. The feed is scoped to the product you’re viewing, so it never mixes in another product’s activity.See Working with a product.A single unusable product image no longer fails the whole enrichment
Enrichment tolerates unusable images
When one of a product’s images can’t be processed (it can’t be fetched, isn’t a valid image, or is unusually large), Cernel now skips just that image and generates the value from the product’s remaining inputs, instead of failing the enrichment. A run only fails when no usable input is left. The agent also records a short note in its Reasoning when it leaves an image out, so you can tell exactly what was skipped and why.See the enrichment FAQ.Select all in Review now decides every matching value, not just the loaded page
Select all covers the whole review queue
Using select all on the Review surface now approves or rejects every in-review value that matches your current filters, including products beyond the ones loaded on screen. In a single-job review, it covers that job’s entire pending set. Previously select all only reached the rows already loaded, so a large queue needed scrolling to the bottom before you could decide it in one action. You can still deselect individual products to leave them out, and the confirmation dialog notes how many you excluded.See Approving, rejecting, and dismissing.Translated content keeps the original prompt's length, tone, and format rules
Higher-quality translations
When a language is set to Translate, Cernel now follows the same length, tone, and format rules that the original prompt used when it generated the source value. A value written to a 150-word limit, for example, stays within that limit after translation instead of drifting. Every translated value also passes the same quality check Cernel applies to generated content, so output that comes back corrupted is rejected and retried automatically.See Languages.Search and filter your product table down to individual variants
Search within child products
The product table’s search and filters now reach child products, not just parents. Turn on the new Search within children toggle in the toolbar (available once you’ve entered a search or applied a filter) and matching variants appear under their parent product, with columns for the properties that set each one apart and the matched text highlighted. This makes it easy to find and act on individual variants, which previously the table’s search and filters could not target.See the variant search FAQ.Exclude products by value with the new Does not contain filter
New “Does not contain” product filter
The product list gains a Does not contain operator, so you can filter to the products whose attribute value does not include a term you enter. It joins the existing operators (Equals, Contains, Has data, Has no data, and more) for building enrichment batches and finding the products you want to work on.See Filtering the product list.The enrichment modal now includes child products by default
Enrichment includes variants by default
When you open the enrichment modal, Product Scope now starts on Include child products, so a master product and its variants are enriched together. Variant-heavy catalogs no longer need to change the scope on every run. You can still narrow it to the selected products only, or to only child products, per run.See Running enrichment.Automations now carry the full set of enrichment options
Enrichment options for automations
Automations now offer the same controls as a manual enrichment run. Set the Product Scope to reach child products, toggle Review to decide whether results wait for approval or apply automatically, turn on Only enrich missing fields to backfill without overwriting, and use Language Configuration to generate, translate, or skip each language. The options are saved with the automation and applied to every run it triggers.See Enrichment options.Shopify measurement metafields now import with their units
Fuller Shopify metafield import
The Shopify integration now imports every metafield value type. Measurement metafields (weight, dimensions, volume, temperature, and similar) import as a numeric value together with its unit, and their multi-value list variants come through as lists. Value types Cernel doesn’t model natively import as plain text so nothing is dropped.See What data syncs.A rebuilt product detail page with completeness, per-language editing, variants, and integration data
A richer product detail page
Opening a product now gives you everything Cernel holds for it in one place. A Completeness ring shows how much of the category’s attribute set is filled in, and the Attributes tab lists every value with its language coverage and its origin (enriched, manual, or imported). Edit a value inline, fill in a missing one, or open Edit translations to update every language at once. Each value keeps a version history you can restore from.Products with variants get a Variants tab showing what makes each one distinct, and every connected integration gets its own tab with the raw properties it sends and how they map to your attributes.See Product detail for the full guide.Name, search, filter, and cancel your enrichment jobs
Manage your jobs more easily
You can now give an enrichment run a Title when you start it, so it’s easy to find on the Jobs page later. Leave it blank and Cernel names the job for you from the attributes and category you picked. The Jobs page also gained a search box and filters (status, trigger, who started it, product, and date range) to narrow a long history, and you can now cancel a job that’s still pending or running straight from its row.See The Jobs page.Reuse an existing CSV import as a template, even when the new file's columns differ
Reuse a CSV import as a template
You can now start a new CSV import from an existing one with Use as template for new import, even when the file you upload doesn’t line up with the original column for column. Cernel matches columns by name: columns that match keep their original mapping, and anything new starts in Skipped columns, ready for you to map. A vendor changing or reordering their columns no longer blocks the reuse.See Importing products from a CSV.A reworked Jobs experience and a dedicated Review surface for AI-proposed values
Jobs & Review
Enrichment now cleanly separates running a job from deciding what goes live. The Jobs page tracks every run (status, progress, and who started it) while the new Review surface is where you approve, edit, or reject the values your agents propose. Work through one product at a time or decide in bulk; open a job to review just its values, or switch to Review on the Products area to handle everything waiting for a decision. Each proposed value shows the prompt, the agent’s reasoning, and the inputs behind it, so you can decide with full context.See Jobs & Review for the full guide, or read the story behind it on the blog.A new agent type that selects the best value from a set of candidates
Picker agent (Preview)
A new Picker agent type selects the best value (or values) from a set of candidates, instead of generating new content: the cleanest packshot, the strongest tagline, or the top few options. It runs in two phases: find candidates (from your prompt, your catalog, or your Data Sources), then pick from them by letting the AI rank against a rubric or by choosing at random.Picker is an early-access Preview feature whose behavior may change.See Picker agent.A rebuilt CSV import and export experience
Redesigned CSV import and export
CSV import and export now have a dedicated home in the sidebar. Open CSV under Tools. Importing walks you through where your file comes from (a catalog you manage in one place, or vendor files that arrive in many shapes), suggests how each column maps to your attributes and product identifiers, and shows a preview of exactly what will be created or updated before the import runs.Exporting is now template-based: save a reusable column layout as a CSV export template, then run it from the Products page whenever you need a file. You can still pick columns ad hoc at export time.See CSV Import & Export for the full guide, or read the story behind the redesign on the blog.Re-run property mappings on API integrations without re-sending products
Reapply mappings for API integrations
After you change an attribute, an agent, or a property mapping, you can now re-run the current mappings across every product in an API integration. Open the integration’s Settings menu and choose Reset Integration → Reapply mappings. Because API integrations receive products directly, there’s nothing to re-import; reapplying mappings re-processes your existing products in place, much faster than a full restart.See Managing the product lifecycle.Pin the agent type when creating an agent from a description
Choose the agent type up front
When you create an agent by describing what it should do, you can now optionally pin the type of content it generates (Text, HTML, Single Select, Multi Select, External Data, or Media) before Cernel writes the prompt. Leave it unset and Cernel detects the type from your description, or select one to lock it in when you already know what you need (for example, Single Select for a gender classifier).See Creating an agent.Replace generated image backgrounds with a single exact color
Recolor image backgrounds on Media agents
Media agents that generate images can now replace the background of every image with one solid color, ideal for product and studio shots that need a clean, consistent backdrop. Open the Media agent’s Advanced Settings tab and switch on Recolor background to set the target color, choose how shadows are handled (Replace background, Preserve shadows, or Hybrid), and pick the edge-processing engine.See Advanced configuration.Control the automatic language instruction per language
Per-language enrichment toggle
Each language’s detail page (Tools > Languages → click a language) now has a Use translation prompt for all language enrichments toggle. While it’s on - the default - Cernel automatically instructs your agents to write that language’s enriched content in that language, so output always comes back correctly localised. Turn it off when you’d rather control the output language entirely through your own prompts.See Setting up languages.Control the alt text and file names of AI-generated images
Alt text and file name instructions for Media agents
Media agents that generate images now have Alt Text Instructions and File Name Instructions fields in the Advanced Settings tab. Tell the AI how to describe each image (for accessibility and SEO) and how to name the generated file, and reference product data like the title or color by typing/. Leave a field empty to keep Cernel’s defaults.See Media agents: image output, alt text, and file names.Watch the agent sandbox generate results live
Live streaming in the agent sandbox
The agent sandbox’s Review & Test step now streams results live. Each product’s card updates with a rotating status as the agent works and shows its output the moment that product finishes, so early results appear while the rest are still running, instead of everything landing at the end. Click View live agent thinking on a card to watch the agent’s reasoning stream in real time; it stays available afterward, including for products that errored, so you can see what the agent did before a failure.See Run the agent.Faster prompt picker and live progress on CSV exports
Breadcrumb navigation in the prompt reference picker
The/ reference picker in the agent prompt editor now shows a clickable breadcrumb trail at the top of each submenu (for example, Data Sources > Models > ToV), so you can jump back to a parent level instead of starting over. Search inside the picker is also space-tolerant: type Specifications type 1 and it matches entries named specifications_type_1.See Referencing Data Sources in your prompt.Live counter on CSV exports
The Export to CSV modal now shows a live Exported N products count on the button while the file streams, replacing the previous spinner. Large exports finally show their progress instead of looking stuck.See Download the CSV.Push and pull product data in several languages from one API integration
Multiple languages per API integration
An API integration is no longer locked to a single language. Pick any number of languages when you create or edit the integration; the first one becomes Primary and acts as the fallback when a property is pushed without a language. Properties carry an optionallocale field, and Cernel stores each localized variant separately and surfaces it to enrichment, the product UI, and the /changes endpoint.The new PATCH /products and GET /products endpoints (see Patching products and Listing products) shipped alongside, so you can update individual localized values and look products up by identifier without re-sending full payloads.See Setting up the API integration and Working with multiple languages.Enrich only the attributes that are currently empty
Only enrich missing fields
The enrichment modal has a new Only enrich missing fields toggle. Turn it on and the AI only generates values for attributes that are currently empty; existing values you’ve reviewed or hand-edited are left alone. Turn it off to re-enrich every selected attribute and overwrite current values. Use it to backfill a newly-added attribute across a large catalog without touching products you’ve already finished.See Running enrichment.Cancel a sandbox run, no more auto-runs
Sandbox stays put until you tell it to run
The agent sandbox no longer auto-runs when you open the Review & Test step, switch attribute types, or send a chat refinement. The 5 random products are still pre-selected for you, but Cernel waits for an explicit Run click before calling the LLM. Chat refinements still rewrite the prompt and save a new version in history. You click Re-run when you want to see the new output. This puts you in control of when the (potentially slow) enrichment pass actually fires.Cancel an in-progress sandbox run
While a sandbox run is in flight, the Run button becomes Cancel. Click it to abort the request immediately. Any results that already came back are kept, you get a Run cancelled toast, and the button returns to a startable state so you can adjust and try again. Especially useful for External Data agents in Agentic mode, where a single pass can take a couple of minutes.See Run the agent.Web research without writing search queries by hand
Agentic mode for External Data web research
External Data agents that pull text data from the web now have a Mode selector with two options:- Classic: you define the exact search queries and trusted sources; Cernel searches them and combines the results.
- Agentic: Cernel plans and runs the searches itself, one product at a time, based on each product’s details. You don’t write search queries; you control scope through Block these domains and Restrict to these domains, and accuracy through Match by (a product identifier such as SKU or GTIN, or Broad search on the title).
Enable Shopify product variants from the integration detail panel
Shopify product variants
Shopify integrations now have a Variants control on the integration detail panel. Click Enable, confirm the dialog, and Cernel starts importing each Shopify variant as its own variant record under the parent product. Enabling variants is a one-way action, so the dialog warns up front before you commit.See Working with product variants.Connect Struct PIM workspaces with two-way sync
Struct PIM is now a supported integration
Connect a Struct PIM workspace directly from Tools > Integrations > Add integration. Both Struct PIM v3 and v4 are supported, and you can optionally target a specific dimension when Cernel pushes enriched content back to Struct PIM.See Struct PIM integration.New Automations page, sentence builder, and multi-taxonomy support
Redesigned Automations with multi-taxonomy support
Automations now live on dedicated pages,/automations for the list and /automations/new (or /automations/{id}) for the detail view, instead of a four-step modal. Each automation is configured through a single editable sentence builder that reads as one line: “New and updated products in [category] will automatically enrich [attributes] narrowed to only products matching [filters]”.Each automation is now scoped to one taxonomy explicitly, so you can run independent automations on different taxonomies for the same product. You can also pick Unclassified products as the target, which limits the automation to setting the taxonomy’s classifying attribute, useful for getting unclassified products into the right category before further enrichment runs.Run history has moved to a dedicated Run history tab on the automation detail page.See Creating an automation and Multi-taxonomy and Unclassified products.Add any locale by code, including regional variants
Free-text locale codes when adding a language
The Add Language modal in Tools > Languages now accepts any valid locale code as free text instead of picking from a fixed dropdown. Type a code likeen, da, or a region-specific variant such as sv_FI or pt_BR and the platform validates it on submit. This unlocks locales that weren’t in the previous list and gives you region-specific content where you need it.See Add a new language.On-demand CSV export and dedicated Jobs page
On-demand CSV product export
Export products to CSV directly from the products table, no integration setup required. Pick any combination of attributes, identifiers, product fields, child products and integration data, drag to reorder columns, and customise headers before downloading.See On-demand export from the products table.Dedicated Jobs page
Job tracking now lives on its own Jobs page with stats (Elements Run Total, Total Jobs, Avg Elements Per Job, Elements Run Today), a By user activity widget, and a filterable jobs table. The Dashboard keeps a Recent jobs widget for at-a-glance access.Tools section in main sidebar
Automations, Data Sources, Integrations and Languages moved to Tools
These four areas now live under a new top-level Tools section in the main sidebar instead of inside Settings. Direct URLs are now/automations, /data-sources, /integrations, and /languages.Settings continues to host Platform, Global Prompts, Usage, Users, API, and Webhooks. See the Settings overview for the new split.Event Log in Settings
Documentation site launch
Documentation site is live
The Cernel Knowledge Platform at docs.cernel.com is now available. Browse feature guides, integration setup instructions, and use-case workflows to get the most out of Cernel.- Full documentation for all platform features
- Step-by-step guides for Shopify, CSV, Feed, and API integrations
- Use-case workflows for hands-free enrichment, image sourcing, and more
