- Our new embedded UI SDK puts the integration experience inside your product. The integration defines what needs configuring, and your app decides how customers find, connect, and set it up, while Prismatic handles configuration state, validation, connections, deployment, and version tracking. Early access starts with headless configuration and runs through the end of October.
- Built for the setup experiences that matter most. Headless fits integrations where setup should match your design system, needs more than a form can express (field mapping, lists that exist only after a connection), or replaces a hand-built setup you'd rather not maintain.
- Credentials never reach your front end. Server functions declare which connection they use and run server-side, so your app only sees the function's output.
Why we started with headless configuration
The hosted config wizard is how most Prismatic customers ship integrations today. You define configuration pages in the integration, Prismatic renders them, and your customers are live without you writing any setup UI.
For many integrations, this path works well. And because every productized integration goes through it, it's also where we hear the most from customers. We've answered that feedback in stages. Theming let you match the wizard's colors to your UI. JSON Forms let you build custom inputs. Custom marketplaces let you own the list of integrations and how instances get created. Each step brought setup closer to your product, and each one points toward the configuration step itself. Three things customers kept asking for:
Setup should be indistinguishable from your product
You have invested in a design system, onboarding patterns, and a navigation model, and your customers should get all of it when they click "Connect Salesforce." The benefits Prismatic gives you should feel like a truly native part of your product.
Configuration should be as intuitive as the rest of your product, even when it's complex
JSON Forms, the hosted config wizard's option for custom inputs, has handled complex configuration well for a long time. Some experiences deserve more than a form, like:
- Mapping fields between two systems.
- Picking from a list that only exists after a connection is made.
- A step that only makes sense once an earlier answer is known.
You should be able to own the setup experience without owning the plumbing
Some teams have built their own marketplace and setup flow against our API, and it delivers exactly the presentation they want. They'd rather not handle validation, state, versioning, and every new input type themselves, and they want the Prismatic benefits that come with it.
Solis, our new embedded UI SDK, delivers all three. It splits configuration into halves: the integration defines what needs to be configured, and your application decides how a customer does it. Solis enables the second half. It covers the marketplace, connections, and configuration, so a customer can find an integration, connect an account, and set it up without leaving your UI, whether that's a catalog, a connect button beside a feature, or a page of connected accounts. Headless configuration is where we're starting. Prismatic still handles configuration state, validation, connections, deployment, and version tracking underneath.

How it works
Here's the shape of a headless integration, using a Slack notifications example. A user connects Slack, searches for a channel, saves it as the shared destination, and sets their own notification preference.
1. Define the configuration
Install @prismatic-io/solis-react@preview in your app and make sure you're on Prism CLI 10.6.0 or later. In the integration, one configuration() definition holds the schema, a version, optional init values, and server functions. The channel belongs to the instance and the notification preference to the user, read at runtime as configuration.channelId and userConfiguration.notificationsEnabled. A listChannels server function takes the user's search text and returns matching channels using the instance's Slack connection.
2. Build your UI
In your app, useConfiguration gives you the schema, the integration's server functions, and the init and save actions. Render the form with your own components, and use useServerFunction to call listChannels as the user types.
3. Save the instance
Call save to store the values, which Prismatic validates against the schema, then deploy the instance with useInstance. Saving never deploys on its own, so a running instance keeps its old values until you deploy. The notification preference saves for the current user only, with no redeploy.
To run a complete end-to-end example, follow Get Started with Headless Config. It publishes a sample CRM integration, configures it from your own app with a field mapper and live preview, and publishes an update.
The example uses plain HTML controls so the SDK calls are easy to see. In your product, swap them for your own components.
What early access includes
Early access is open now for customers building code-native integrations with a custom marketplace. You'll get:
- The embedded UI SDK. Spectral 10.35.0 for the integration side (configuration schema, server functions, user settings, scheduling), and Solis for your app:
solis-coreis the framework-agnostic client, andsolis-reacthas the hooks. Solis exposes marketplace, connection, and configuration resources today, with executions and logs to follow, so what you build on it carries forward. - Preview documentation. Examples and a migration guide for integrations that already have config pages.
- Time with our team. We will check in with you throughout early access and discuss your experience.
When you enable early access, your existing integrations keep working exactly as they do today, and only integrations you build with the Headless SDK will use the new model.
Common questions
Solis is Prismatic's embedded UI SDK for building integration experiences inside your product. In early access, it covers marketplace listings, connections, and configuration, so you can build a catalog, a connect button, or a multi-account page in your own UI. Executions, logs, and other resources will follow.




