Contentgrid by Amexio
AI Assistant, full-text search, create service-clients, access management. All updates we have for this year

TL;DR 2026 is the year ContentGrid stopped feeling like a modelling tool with an API bolted on, and started feeling like a platform people actually want to build on. The console got a real AI assistant instead of a chatbot toy. Search finally works the way people expect it to. Service accounts for API integrations went from a support ticket to self-service in the console. Audit metadata comes standard on every entity. And a lot of quiet, unglamorous work happened underneath all of it, the kind that doesn’t make a highlight show but is the reason nothing broke while all the rest of this shipped.

Author: Thijs Lemmens, CTO ContentGrid

What we shipped: a look back at ContentGrid in 2026 until now

Here’s the year at a glance, before we get into the detail

The assistant that finally feels like a colleague

We rebuilt the modelling assistant inside the console from the ground up this year, on a proper agent framework instead of the patchwork it started as.

Here’s what that means in practice. It used to be that every conversation with the assistant was its own island. Ask something, get an answer, close the tab, and the next question started from zero. That’s not how anyone actually works through a modelling problem. So the new assistant remembers the conversation. You can go back and forth, refine what you asked, pick up a thread from yesterday. It streams its answers instead of dumping a wall of text at once. And when it calls a modelling tool to actually do something, you see that happen: which tool, what it did, what came back. No more wondering what’s going on behind the curtain.

Search that stopped demanding exact matches

This one had been on the list for a while, and for good reason.
Until now, ContentGrid had no full-text search at all. Finding something by a name, a reference, or any other text attribute meant exact matches or prefix matches, and anything fuzzier was on you. Anyone who has watched an end user type half a name and hit enter knows how that story ends.
Full-text search on regular attributes is here now, built on proper indexes over the text fields you model, with UTF-8 normalisation so search behaves consistently across languages, alphabets, and accented characters. A locale selector lets you tell the system which language rules to apply to an attribute. And in the Navigator, end-user search now leans on full-text search by default, surfaced through one unified search field instead of five different ways to look for the same thing.
What this isn’t, yet, is search inside the documents themselves. That needs automatic text extraction from uploaded content, which we are currently working on. This is the foundation that makes that possible, and it already covers the fields people actually search by.

Access management, minus the support ticket

Hooking up an API integration used to start with a support ticket. An integration needs an OAuth client with a service account to authenticate, and getting one meant asking us: you’d file a request, we’d create the client for you in Keycloak, and you’d wait. Every new integration, same round trip.
That’s over. You can create and manage OIDC clients directly from the console now, service-account clients included, right where your models live. And the service account behind a client is no longer a black box: you manage its group memberships side by side with regular user groups, through the same component, so giving an integration access to exactly what it needs, and nothing more, is something you do yourself instead of something you queue for.

Knowing who touched what, without being asked

Audit trails are one of those things nobody thinks about until they need one urgently, usually during an audit or after something went wrong.
Every entity you create in ContentGrid now gets four audit-metadata attributes automatically: who created it, when, who last touched it, and when. No extra modelling step, no remembering to add it yourself. If you’ve got existing models from before this shipped, a migration feature brings them up to the same standard.
We also added a new attribute type that references the authenticated user directly, so “assigned to me” or “owned by whoever’s logged in” becomes a first-class part of your model instead of something you fake with a lookup table. Those user attributes can now sit inside permission rules too, and end users see their own attributes reflected back to them in their profile in the Navigator. It closes a loop that used to require a workaround.

And a lot you’ll never notice, which is the point

Not everything worth shipping makes a good headline, and most of what kept the platform steady this year falls into that category.


We renamed the old “Date” type to Timestamp and added a genuine Date type, one without a time component, all the way through the console, the persistence layer, and the API. The App Server now generates and serves its own OpenAPI spec, so the API documentation is never quietly out of date with the code. Speaking of documentation, we rewrote the App API docs almost entirely this year: a clearer reference for how errors are reported, a proper guide to the HAL response format, how conditional and range requests work, and runnable examples you can actually copy and run rather than adapt from memory. It’s all live at docs.contentgrid.com.


On security, every console and Navigator page now ships with Content-Security-Policy headers, inline images are disabled by default, and fonts are self-hosted instead of pulled from Google, which matters if you care about GDPR-clean deployments and not leaking a visitor’s IP to a third party just to render a font. Underneath it all, the App Server moved to Spring Boot 4, production and sandbox now run behind a HAProxy ingress, and we brought back proper Prometheus metrics with Grafana Alloy handling tracing, so when something does go wrong, we can actually see it happening instead of guessing.


None of this is exciting to read about. It’s exciting to rely on.


That’s the year until now: an assistant you can actually have a conversation with, search that works the way people expect, access management that lives where your models do, and audit attributes you don’t have to remember to build yourself. We’ll keep the updates coming in smaller doses from here, on LinkedInand in the ContentGrid newsletter once that’s live, but we wanted to put the whole picture in one place first.


If you’ve been meaning to try any of this, now’s a good time. 
 

Test it first. Shape it after.

You know that moment when a feature ships and you think "close, but not quite what I needed"? By the time anyone tells us, it's already locked in for the next quarter. That's the gap the Lab closes. Join it and you're trying what we build before it's final, and your "this is close but not quite" becomes the thing we change before it ships to everyone else.