News & Intel
LiveDaily AI-curated intelligence on Palantir Foundry, Ontology, AIP, Apollo, contracts, and community feedback. Updated automatically via GitHub Actions every day at 7 AM UTC.
Blocking a project from being completed or cancelled if it still has active tasks — validation popup on action, similar to ontology manager deletion guard
We have a Project object type with linked Task objects. When a user tries to mark a project as Completed or Cancelled , we want to check whether any of the linked tasks are still in an active state — and if so, block the action and show a popup telling the user to close or cancel those tasks first before proceeding. The behavior we’re after is very similar to what the Ontology Manager already does natively — when you try to delete an object type that still has action types or link types depending on it, it stops you and tells you to remove those dependencies first. We want the same guard pattern, but on a business action in Workshop: don’t let the project close until all its child tasks are resolved. Right now we can’t find a clean way to do this within a standard Action Form. Ideally the action itself would validate the linked task states before executing, surface a meaningful message to the user listing the active tasks, and prevent the status change until the condition
Conditional row background color based on object property in the Object Table widget — is this supported or planned?
We’re using the Object Table widget in Foundry Workshop and want to color the background of an entire row based on a property value on the object — for example, changing the row color based on a status or priority field so users can scan the table visually without reading every cell. We couldn’t find a way to configure row-level background color in the widget settings. There doesn’t seem to be an option to drive the full row color from an object property, only limited cell-level formatting in some cases. Has anyone managed to achieve this in Workshop? Any workaround or configuration we might be missing would be really helpful. 3 posts - 2 participants Read full topic
Feature Request: Programmatic Node Color Support in Pipeline Builder DSL
Summary: Add support for setting node colors programmatically through the Pipeline Builder DSL, enabling color assignment via put_pipeline_builder / edit_pipeline_builder APIs and retrieval via get_pipeline_builder_definition . Current Behavior: Node colors (color groups) can only be assigned through the Pipeline Builder UI The DSL definition returned by get_pipeline_builder_definition does not include any color information Attempting to add a color property to node metadata (inputs, transform paths, outputs, text nodes) results in a TypeScript type error: 1 2 ‘color’ does not exist in type ‘{ name: string; comment?: string | undefined; position: Position; id?: string | undefined; }’ Color data appears to be stored in a separate UI state layer (sandbox), not in the pipeline logic definition Requested Behavior: Add an optional color property (hex string, e.g. "#147EB3" ) to the metadata objects for: PB.inputs.dataset
AI at war: Five things to know about Project Maven
A Pentagon AI program called Project Maven is at the center of the U.S. strikes against Iran and potentially one of the most consequential transformations of modern warfare. What is it? Project Maven is the Pentagon's flagship artificial intelligence program…
Frontend Engineering at Palantir: Building a Backend-less Cross-Application API
About this Series Frontend engineering at Palantir goes far beyond building standard web apps. Our engineers design interfaces for mission-critical decision-making, build operational applications that translate insight to action, and create systems that handle massive datasets — thinking not just about what the user needs, but what they need when the network is unreliable, the stakes are high, and the margin for error is zero. This series pulls back the curtain on what that work really looks like: the technical problems we solve, the impact we have, and the approaches we take. Whether you’re just curious or exploring opportunities to join us, these posts offer an authentic look at life on our Frontend teams. In this blog post, a frontend engineer based in CA shares an overview of several frameworks that Palantir apps use to communicate with each other in real-time. Stay tuned for Part 4. When I graduated college and joined Palantir as a frontend developer, I expected a famili
Make it easier to setup actions that update multiple objects
Let’s say as non developer I want to setup an action that updates several objects as once: I would in the Ontology → Actions → Modify Object(s) select. As parameter in the Action it would accept the objects as “Object Reference“ - I can also allow mutiple: The issue is, in Workshop I can’t pass an Object Set to it and use it as default parameter. My second try was to change the Action Parameter to accept a Object Set: But this then can’t be used in the rule: So what I’m now doing: I wrote a custom function that updates an object set by first loading it and then updating the values. What I would like to see improved: I find the differentiation between Object Reference and Object Set in the Action Paramaters to complicated for Non Technical User. Maybe this can be made one option. In Workshop I should be allowed to pass a Object Set to a Object Reference (multiple) parameter as default. Setting up Actions for Object Sets should be made po
My 11-step GraphRAG pipeline, what worked, and what's still broken
HN Discussion — 0 comments · 3 points. While building a financial assistant for an SF start-up, we learned that AI frameworks add complexity without value. When I started building a personal assistant with GraphRAG, I carried that lesson but still tried LangChain's MongoDBGraphStore. It gave me a working knowledge graph in 10 minute
Rich text editor widget in Action Form stores images as base64 — can't pass HTML output to AIP Logic or external apps
What we built We built a custom rich text editor widget inside a Foundry Action Form that lets users write a description with inline images. When the action is submitted, the full HTML is stored in a description field. The widget works as expected on the surface. The issue The HTML stored in the description field embeds images as base64 strings directly inside the markup. This creates a hard blocker for any downstream usage: AIP Logic can’t process it — the raw HTML with large base64 blobs is too heavy and unstructured for a language model to meaningfully analyse or act on the description content External applications can’t consume the images — downstream systems expect image URLs or binary references, not raw base64 strings embedded inside an HTML field Image-based analysis is blocked — images can’t be piped to vision models, OCR, or classification pipelines because they aren’t discrete objects; they’re buried inside the HTML string H
How to Save Applied Filters and Column Configuration in Workshop?
Hi everyone, I’m building a Workshop application with Object Tables and filter widgets. The problem is that every time a user refreshes the page or navigates away, their applied filters and column configuration (visible/hidden columns, column order) are reset. What I’d like to know: Is there a built-in way in Workshop to persist filter selections and table column configurations across sessions? If not, what is the recommended approach to save these preferences on a per-user basis? Any tips or examples would be appreciated. Thanks! 1 post - 1 participant Read full topic
Unable to see use any of my functions to back a new action type (PLEASE HELP!)
Why am I unable to select any of my functions to back a new action type. It says “Failed to display selected value, No results found”. However, I have published both functions, confirmed they are bound to the same ontology. Even in Ontology manager I can see them under functions. However they are no where to be found when trying to create a new action type. They only other place I can see them is I am able to select them as a variable within the workshop. Please help! 1 post - 1 participant Read full topic
AI, Warfare, and Augmented Cities
Abstract The diffusion of Artificial Intelligence (AI) technologies is transforming both the urban environment and warfare. Thus, cities are becoming “surface of attacks” in the context of “AI augmented warfare”. But Cities are also being “AI augmented”. Thus…
How to access the flink state of stateful UDF in Pipeline Builder stream mode?
Is it somehow possible to access the state in the flink checkpoint of a streaming pipeline, of a stateful Java UDF executed in a Pipeline Builder in streaming mode ? Usecase: Whenever there is a schema change, or something that requires to “migrate the state” of long running window/stateful UDF, it might require a replay, and so will require to “recover the current state” to “inject it in the next replay”. What are the solutions to migrate the old state into the new state or at least to access the state (e.g. to be able to dump the state in a dataset, move upstream, union/join and seed the new stateful UDF state with it) 1 post - 1 participant Read full topic
Batched Action Execution in Python
I’m trying to create a function that leverages the batch execution capabilities provided by actions. I noticed in the documentation that there is only one example provided, and it’s in TypeScript. I attempted to implement it in Python but haven’t been successful so far. Below is my test code and a screenshot of the error/response I received from the Action within the Ontology Manager. I tried to follow that oficial recommendation : To enable batched execution, the function must receive a single input parameter containing a list of structs (also known as a “map” or “dictionary”). Has anyone used this feature with Python before? Do you have any examples? Goal: To be able to modify more than 10,000 objects in a single action submission. from ontology_sdk import FoundryClient from functions.api import function, OntologyEdit from ontology_sdk.ontology.objects import AndreBarrosFlightAlerts from ontology_sdk.ontology.object_sets import AndreBarrosFlightAlertsObjectSet @funct
Latest build metadata
Is it possible to get the latest Updated (metadata) for a particular dataset which is used as a datasource for an ObjectType. Which is eventually used as input to many widget in the Workshop app. Currently it is not possible to access this information directly when trying to create a variable in the Workshop. Is there a walkaround or if I try to get this using a function do I access using any API? 1 post - 1 participant Read full topic
Pivot table widget
Is it possible to concat the values from different aggregated rows in the workshop app or is there a walkaround available Currently have 2 different rows aggregating for values such as Count and Percentage(Count) for the same property. Ideally it should be in the following format ”Count(Percentage)” 1 post - 1 participant Read full topic
action is required for a Palantir Foundry upgrade: Audit Space Administrator Assignments
Hi Community, I have received an email from the Palantir to upgrade/reassign the resources. But when tried to reassign the resources for my default account in free tier version Palantir foundry, it is not allowing me to reassign as the reassign button itself is disabled. please guide me on this. Thankyou! 1 post - 1 participant Read full topic
Warning check before triggering builds for expensive dataset / schedule
Hey all, we have a schedule which is expensive to run. Have people come up with ways to prevent users clicking on Run Now by mistake, maybe like a warning check when clicked on Run Now / Build from the UI, or workarounds to simulate that? 1 post - 1 participant Read full topic
Object type not syncing Timestamp property from backing dataset after pipeline backfill (dataset shows values, object type does not)
I’m working on an ontology-backed application with an external frontend and a Node.js backend proxy that calls Foundry actions. The create object rule action works reliably for creating objects and updating related objects. The challenge is setting a dynamic timestamp on new objects (since create object rules can’t set “current time”). What I tried before: I initially attempted a function-backed action (Python) to set timestamps directly, but the function parser consistently failed with AttributeError: create_object even with minimal code. A TypeScript function repository also had module resolution issues. Since the create object rule action works perfectly, I pivoted to a pipeline-based backfill approach. Current approach (pipeline backfill): Object Dataset: Created qc_review_all_objects — a materialized dataset containing all objects (both from initial CSV and those created via actions). This dataset updates automatically as new objects are created. Pipe