
At Salsa, we know that no two platforms are the same. Our partners span a wide range of industries, product philosophies, and user expectations. Some want to embed full, out-of-the-box experiences, while others prefer to stitch together their own workflows using a combination of our components and their own. Some prefer our user experiences to be shown in side panel drawers, others want them in modals, or alternatively completely inline instead.
[.c-highlighted]Supporting this diversity is exactly why Salsa exists. We’re building the most flexible embedded payroll platform - one that adapts to your product, not the other way around. That’s why we’re excited to roll out a significant enhancement to how our components integrate into your UI.[.c-highlighted]
What’s new
We’ve introduced a new “display mode” parameter to our fine-grained UI onboarding components, allowing you to choose how they appear within your platform:
- Drawer - A side panel for guided, contained workflows (default)
- Modal - A centered overlay on top of your existing layout
- Inline - Embedded directly into your page structure, in the space you define
This setting determines how the root component is displayed and sets expectations for how nested interactions behave:
- Drawers typically nest other drawers, or potentially open modals on top
- Modals will only open other content in modals
- Inline components can present nested content in drawers or modals
These rules help ensure consistent interaction patterns across your product while still giving you the flexibility to design an experience that fits your platform.
We’ve also enhanced Salsa.js with a new set of element events to improve coordination between your app and embedded components. You’ll now be able to receive structured callbacks when:
- A component completes its flow (e.g., bank account is connected or tax setup is finalized)
- A component is attempting to close (e.g., triggered by ESC, a close button, or a cancel action)
[.c-highlighted]These events help you manage UI transitions more smoothly, trigger follow-up actions, update local state, and deliver more cohesive integrated workflow experiences. They’re especially useful if you’re building custom multi-step wizards or want tight control over what happens after each embedded task.[.c-highlighted]
Why it matters
Salsa is purpose-built for platforms that serve employers - and those platforms are as varied as the businesses they support. A rigid, one-size-fits-all UI approach doesn’t cut it. Previously, Salsa components defaulted to drawers, which worked well for many, but limited how others could embed our workflows.
With this update, we’re giving partners the freedom to use our components as a natural extension of their platform. No workarounds or visual mismatches. Just flexible options designed to reduce friction, align with your design system, and let you own the user experience from start to finish.
What’s the impact
This unlocks new levels of customization and control:
- Out-of-the-box onboarding - Launch fast with Salsa’s “mini-app” style flows, now more adaptable via your choice of display mode
- Modular product experiences - Embed individual components into your own custom flow, deciding where and how each one is presented
- Flexible experience control - Use element events to coordinate transitions, manage component state, and build more interactive experiences
[.c-highlighted]Whether you're building an end-to-end onboarding journey or embedding just one step in an existing workflow, these advances help you stay in control while leveraging Salsa's trusted payroll infrastructure.[.c-highlighted]
Own the experience
Embedded payroll should be another natural extension of your platform. With more display options and deeper integration hooks, Salsa gives you the flexibility to craft the experience that’s right for your platform, your business, and your customers.
👉 Explore the updated embed options in our docs