Suggest features, upvote favorites, and use the user story format: > As a [role], I want to [action], so that [benefit]. Help us build what you need - post your idea now!
While working with a selection of time seies in canvas, I would like the ability to select a number of these to send to canvas in one action for further analysis. The way it works now I can send one time series to canvas and then have to search for the other time series i want to add to charts manually.
Currently, the search function starts only after entering a keyword and pressing Enter.Would it be possible to support incremental search, where results are updated dynamically as the user types?I believe that the “Data explorer” in Data Fusion (prior to the current Search feature) used incremental search.With incremental search, users can see results immediately, which makes it easier to try different keywords—especially for users who do not remember exact equipment names or file names. It also reduces the need to retype words.In addition, with the current behavior, there are cases where pressing Enter does not seamlessly trigger the search. In such situations, users need to click the search box again before pressing Enter, which can be slightly frustrating.On the other hand, I understand that incremental search may increase system load and could have performance implications. If introducing incremental search negatively impacts overall search performance, then the current implementation might be preferable.I would appreciate it if you could consider this as one piece of feedback.
When searching for assets or timeseries, there’s a feature in the detail tab that shows a list of Canvases where they’re used.↓Would it be possible to extend this to also show a list of Charts that use a given timeseries?Some example use cases:・Charts tend to be created in large numbers, so it’s sometimes hard to remember which Chart was used to create which visualization. Being able to trace Charts from a timeseries would make it much easier to reuse existing work.・Especially for scheduled calculation tags, it can be difficult to find the Chart where the original calculation logic is defined. It would be really helpful if we could trace back from the timeseries to the corresponding Chart to review the calculation.
I would like to submit a product idea regarding Charts calculations.Currently, calculations in Charts are performed only within the time range that is visible on the screen. We would like to request an enhancement that allows users to define a specific calculation period (i.e., start and end points) directly within the calculation formula.For example, when using the “sample average” operator, the result is calculated only based on the data currently displayed. As a result, the calculated value changes when the user scrolls or shifts the visible time range.We would like to be able to calculate metrics such as average values over a fixed, explicitly defined time range, including data outside of the current view. This would ensure that the result remains consistent and is not affected by scrolling or changes in the displayed window.We believe this functionality would significantly improve usability and enable more stable and meaningful analysis.Thank you for your consideration.
Currently when plotting Work orders and Permit to work on Charts is difficult to see the difference. The colors are too close. It would be great to have different colors there to choose from or at least make more contrast on the default ones.
Hi!The Q2 Product Release describes the new Atlas Skills feature as “reusable, lifecycle-managed assets”. In my experience the current designmakes skills very hard to reuse makes it impossible to manage their lifecycleReusing skillsTo reuse skills means to me that I can add skills to my agents that have been authored by someone else for another use case. The agent builder in CDF lets me add new skills in two different ways:Search among the skills already added to the agent Upload a skill markdown fileSo the only way to reuse a skill is to download a skill from another agent and re-upload it to my agent? There is no lifecycle management here. Skill versions will become stale very quickly. You have no idea whether your skill is up to date or not.There is no repository of skills where I can search for something relevant to me. I have no idea what skills have already been created. There is no way to inspect a skill once it has been added to my agent (I need to download it locally). Is there any versioning of skills? No devopsThere is no real devops integration with the current design. I am using a modular setup for defining my agents:recipes/agents/my-agent/|-- config.yaml|-- instructions.md|-- skills| |-- skill-1| | `-- SKILL.md| `-- skill-2| `-- SKILL.md`-- tools.yamlThe point is that skills are defined in their own files. There is nothing dramatic about this modular setup, and you might say it adheres to normal practices. But, how do I get these skills added to my agent? As far as I know, I cannot reference these files to the toolkit and expect them to end up with my agent. This is very different from how tools are added to the agents. Here is my painful workaround:Deploy agent to CDF with toolkit without the skills Duplicate the agent so I get a personal copy Upload my skill files to this new copy Dump new copy using cdf dump agents Copy the skills section with external ids into my original agent specification Deploy agent to CDF with external ids to the skills produced in step 3.We need the features to support standard workflows. As a user I expect production grade releases to offer production grade solutions. DocumentationWhere is the skills feature documented? I am unable to find it. The Q2 Product Release refers to this page, but nowhere under Atlas AI are the skills documented.
SummaryThe Cognite Toolkit forces an agent to be defined as a single monolithic YAML file — config (name, id, description, LLM), instructions, the skills list (external IDs to pre-existing skills), and tools (including inline Python source) all in one file. We need a modular, file-structure-based agent definition that the toolkit parses at deploy time, so skills and Python tools can live as standalone, testable, version-controlled source files that are created and attached to the agent automatically on deploy. Pain pointsThe monolithic YAML blocks normal DevOps practice (isolation, unit tests, review, reuse). Concretely:Skills cannot be deployed from source. A skill should be an isolated directory containing a SKILL.md (possibly other supporting files as well, as per the emerging standard). But the toolkit references a skill only by external ID — the skill must already exist in CDF. There is no way to point the toolkit at a SKILL.md and have it create and attach the skill on the fly during deploy. Python tool code is trapped inline. Executable Python tools embed their source directly in the agent YAML, so the code cannot be unit-tested or run standalone during development. Functions already support a modular layout — a directory with utilities/supporting Python files that gets packaged on deploy — and Python tools should work the same way.My opinion is that you need to keep these things in mind whenever you introduce new features. We as the users need to be enabled to use workflows that follow best practices. Devops should not be an afterthought, but be baked in from the start.
Today it is possible to specify the unit of a property of a View, enabling unit conversion on consumption (via the API). However, the CDF UI is currently not showing this unit. It means that we either have to create a dedicated “property_UOM”, or we have to add the unit into the @name in the View description. It would be preferable if the UI could show the unit, and also support the unit conversion.
Today an Atlas AI agent (and Flow app) uses my personal access rights when accessing CDF. However, we see the need for being able to further restrict this. One example is: I have write access, but I do not want my Agent to have the same write access. This issue is currently not solvable by using a separate service principal for the Agent, since different users will have different read access, so I cannot have one Agent with a fixed set of access rights. What would work is to be able to grant the agent certain (maximum) access rights, and then the final access rights are the minimum of the agents and mine access rights.This becomes increasingly important when the capabilities of the (reasoning) agents are growing. We need to be able to provide additional (and strict) guardrails
With the data modelling framework, most models will end up with a significant number of Views. Today we are not able to control the order the Views are presented in a good way. By reverse engineering it seems like the order of the Views is based on The order of the (first mentioned) CDM extension in the model definition. Alle non-CDM Views are listed at the end, irrespectively whether it is listed before CDM or not What is considered a CDM extension by the UI is not based on the implements, but whether it reference at least one property from one of the CDM containers Inside each Category (eg, a specific CDM extension, or the non-CDM Views), the order in the model definition dictates the orderIf I choose alphabetic sorting it seems to only affect the non-CDM-Views, and not the order inside each CDM category. It do however put all the CDM categories first or last It is very inconvenient to use the order of appearance in the model definition as the way of sorting (we have to sort both the CDM extension, and then inside each category) since any change in the order will require pushing a new model definition to CDF.We need the ability to define the order it appears in the UI, independent of how it is listed in the model definition, and we need to be able to create groupings that do not follow the CDM extensions. Eg, we have maintenance information that are not a CogniteActivity extension, that we still want to group next to the other CogniteActivity extended maintenance information.The CDM based grouping is more relevant from a model developer point of view, and not that much from an end user point of view.We also need the ability to define what is the default View. Right now it seems to be the first View in the model definition that is a CogniteAsset extension.When changing location filer, it always reset to the (non-configurable) default, which we see create a lot of initial confusion with the users. Since the CDM Views are not explicitly described in our model, we do not see the CDM based grouping.
The Smart KPI Tracking System is a data-driven performance management platform designed to enable real-time monitoring, analysis, and predictive insights across critical business and operational KPIs. The project aims to move organizations from traditional static reporting to a proactive, intelligent, and automated decision-support system.This solution integrates data from multiple enterprise systems (e.g., SAP PM, asset management tools, scheduling platforms, and financial systems) to provide a unified and dynamic view of performance across projects, maintenance operations, and asset reliability.
As described in the referenced link(Cognite Hub), we create a Canvas once a month to monitor long-term trends of key operational parameters.Since this activity is performed monthly, we are facing challenges in how to properly store and manage these Canvases over time.Currently, Canvases can be organized by site. However, if further granularity were available—such as hierarchical folder structures—it would significantly improve:Management of the latest Canvas Searchability of past Canvases Overall organization and maintainabilityAt present, we are supplementing this limitation by using a custom application built with Streamlit, as shown in the attached example. This allows us to further classify Canvases beyond site level, down to individual units. Ideally, we would like to have this functionality natively available in Canvas.Although this request is not highly urgent, we would appreciate your awareness and consideration for future improvements.
We create a Canvas like the attached example once a month to monitor long-term trends of key operational parameters.Previously, this work was done using Excel, but we have recently migrated to Charts and Canvas.As we move toward full-scale operational use, we would appreciate your support in resolving the following two challenges.These improvements are critical for reducing operational workload and enabling sustainable use of Canvas for monthly monitoring.Request ①We previously requested a permission transfer feature for Charts. However, it is currently difficult to locate individual Charts from within Canvas.Cognite HubTherefore, we would like to request the following enhancement:Ability to select Charts directly within Canvas and transfer their ownership/permissions in bulkWithout this capability, when the responsible person changes, users must first locate all relevant Charts individually and then manually duplicate them one by one. This process is time-consuming and creates a significant operational burden. Request ②When downloading the entire Canvas as it is, each Chart becomes too small to view clearly, making the feature practically unusable.Each month, we include “Special Notes” (as shown in the attached example) and review selected Charts together with those notes.Therefore, we would like to request the following functionality:Ability to select specific Charts on Canvas and:Extract only the selected Charts Automatically format them into an A4-sized layout Export both the visual output and the underlying data (CSV)This feature would enable us to generate clear and usable reports for monthly reviews. Resolving these issues is essential for enabling effective operational use of Canvas.We would greatly appreciate your consideration and support.
As part of driving internal platform adoption, we are requesting the ability to add custom "Help and resources" links through the Admin --> Project Settings options. This would be a new admin option to create new links to both internal/external URLs where we would like to route our users.For instance, we have an internal ticket/incident form, a custom Cognite portal, etc. where we would like to provide users the ability to find/link to from the Cognite platform.
Add option for setting dark mode in the InField application. Both for desktop and handheld units.
In our company, area codes (Which signifies which area an asset/functional location is placed in) is a central property that users want to see immediately when opening tag detail view. Area codes are available in the properties section but users want to have this visible in the header, to not have to scroll down. This is more helpful on the handheld unit as less information is visible upon opening the screen and the user needs to scroll further down to see the relevant information. Example of where to add location code is shown below. To make it more generetic, users could be able to add relevant info in the header themselves as maybe other companies/user groups have different interest in what they want to show in the header.
When creating calculations in CHARTS it would be VERY useful to have logic functions (AND, OR, NOT, XOR) which allow multiple (>6 for AND and OR) boolean inputs (TRUE/FALSE) and a single output.This would be really useful for tracking events which may be dependent on multiple conditions being active (or not active).
Problem StatementThe Cognite DB Extractor currently requires space to be a static, query-level configuration parameter, forcing users to create multiple identical extraction queries when distributing data across spaces based on hierarchical entity relationships.When working with hierarchical data structures, each distinct parent entity requires a separate extraction query, even if the source data and transformations are identical.Asset hierarchy:L1: Assets L2: Area L3: Field (defines CDF space) L4: Installation L5: WellCurrently, if there are 10 distinct fields across multiple assets, the DB Extractor requires 10 separate extraction queries to distribute timeseries data across 10 spaces - one query per field, even though they all read from the same source table with identical transformations. With multiple assets, areas, and fields, this results in hundreds of extraction queries for a single source table. This creates:Configuration Bloat: Hundreds of nearly identical YAML configurations to maintain Filter Duplication: Adding or modifying a filter condition requires updating hundreds of queries Scheduling Overhead: The same database table is scanned multiple times per ingestion cycle instead of once Resource Inefficiency: Hundreds of independent jobs running on the same data multiplies query load Error Management: One failed field extraction leaves only that space with stale data; manual recovery required per space Maintenance Burden: Updating logic across all queries is error-prone and time-consuming Scalability: As fields are added or wells multiply, query count grows exponentiallyProposed Solution:Allow space to be derived dynamically from query result columns using template syntax, similar to how external_id is generated.
In Canvas, it is possible to configure rules for objects, but as far as I understand, the current setup allows only one trigger per rule (1 rule = 1 trigger).However, in practical use cases, there are often situations where we would like to define a rule using multiple trigger conditions (AND conditions). For example, when producing multiple product types on the same production line, the normal operating ranges for parameters such as temperature and flow rate may vary depending on the product.In such cases, we would like to configure rules like the following:When producing product A, it is considered abnormal if temperature or flow rate exceeds threshold α.When producing product B, it is considered abnormal if temperature or flow rate exceeds threshold β.To support these kinds of scenarios, it would be very helpful if we could configure multiple triggers within a single rule.Alternatively, if there is an existing way to achieve this functionality using current features, I would greatly appreciate any guidance.I have considered creating dedicated flag tags using calculations in Charts and scheduling them, but this approach would result in a large number of flag tags, making it difficult to manage, so I decided not to pursue it.
Would it be possible to provide a way to visualize trending content that is frequently viewed and utilized among those created using Charts, Canvas, and Streamlit?At present, even if someone creates an excellent Canvas or similar content, it does not easily spread to other users. However, if there were something like a trending ranking, high-quality content could naturally gain visibility and adoption. It could also serve as a helpful source of ideas for practical use cases.
Observed behaviorWhen a CDF Transformation produces rows with duplicate externalId values , the behavior depends on how CDF partitions the data across workers:Duplicates within the same API request (same batch) → the API raises an error → the transformation fails visibly ✅ Duplicates split across multiple API requests (different CDF partitions/workers) → each request succeeds individually → the transformation completes with status "success", but which version of the node was actually written to the knowledge graph is unknown and non-deterministic ❌ProblemThe second case is the dangerous one:Silent and invisible — the run reports success, no alert is triggered, no engineer investigates. The data in the knowledge graph may be incomplete or wrong with no trace. Non-deterministic — which duplicate "wins" depends entirely on which CDF worker flushes first. Two identical runs on the same input can produce different results. No user control — there is no way to express intent: "fail if duplicates exist", "always keep the latest", "deduplicate before write". The behavior is undefined and undocumented at the transformation level.Feature RequestAdd a conflict resolution option at the transformation level for duplicate externalId within a single run: Option Behavior fail Abort the run and report an error if any duplicate externalId is detected across all batches keep_last Last row processed wins deduplicate_before_write CDF deduplicates globally before dispatching to the API
Within the CDF search tool, it would be helpful to have the option to toggle the preview of the file to be full-screen, to better preview the information. Having a compressed window for a document containing a large amount of information is tedious to zoom and scroll. The only alternative is to download every document, but this defeats the purpose of using Cognite.The same logic would be helpful with Canvas as well, the ability to select a document and toggle a full-screen rendering, possibly with a pagination type toggle that could flip through the different pages that have been sequenced in the Canvas.
When selecting an instance in Search, the Overview tab is very useful (seeing more than one data category without having to switch view). However, the tiles are static and cannot be resized. Resizing would allow the user to see more of the data in one category while still see the other data categories (eg I want to see more of the properties from the Asset while still seeing the list of workorders.For the same reason we would like to be able to change the order of the tiles, eg moving the workorder tile up next to the properties tile, to better focus on the things we want to see.The same behavior is also relevant when searching for data via Charts and Canvas
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.
Sorry, we're still checking this file's contents to make sure it's safe to download. Please try again in a few minutes.
OKSorry, our virus scanner detected that this file isn't safe to download.
OK