

Avonni offers two no-code tools for building custom Salesforce UIs. They're not interchangeable — each is designed for a specific place in Salesforce. This guide helps you pick the right one and avoid the most common mistake.

We hear the same question from admins every week: "I already use Avonni in my Flows. Why would I need Dynamic Components too?"
Or the reverse: "Can't I just embed a Screen Flow on my record page and build everything there?"
The answer is simpler than you think. It comes down to one question: Where are you building?
⚡ Building on a Lightning page (record page, app page, home page)?
→ Use Dynamic Components🌊 Building inside a Flow (guided steps, wizards, data entry)?
→ Use Flow Screen Components
That's it. That's the whole decision.
Both tools are powerful. Both are no-code. But they're designed for fundamentally different places in Salesforce, and using one where the other belongs leads to workarounds, performance issues, and maintenance headaches. Let's break it down.
Where you build: Avonni Component Builder → Lightning App Builder
Where it lives: Record pages, app pages, home pages
Dynamic Components are what your users see the moment they land on a Salesforce page. They don't need to click a button or enter a Flow — the data is just there.
A custom Account page with pipeline charts next to key metrics. An interactive data table replacing the default related list. A Kanban board showing active tasks. All of it loads instantly, updates reactively when data changes, and never asks the user to "start" anything.
Under the hood, Dynamic Components have their own formula engine, their own query builder, their own interaction system, and full layout control. Build once, reuse across as many pages as you need.
Best for: Custom record pages, dashboards, interactive data tables, charts & metrics, redesigned related lists, always-visible UI.
Where you build: Flow Builder
Where it lives: Inside a Flow runtime
Flow Screen Components live inside Flow Builder. Their purpose is to make Flow screens look and behave better — richer inputs, better visual pickers, progress indicators, data tables for collecting user selections.
The power here is integration with Flow logic: every component binds to Flow variables, feeds into Flow decisions, and lets Flow Builder handle what happens next.
This is the tool for processes that have a beginning, middle, and end. A new-hire onboarding wizard. A multi-step case intake form. A bulk data entry screen where users select records, make changes, and confirm before saving.
Best for: Multi-step wizards, data entry forms, approval processes, guided intake, conditional steps, backend automation.
Here's the pattern we see over and over: an admin needs a custom UI on a record page — say, a mission control dashboard, a redesigned related list, or a data visualization panel. They already know Flow Builder well and they already have Avonni's Flow Screen Components installed.
So they build it as a Screen Flow, drag all the components onto a single screen, and embed that Flow on the Lightning page.
It works. But it shouldn't be built that way.
Flow Builder is a process automation tool. It's designed to move users through steps, handle branching logic, and write data. When you use it as a page layout engine — embedding a single-screen Flow just to display a custom UI — you're working against its intended architecture.
Here's what happens in practice:
1. Performance overhead. The Flow runtime loads on top of the Lightning page. That means extra processing, extra loading time, and a heavier page — especially on record pages that already have other components.
2. No native reactivity. Dynamic Components update when data changes, automatically. A Screen Flow embedded on a page doesn't — it shows what it loaded and stays static unless the user refreshes or re-enters the Flow.
3. Layout constraints. Flow screens give you one column. Dynamic Components give you full layout control — grids, columns, tabs, panels, responsive breakpoints, and the ability to compose multiple components in any arrangement.
4. No reusability. A Screen Flow is tied to that specific Flow. A Dynamic Component can be activated once and dropped onto any Lightning page across your org — Account, Contact, Opportunity, custom objects, home pages.
The distinction is architectural, not cosmetic. If the user doesn't need to go through steps, doesn't need Flow logic to run in the background, and just needs a better-looking, more interactive page — that's exactly what Dynamic Components are for.
Flow Screen Components = the engine that powers a guided process (data entry, wizards, approvals).
Dynamic Components = the dashboard and layout system that powers what users see and interact with on a page (record views, data displays, custom layouts, actions).
They do fundamentally different jobs. Using one for the other is like using a spreadsheet to write a report — technically possible, but not what the tool was made for.
If any of the following feel familiar, you're likely using a Screen Flow where a Dynamic Component would serve you better:
Here's a detailed look at how the two tools compare across every dimension that matters. This isn't about which one is "better" — it's about which one is right for your specific use case.
Still not sure? Here are the use cases we see most often, with a clear recommendation for each.
→ ⚡ Use Dynamic Components. This is a page layout improvement. The data should be always visible, reactive, and part of the standard record page. Build a Data Table with search, filters, conditional formatting, and row actions.
→ 🌊 Use Flow Screen Components. This is a guided process with sequential steps, conditional logic, data creation, and approvals. Flow Builder manages the orchestration; Avonni components make each step look great.
→ ⚡ Use Dynamic Components. Compose metrics, charts, data tables, and timelines into a custom layout with reactive data. Everything loads with the page. No Flow needed.
→ 🌊 Use Flow Screen Components. The key words are "confirm and save." This is a data entry process with a write operation at the end that Flow handles.
→ ✨ Use Both Together. Build the page with Dynamic Components. Use interactions to launch Screen Flows when users need to take action. Best of both worlds.
The two tools aren't competing — they're complementary. Here's the pattern our power users follow:
For example: a custom Opportunity page with a pipeline chart, key metrics, and an interactive data table. When a user clicks "Log Activity" on the table, a Flow dialog opens with rich inputs and a date picker. When they save, the dialog closes and the Dynamic Component refreshes automatically.
Dynamic Components for the view. Flow Screen Components for the action.
Both packages coexist in the same org. Installing one never affects the other.
| Feature | Dynamic Components | Flow Screen Components |
|---|---|---|
| Architecture | ||
| Where you build | Component Builder → App Builder | Flow Builder |
| Rendering | Always on — loads with the page | On demand — inside Flow runtime |
| Multi-step process | ✗ | ✓ Core feature |
| Backend automation | ✗ Trigger Flows for this | ✓ Full (create, update, delete, Apex) |
| User Interface | ||
| Layout control | ✓ Full (grids, tabs, panels) | Limited — single column |
| Component library | 100+ components | 70+ components |
| Native reactivity | ✓ Auto-updates on data change | ✗ Static until refresh |
| Custom styling | ✓ Full visual control | Partial |
| Data & Logic | ||
| Data source | Built-in query builder | Flow variables / Get Records |
| Formulas | ✓ Built-in formula engine | Via Flow formula resources |
| Interactions / Actions | ✓ Rich (navigate, dialogs, update records) | Limited — within Flow context |
| Deployment | ||
| Reusability | ✓ Build once, deploy anywhere | Tied to the specific Flow |
| Page performance | ✓ Optimized for Lightning pages | Flow runtime adds overhead |
Ask yourself these four questions:
1. Am I building on a Lightning page or inside a Flow?
Lightning page → Dynamic Components
Inside a Flow → Flow Screen Components
2. Does the user need to go through steps?
Yes, sequential steps → Flow Screen Components
No, everything at once → Dynamic Components
3. Is the primary goal to display data or to collect/process it?
Display & interact → Dynamic Components
Collect & process → Flow Screen Components
4. Do I need a custom page layout AND a guided process?
Yes, both → Use them together
You don't have to choose one forever. Most Avonni power users install both packages:
Dynamic Components to build what users see on a page.
Flow Screen Components to build what users do inside a guided process.
Together, they cover every no-code use case in Salesforce.
Ready to build with the right tool? Both packages install in minutes — free to install, and they coexist in the same org.
Save time, reduce costs, and see your Salesforce projects come to life faster.




%20(Vignette%20YouTube)%20(10).png)
%20(Vignette%20YouTube)%20(65).png)



%20(Vignette%20YouTube)%20(34).png)