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!
Today Canvas cannot show the information stored in a JSONObject. This is unfortunate since method specific information for more general output objects will be stored in the JSONObject to avoid overcrowding the output object. One example is anomaly detection. There will be a large number of different analytics methods detecting anomalies,, each with its own method specific information not relevant for other analysis, but all writing to a common Anomaly View. As long as the analysis specific information will not be used for search and filtering, it will be stored on the JSONObject
I have a timeseries chart in my Flow dashboard. When I select a time range (and press Apply), I see no change to the time range in the chart
I have Canvas’ with View revisions that has been deleted. If I delete the “object” directly in the Canvas, it works well. However, if I delete the Canvas directly without first deleting the objects, I get stranded nodes (FdmInstanceContainerReference nodes). If I delete a Canvas with object linking to existing View revisions, it works well.Would be nice if this was fixed since getting Canvas’ with outdated revisions is relatively common in a period with heavy data model development (revisions are constantly bumping, and we need to clean old revisions to stay below the view/revision limit). Now we are forces to run cleanup scripts on stranded canvas nodes on a regular basis
The layers on a PDF are not currently clickable within CDF. I have an example of a file that was loaded as a PDF with certain layers turned off. When we put this PDF in a canvas and then downloaded the canvas, all the layers were turned on, making it difficult to read. It appears Cognite turned on all internal PDF layers when creating the download.Ask: A - Let’s leave the layer state as is when downloading from a CanvasB - Don't embed the layers and leave them exposed in the resulting PDFC - Have layers viewable in Search PreviewD - (Future) Expose the internal layers in Canvas/preview
As I solution architect I would like to arrange persistently all my categories in my landing “Search page”, in a multilevel (tree) format, with minimal 2 levels, so the “Search page” is not convoluted/big and users still have access to all their categories with minimal clicks. As of today, I see that the only categories that allow multiple levels are the ones that were “inherited” from the old resource types, such as asset, files, time series, activity. Everything else added in the data model will be available view bullets.For PBF we have several data models within the same project, what causes the search page to be very extensive and not user friendly. As a workaround, we created a solution data model and configured a new location to expose a simplified “search page”, but for that we are omitting several of the categories that users would like to see. So if the user wants to access data that is not in this simplified view he/she needs to select the “full” location that has all the data, what is a bad user experience in terms of multiple clicks.. on the other hand if we keep everything exposed it is very hard to find a category and the search page gets convoluted. In the work around we implemented, user can still change location go from the “full” location to the “simplified” location, but it requires multiple clicks, what is not desirable. A better solution would be to allow multilevel configuration for categories (parent/child relationship), so we could groups categories that are related to each other. Also the data would be more organized and friendly from the user point of view. Note: The following it is just and example to show the desirable outcome for a “look & feel” in terms of arranging data, please ignore the “material” reference, once it is not relevant.- Material - Material Group - Material Type - Material Status
Problem Statement: Currently, there is no great way to print comments in industrial canvas (If there is not aware of a good way). Potential Solution Option(s):Anchored to DocumentComment Selection box in the download list (similar to multiple pages) that would allow comments to be turned on that would be anchored to the document based where the user placed it. Comment Pane on right side that shows comments for that page. (Similar to microsoft suite review pane)Separate Comment PageComment Page independent similar to the cover page that could be checked or un-checked that would display on a separate page that would be part of the download. Downside is the comments may not make sense if there are not associated with the drawing.
Hi Team,It was observed that List and Search queries have some functional limitations which are handled explicitly by teams. Below are the expectations: Search queries must support pagination, enabling users to retrieve results beyond the current 1000-record limit. Pagination should include a cursor or offset mechanism, allowing seamless navigation through large datasets without data loss or duplication. List queries must support case-insensitive filtering Users need substring search over large datasets, which is not fully supported. Can we provide feature like "Contains" which will allow substring search.Thanks,Rahul
Cognite Data Fusion (CDF) appears to enforce a limit of approximately 200 Azure AD group memberships when resolving permissions for Service Principals. This limitation does not exist in Microsoft Graph, which supports retrieval of all group memberships associated with a user or Service Principal.As organizations scale their authorization models using Azure AD groups, this restriction can prevent access inheritance from functioning as expected and requires manual workarounds that increase operational overhead and governance complexity.Business ContextMany enterprise deployments use Azure AD groups to manage access to assets, plants, data products, and other resources within CDF.A common architecture relies on: Azure AD groups representing access domains. Group Object IDs mapped to corresponding Source IDs in CDF. Service Principals inheriting permissions through group membership. However, when the number of group memberships exceeds the current supported threshold, some memberships are not considered during authorization, resulting in incomplete permission resolution.Current WorkaroundThe current workaround consists of adding Service Principals directly to individual access groups instead of relying on inherited permissions through the existing group structure.While functional, this approach presents several challenges: It does not scale as the number of groups and data products grows. It increases administrative effort and maintenance activities. It complicates access governance and auditing processes. It introduces a higher risk of configuration errors and permission inconsistencies. Problem StatementThe current behavior creates a gap between Microsoft Entra ID (Azure AD) authorization capabilities and CDF authorization behavior.Since Microsoft Graph supports retrieval of all group memberships, the limitation appears to stem from the current implementation within CDF rather than from the underlying identity provider.This can impact organizations that rely on group-based authorization models to manage access at scale.Business ImpactOperational Impact Increased administrative effort for access management. Additional maintenance when new groups, assets, plants, or data products are introduced. Reduced efficiency of centralized identity management practices. Governance Impact Increased complexity in maintaining access-control policies. Reduced effectiveness of group-based authorization strategies. Greater effort required for auditing and access reviews. Security and Compliance Impact Increased reliance on manual permission assignments. Higher risk of access inconsistencies. Potential compliance concerns resulting from non-standard authorization processes. Scalability Impact Reduced scalability of Azure AD group-based authorization models. Growing operational burden as enterprise environments expand. Limitations on adoption of best-practice identity and access management patterns. Requested EnhancementEnhance CDF authorization to support all Azure AD group memberships associated with a Service Principal, or significantly increase the current limit, ensuring alignment with Microsoft Graph capabilities.Possible implementation options include: Removing the current membership limit. Supporting pagination when retrieving group memberships from Microsoft Graph. Supporting complete transitive group membership resolution. Providing configurable limits for enterprise deployments where required. Expected Benefits Improved scalability of enterprise authorization models. Elimination of manual access-management workarounds. Better alignment with Microsoft Entra ID / Azure AD capabilities. Reduced operational, governance, and compliance risks. Simplified lifecycle management for users, groups, and Service Principals.
SummaryWhen building workflows in Cognite Data Fusion to populate views in Data Models, there is often a need for intermediate, curated datasets between raw source data and the final target data model.Today, this intermediate data can be stored in RAW tables, but that requires customers to manage temporary tables, cleanup logic, naming conventions, and lifecycle handling manually. A native, workflow-managed temporary storage layer would make workflow development cleaner, reduce repetitive transformation logic, and simplify the overall implementation. Business ContextWe are using CDF workflows to populate an Asset Hierarchy data model.The source data comes from multiple systems:SAP Functional locations Equipment AVEVA PI Tag metadata The target asset hierarchy data model contains the following views:Site Area Line Equipment System Subsystem TagThe source metadata arrives without the required treatment, standardization, or contextualization. Before writing to the final data model, the data needs to be cleaned, normalized, enriched, and structured according to the target hierarchy.Current ChallengeIn practice, the workflow needs several intermediate transformation steps before writing to the final views.For example, the workflow may need to transform SAP functional locations into a cleaned and standardized structure before deriving sites, areas, and lines.Example flow for Site: tb_functionalLocation -> tb_functionalLocation_curated -> tb_site_curated -> Site view Example flow for Area: tb_functionalLocation -> tb_functionalLocation_curated -> tb_area_curated uses tb_site_curated for contextualization -> Area view Example flow for Line: tb_functionalLocation -> tb_functionalLocation_curated -> tb_line_curated uses tb_area_curated for contextualization -> Line view Example flow for Equipment: tb_equipment -> tb_equipment_curated -> tb_equipment_contextualized uses tb_line_curated / tb_area_curated for hierarchy mapping -> Equipment view Example flow for System and Subsystem: tb_functionalLocation + tb_equipment -> curated functional location and equipment tables -> tb_system_curated -> System view tb_functionalLocation + tb_equipment -> curated functional location and equipment tables -> tb_subsystem_curated -> Subsystem view Example flow for Tag: tb_tag -> tb_tag_curated -> tb_tag_contextualized uses equipment/system/subsystem curated data -> Tag view These intermediate curated tables are useful because they allow the workflow to:Reuse cleaning and standardization logic across multiple transformations. Avoid duplicating the same transformation logic in every step. Avoid using the final data model views as inputs to transformation logic. Keep the workflow logic easier to understand and maintain. Separate raw source data, intermediate workflow state, and final modeled data.However, this intermediate data can be transient. It is only needed while the workflow is running. After the workflow finishes successfully, the data can be deleted. There is also value to optionally allow users to view this intermediate datasets to analyze/debug the quality of the contextualization. Today, we can use RAW tables as intermediate storage, but this creates additional responsibilities for the customer:Creating and maintaining temporary RAW tables. Cleaning intermediate tables before or after each workflow run. Preventing stale intermediate data from being reused accidentally. Managing naming conventions for temporary workflow data. Adding cleanup steps to the workflow. Handling failed workflow runs where temporary data may be left behind. Writing additional code that is not part of the actual business transformation. Product IdeaIntroduce a native workflow-managed temporary storage capability in CDF.This could work as an internal temporary storage layer for workflows and transformations, where intermediate datasets can be written and read by different workflow steps, but their lifecycle is managed by the workflow execution itself.Ideally, this temporary storage would be:Scoped to a workflow or workflow run Usable by transformation steps Automatically cleaned up after successful execution, while still allowing end users to later review intermediate datasets for debugging. Temporarily retained for debugging and/or review Separated from RAW and from the final Data Modeling views Managed by CDF instead of customer-maintained cleanup logic Expected BenefitsThis capability would make workflow-based data modeling pipelines much cleaner and easier to maintain.The main benefits would be:Reduced amount of customer-managed code. Less duplication of transformation logic. Cleaner separation between raw data, temporary workflow state, and final modeled data. Reduced risk of stale intermediate data impacting future workflow runs. Easier debugging and monitoring of workflow execution. More straightforward workflow design for complex contextualization processes. Better support for multi-step data preparation before writing to Data Modeling views.
Hi all,The point is to get the possibility to enlarge the All Categories column in the Search. This should be useful if views names are too long to facilitate the navigation.
Atlas AI – agent building and chatbot notesThe GoodAble to switch between list and tile view as well as Search. Having a Description is helpful. Nice that there are sample questions. Loading feedback. Ability to stop generation. Legal disclaimer near prompt area. Nice that it shows reasoning steps. Like the suggestions with Show More Bot background color is fine. Reasonable area to write a prompt. Great to be able to view the details using the info icon of what each agent is good at before switching to it.Could be improvedPriority 1Starting a new chat is “risky” because there is no history, copy or chat download/export functionality. Part of the point is to aggregate information for analysis later, sharing or collaboration Chat history/multiple threads Need a way to set expectations up front so that when a new chat is started, we can orient users as to what can and cannot be done. Description helps but gets cut off. Sample questions as defaults are not injected but auto triggered. This can be an issue since the prompt is most likely not exactly what they want. Need some sort of prompt library so that users will be presented with prompts that have been vetted, and we are sure will produce relevant answers and get them quickly started. So not just examples but starter prompts. When it suggests follow ups, it would be great if these may be clicked and injected into the prompt area (but not auto submitted). Priority 2I would expect the naming for Atlas Agents to be in Industrial Tools and Agent Library to be in the Atlas AI. Ability to choose to share threads Edit icon should maybe use a plus. I know Copilot uses that but it’s still odd. Not sure what to do about location action and listing. What does this mean or how does it affect bot? Needs link to terms or docs. No file attachment. Users will probably want need this to override on a case by case basis. Publish / Unpublish flow is a bit awkward when prompt engineering between multiple people. Prompt area should be fixed to a certain height (perhaps one half the viewport) and scroll or be resizable. The use of a full takeover modal with a close button is odd when starting a chat. Switching to a new chat when moving between agents without a chat history is somewhat dangerous since users will lose all their work. It’s good that we can switch between agents while in a thread. However, I would expect that when I am in the agent library, clicking on another agent starts a new thread with that agent. Returning to the original agent would show my previous conversation with the agent. Cannot generate tables easily. Although I did manage to do so one time. I easily miss My Agents and Published tab. This causes a starter problem. Would like to add multiple tools at a time and not need to add them one by one.Possible bugsSeemed to lose past chats bubbles after a certain amount of conversation. Reloading shows them. Need to verify. Ran into an issue when switching between an agent within a thread created a new chat.
Hi Team,I would like to request for a new feature from Cognite to provide the hard delete options of instances in FDM.Currently, the instances are by default soft deleted and if the soft delete instances limit is reached, no further ingestion is allowed in the Project.Issues faced in the past - We have a shared Cognite Project, which is being used by multiple teams, and one team was in process of migrating their data from SQL to Cognite FDM. In the process, transformations run successfully but few data were corrupted. So, they deleted the entire FDM dataset and performed the transformation again. Meanwhile the soft delete instances limit was reached, making the ingestion failure for all the teams using that project.Here, the first team wants to hard delete the instances however, with no option currently available left them with no choices. And the similar incident has occurred again.Hence, we are requesting to provide a feature to perform hard delete of instances, considering the performing party holds the complete accountability of the activity.
When adding time series data to industrial canvas, providing the name of the tag and the description field in the time series tile window would clarify what tag is being shown. Submitted at the request of the Cognite project team.
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.
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.
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 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.
We need the ability to download all items to a csv in search. In the downloaded CSV there should be a column for a hyperlink back to the item, as if you clicked the open button in search. Additionally, if the items is a file create a download hyperlink.
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.
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.
