⚠️ Important
Frames is available in Beta from September 28, 2026. For more information, see the Beta Features Policy article.
Frames lets Pigment Agents or external tools create a fully custom, interactive layer on top of your live Pigment data. This article introduces Frames and answers preliminary questions such as how Frames works, when you would use Frames over other tools like Boards, who can build Frames and what access conditions apply. For information on how to build Frames, see Create experiences with Frames.
🎓 Pigment Academy
Don’t miss the Pigment Frames Learning Path available here!
The Pigment Community also has a treasure trove of ideas called Hall of Frames! Check it out here.
Before you begin
Frames lets an AI agent build a fully custom, interactive application on top of Pigment data, hosted, run and secured by Pigment. It can be used to build any visual or interactive experience: a unique chart, an interactive tool, a bespoke layout. Anything that goes beyond what Pigment offers natively.
You do not need to be a developer to use Frames. AI agents (Pigment's Modeler Agent, or external AI tools such as Claude, ChatGPT or Cursor via MCP) write and deploy the code from a plain, natural-language description of what you want to see.
Permissions and access rights
Create Frames
Only Members with both the Configure Blocks and the Configure Board permissions can create and edit Frames.
View Frames
Any Member with the Can Open Board permission (or above) can view published Frames. This permission can be defined in user roles or you can create permission Metrics to manage permissions at Frame level. For more information, see Create experiences with Frames.
Access rights
Your access rights are fully respected. This means that when creating or viewing, you only see the data you're allowed to see, and can only edit what you're allowed to edit.
Frames can pull data from other Pigment Applications, provided the relevant Blocks and Views have been shared using Pigment's Library feature. For more information, see Use Libraries to Share data between Applications.
When to use Frames versus Boards
Boards are widget-based visualization interfaces: add widgets, configure them and filter with page selectors. They are optimized for efficient data fetching at scale. Their limitation is that they are constrained to native widget types, so some designs, graphs or workflows aren't possible.
Frames are custom JavaScript-based and highly flexible: build almost any graph, design or workflow. Their limitation is that editing requires an Agent or advanced JavaScript knowledge.
As a rule of thumb:
Use Boards when:
you want to build data-dense interfaces with grids, basic graphs and simple workflows.
a primarily visual experience is not the goal.
Use Frames when:
you want custom graphs, presentation-grade designs or advanced interactive workflows.
you don’t need a large volume of data.
Use case | Frames | Boards |
|---|---|---|
Bespoke interactive tools/workflows | ●●●●● | ●●○○○ |
Guided/validated data entry (custom forms) | ●●●●● | ●●○○○ |
Presentation-grade visuals (leadership/board/client) | ●●●●● | ●●○○○ |
Unsupported chart types (Bubble graphs, Sankey diagram, etc.) | ●●●●● | ○○○○○ |
Standard KPI/chart/table reporting | ●●○○○ | ●●●●● |
Straightforward grid entry at scale | ●●○○○ | ●●●●● |
Large-dataset performance reporting | ●●○○○ | ●●●●● |
Pivot analysis / data-dense grids | ●○○○○ | ●●●●● |
Ad-hoc exploration (changes daily) | ●○○○○ | ●●●●● |
Data export (CSV/Excel) | ○○○○○ | ●●●●● |
For examples of prompts for Frames and their output, see Try out these Frames prompts.
How Frames works
Frames components
A Frame has two core components:
Hosted JavaScript code. Pigment hosts the code for each Frame and runs it in a secured sandbox.
The Pigment SDK. The SDK is the controlled bridge between the code and your Pigment data. The code never accesses Pigment directly; it can only read from and write to Pigment through a secured SDK.
Interaction with live data (SDK)
Frames connect to Pigment data through a built-in bridge called the Pigment SDK. When a Frame is built, the data needed held in Metrics and Lists are declared upfront, and the SDK keeps them live and up-to-date automatically. Unlike older Frames, there is no need to first build a View or Table: a Frame reads straight from the underlying Metrics and Lists.
Registering resources
Before a Frame can do anything with data, it needs to register the Metrics, Lists and their Properties that it wants to work with. Think of this as the Frame introducing itself to Pigment and specifying which resources it needs access to.
When Frames read from Pigment
Metrics and Lists as a Datasource. This is the main way a Frame reads data. A registered Metric or List can be declared as a Datasource, which shapes the raw data into rows and columns the Frame can display. They can be grouped, filtered and aggregated however the Frame needs. For example, a Frame showing revenue by month and filterable by country declares a Revenue Metric as a Datasource, grouped by month and filtered by country.
List Items automatically. Any List registered as a resource, even where it is not declared as a Datasource, automatically gives the Frame access to that List’s Items, including their friendly names. This is useful for building filters, drop-downs or navigation elements without any extra set-up.
Pigment keeps this data flowing to the Frame automatically as it changes. Data updates in a Pigment Application are reflected in a Frame in real time, without a page refresh.
When Frames write to Pigment
A registered Metric or List can be declared as a Datasink, which allows the Frame to write to it. Once declared, Frames can perform the following:
Add or edit Items in a List. This is useful for data entry forms or collection workflows (for example, adding a new product or renaming an existing one).
Edit cell values in a Metric. Members can input data directly from a Frame, the same way they would type a number into a grid.
Write actions respect access rights. Members can only edit what they are permitted to edit elsewhere in Pigment.
Rate limits
Frames is designed for focused, interactive experiences. To keep Frames responsive, the SDK applies the following limits:
Datasource subscriptions. A Frame can have up to 10 active Datasource subscriptions at the same time.
List-Item subscriptions. These have a separate limit of 20.
Datasource data volume. Each Datasource or visualization subscription can return up to 1,000 rows at a time.
Hosting and Security
Pigment hosts the JavaScript code and runs it in a secured sandbox. The code never touches Pigment directly: it can only read and write through the Pigment SDK's controlled interface.
ℹ️ Note
JavaScript used in Frames is readable. Ensure you do not include sensitive information.
Current limitations
Test & Deploy. Currently, customers with Test & Deploy cannot create Frames in managed Applications or push them from Dev to Prod. Production publishing is targeted for October 2026.
Scenarios. Frames do not currently support scenarios.
No external libraries or images. Frames cannot load anything from the web, even if websearch is enabled. This means no external/third-party JavaScript libraries, no images hosted online, no external fonts. For images, embed SVG files directly in the Frame code.
Storage limits. A Frame's
nameis limited to 100 bytes and itsbodyto 1 MB.Complexity. Large Frames are harder for the Modeler Agent to handle, and iterative edits become progressively more difficult. Prefer several small, focused Frames over one large Frame.
Data export. Frames cannot export data to CSV, Excel or any other format.
External links. It is not possible to select a link that would navigate outside of Pigment.