We now have a powerful new internal diagnostic tool that gives visibility into up to 2 years of data health per advertiser, displayed as a color-coded visual grid. Instead of guessing what's missing or triggering a broad re-sync, you can now:

  • See at a glance exactly which advertiser, network, and date has a gap
  • Hover any cell to get the specific details
  • Trigger a targeted backfill for just that gap, rather than reprocessing everything

This is a starting point for diagnosis, not a final verdict — a colored blue cell means "investigate," not automatically "broken." Gaps can be caused by auth issues, quota limits, or simply no data from the source that day. But now we have the tools to figure that out quickly and act precisely.


You can now re-run exports across a date range in one shot, no more clicking through each day individually. A new Batched Run option lets you replay an export as if it were scheduled to run on each day (or month) within a range you define. Each execution simulates a scheduled run using the export's existing configuration, incrementing automatically from start to end.

There are two things you configure to make this work: an interval and a date range — and understanding the difference between them is the key to using this feature well:

Interval = how big is each slice of data? Choose from:

  • Previous Day = each chunk covers "yesterday" relative to that step in the run
  • 1 Day = each chunk covers exactly 1 day of data
  • Previous Month = each chunk covers the previous full calendar month

Date Range = what overall period do you want to cover? Set a Range Start and Range End using the date pickers.

Put them together and the system does the rest. For example: pick 1 Day as the interval + Jan 1 – Jan 30 as the range → 30 individual export runs, one per day, kicked off automatically.

You can now upload any file format to an Agent conversation or Agent Knowledge. Previously, only a select list of formats were allowed; we've removed the restriction on supported file types entirely.

One caveat: image file uploads are still only supported in agent conversations, not in an Agent's Knowledge.

You can now select and manipulate multiple widgets at once in the Template Editor. Click and drag to marquee-select widgets, or hold Shift to build a selection one widget at a time. Once selected, you can move, resize, copy, duplicate, delete, and reorder your widgets as a group — saving significant time when working with complex template layouts. Undo works across the entire group action, so you can confidently experiment without worrying about tedious rollbacks. Constrained movement and proportional resizing are available by holding Shift while dragging or resizing.

We've shipped Tool Masking, a behind-the-scenes improvement that helps your Agent conversations run longer without hitting context limits as often.

When an Agent uses tools to pull in data on your behalf -- such as info pulled from a web scraping tool, resulting data from the Query Executor tool -- those results can be very large and quickly eat up the conversation's limited context window space. With Tool Masking, if any individual tool result exceeds a certain amount of space, or if the conversation has hit a certain threshold of the available space, those tool results are automatically compressed in the conversation. Therefore, taking up far less space — while still remaining fully accessible if the Agent needs to reference them later - no lost context. This means fewer interruptions and more headroom in complex, multi-step conversations.

See the full documentation here: https://docs.ninjacat.io/docs/chatting-with-agents?isFramePreview=true#understanding-context-windows--conversation-limits

We've shipped Tool Masking, a behind-the-scenes improvement that helps your Agent conversations run longer without hitting context limits as often.

When an Agent uses tools to pull in data on your behalf -- such as info pulled from a web scraping tool, resulting data from the Query Executor tool -- those results can be very large and quickly eat up the conversation's limited context window space. With Tool Masking, if any individual tool result exceeds a certain amount of space, or if the conversation has hit a certain threshold of the available space, those tool results are automatically compressed in the conversation. Therefore, taking up far less space — while still remaining fully accessible if the Agent needs to reference them later - no lost context. This means fewer interruptions and more headroom in complex, multi-step conversations.

See the full documentation here: https://docs.ninjacat.io/docs/chatting-with-agents?isFramePreview=true#understanding-context-windows--conversation-limits

Agent Builder Bob can now create Knowledge Files and assign them to your agent automatically. So while you're building an Agent with Bob, you don't have to figure out what info should live in the foundational instructions vs. writing up a Knowledge file to assign.

Here's how Bob thinks about it: your agent's instructions should cover the core stuff it needs every time — its role, tone, and key rules. Everything else — reference docs, FAQs, process guides — could live in Knowledge Files, so the agent can look things up when they're relevant without being overloaded upfront.

This leaves the user with a better-organized agent with better-managed context, all managed by Bob.

Bob is able to create, read, update and delete knowledge files that he has generated. Bob, however, is not able to touch files that a user has uploaded themselves. This may come with a future iteration.

Agent Builder Bob can now create Knowledge Files and assign them to your agent automatically. So while you're building an Agent with Bob, you don't have to figure out what info should live in the foundational instructions vs. writing up a Knowledge file to assign.

Here's how Bob thinks about it: your agent's instructions should cover the core stuff it needs every time — its role, tone, and key rules. Everything else — reference docs, FAQs, process guides — could live in Knowledge Files, so the agent can look things up when they're relevant without being overloaded upfront.

This leaves the user with a better-organized agent with better-managed context, all managed by Bob.

Bob is able to create, read, update and delete knowledge files that he has generated. Bob, however, is not able to touch files that a user has uploaded themselves. This may come with a future iteration.

We've improved how widgets behave in the Template Builder, making the editing experience feel more polished and predictable. Selecting and hovering over widgets now highlights them more accurately, even when widgets overlap or sit on top of image widgets. Dragging a widget stays smooth and controlled regardless of what's underneath your cursor. The right-click context menu no longer causes stray highlights to flicker on the canvas. And clicking a widget will now consistently open its configuration panel every time — no more extra clicks to get it to respond.

We've improved how widgets behave in the Template Builder, making the editing experience feel more polished and predictable. Selecting and hovering over widgets now highlights them more accurately, even when widgets overlap or sit on top of image widgets. Dragging a widget stays smooth and controlled regardless of what's underneath your cursor. The right-click context menu no longer causes stray highlights to flicker on the canvas. And clicking a widget will now consistently open its configuration panel every time — no more extra clicks to get it to respond.