OutSystems Forge is the marketplace for OutSystems components — over 5,000 pre-built apps, connectors, UI patterns, and utilities. Components install directly from within Service Studio or ODC Studio. Always check the quality badge (Supported vs Community), platform compatibility (O11 vs ODC), and architecture compatibility (Reactive vs Traditional) before installing. Top components include OutSystems UI, Ultimate PDF, and Silk Charts.
The OutSystems Extension Marketplace
Forge is the community and partner marketplace for the OutSystems ecosystem. It contains everything from complete application templates to individual utility functions. Unlike npm or NuGet, Forge components install as full OutSystems modules that become part of your environment — you reference their public actions, blocks, and structures through the standard Manage Dependencies mechanism. Quality varies widely: some components are officially maintained by OutSystems (Trusted or Supported badges), while others are community contributions with no SLA.
Prerequisites
- An OutSystems Personal Environment or licensed environment
- Service Studio installed and connected to your environment
- An existing application module open in Service Studio (to practice adding a dependency)
Step-by-step guide
Find and Evaluate a Forge Component
Find and Evaluate a Forge Component
Open a browser and go to forge.outsystems.com. Use the search bar to find what you need — search by feature name (e.g., 'PDF generation', 'chart', 'date picker', 'QR code'). **Reading quality badges on each component listing:** - **Trusted by OutSystems** (gold shield) — developed and maintained by OutSystems. Full testing, versioned with platform releases. Use by default. - **Supported by OutSystems** (blue shield) — reviewed and validated by OutSystems. Not built by OutSystems but passes a quality bar. Safe to use. - **Registered** (grey badge) — community contribution. Not reviewed by OutSystems. Check the reviews, last update date, number of installations, and the component's own documentation before using. **Compatibility filters — always check:** 1. Platform version: O11 or ODC (or both) 2. App type: Reactive Web, Mobile, Traditional Web 3. Last updated date — a component last updated 3+ years ago may not work with current platform versions 4. Number of installations — 10,000+ installations is a strong signal of reliability 5. Reviews and comments — scan for reported bugs or compatibility issues
Expected result: You can read a Forge listing and determine whether a component is safe to install, compatible with your platform (O11 or ODC), and maintained.
Install a Forge Component to Your Environment
Install a Forge Component to Your Environment
Once you have identified a component to install, click the green **Install** button on the Forge listing page. This opens a dialog: 1. Select the target environment (for Personal Edition, only one environment is available) 2. Review the dependencies — Forge components often depend on other Forge components. These will be installed automatically. 3. Click 'Install' to confirm Forge installs the component as one or more OutSystems modules in your environment. The install process: - Downloads the module (.OML file) from Forge - Publishes it to your environment automatically - Makes it available to all developers in the environment **Alternative — install directly from Service Studio:** In Service Studio, go to the top toolbar → 'Forge' tab (or use the Forge panel in some versions) → search for the component → click 'Install'. Same result as the browser flow. **After installation:** The component module appears in your environment's application list. You do not need to open it or modify it — just reference it.
Expected result: The Forge component is installed in your environment. In Service Studio, you can see it listed when you go to Module → Manage Dependencies (Ctrl+Q) and search for the component's module name.
Add the Component as a Dependency
Add the Component as a Dependency
Installing a Forge component to the environment makes it available, but your application module must explicitly reference it before you can use its elements. In Service Studio, open your application module. Press **Ctrl+Q** to open Manage Dependencies. In the left column, find the installed Forge component module (search by name if the list is long). Check the checkbox next to each element you want to use: - **Actions** (Server or Client) — server or client-side functions from the component - **Blocks** — reusable UI components you can drag onto your screens - **Structures** — data types defined by the component - **Static Entities** — lookup data from the component Click **Apply**. The selected elements appear in your module tree: - Actions appear under Logic tab → your referenced elements - Blocks appear in the Toolbox when you are editing a screen (under the component's category) - Structures appear under Data tab → Structures TrueChange validates that all dependency signatures match. If the Forge component was updated with a breaking change, TrueChange will show red errors indicating signature mismatches.
1/* Example: Adding OutSystems Charts as dependency2 1. Ctrl+Q → find 'OutSystemsCharts' module3 2. Check: LineChart (Block), BarChart (Block), PieChart (Block)4 3. Click Apply5 4. Open screen in Screen Editor6 5. Drag 'LineChart' block from Toolbox onto screen canvas7 6. In Properties: set SourceDataPointList to your Aggregate data8*/Expected result: After clicking Apply in Manage Dependencies, the Forge component's elements appear in your Toolbox (blocks) and are available to call in your action flows (actions).
Use a Forge Block on a Screen
Use a Forge Block on a Screen
With the dependency added, open a screen in the Screen Editor (Interface tab → UI Flows → your flow → double-click a screen). In the Toolbox on the left, scroll down or search for the component's blocks. They appear under the component's category heading. Drag a block (e.g., a chart block, an accordion, a file uploader) onto the screen canvas. With the block selected, the Properties panel shows the block's Input Parameters — these are how you pass data to the block. **Common pattern — binding data to a block:** 1. Drag the block onto the canvas 2. Select the block → Properties panel 3. Find the data-binding input parameter (e.g., `SourceDataPointList`, `IsOpen`, `Content`) 4. Click the expression editor icon (pencil icon) next to the parameter 5. Set the expression to reference your local variable or aggregate output **Events:** Many blocks expose events (e.g., `OnToggle`, `OnSelect`, `OnUploadComplete`). In the Properties panel under Events, set each event to a Client Action that handles the interaction.
Expected result: The Forge block renders on your screen in the Screen Editor preview. You can set its input parameters and event handlers through the Properties panel.
Know the Top Forge Components for Common Use Cases
Know the Top Forge Components for Common Use Cases
These are the most widely used Forge components as of early 2026, organized by use case: **Charts and data visualization:** - **OutSystems Charts** (Trusted) — bar, line, pie, area, scatter charts. Reactive and Mobile. Wrapper around Highcharts. **PDF generation:** - **Ultimate PDF** (Supported) — HTML-to-PDF for Reactive Web. Required because HTMLToPDFConverter is Traditional Web only. Most popular PDF solution for Reactive. **File operations:** - **Advanced Excel** (Registered, high install count) — advanced Excel export with formatting, multiple sheets. - **ZIP** (Supported) — compress/decompress files. **Authentication:** - **IdP Connector** (Trusted) — SAML 2.0 SSO with Azure AD, Okta, and generic IdPs. O11 only. **Integrations:** - **REST API Forge components** for Stripe, SendGrid, Twilio, Slack, OpenAI, Google Maps, AWS S3. **UI utilities:** - **Signature Pad** — touch/mouse signature capture. - **Rich Text Editor** — WYSIWYG text input (TinyMCE wrapper). - **QR Code Generator** — generate QR code images. **Performance:** - **Caching API** — in-memory caching for expensive server actions.
Expected result: You have a reference list of recommended Forge components for the most common use cases, reducing time spent searching the marketplace.
Complete working example
1/* Example 1: Using OutSystems Charts (after adding dependency)23 Screen setup:4 1. Data tab → right-click Screen → Fetch Data from Database5 → Aggregate: GetMonthlySales (returns SalesMonth, SalesAmount)6 2. Screen Editor: drag 'LineChart' block from Toolbox7 3. Properties:8 - SourceDataPointList:9 GetMonthlySales.List.Current.SalesAmount (map to list)10 - XAxisLabels:11 GetMonthlySales.List.Current.SalesMonth12*/1314/* Example 2: Ultimate PDF — generate PDF from screen content15 (Server Action using Ultimate PDF component)1617 Action flow:18 Start19 → Assign20 HTMLContent = "<html><body><h1>Invoice #"21 + IntegerToText(Invoice.Id)22 + "</h1><p>Total: $"23 + DecimalToText(Invoice.Total)24 + "</p></body></html>"25 → HTMLToPDF (Ultimate PDF Server Action)26 Input: HTMLContent27 Output: PDFBinaryData28 → Download(FileName: "Invoice_" + IntegerToText(Invoice.Id) + ".pdf",29 FileContent: PDFBinaryData,30 MimeType: "application/pdf")31 → End32*/3334/* Example 3: Checking if a Forge Block dependency is correctly added35 Expression in screen — only valid if OutSystemsCharts dependency exists:36 /* Block: LineChart37 Input Parameter: SourceDataPointList38 Type: DataPoint List (from OutSystemsCharts structure)39 Value expression:40 GetMonthlySales.List.Current mapped to DataPoint structure41 */42*/Common mistakes
Why it's a problem: Installing an O11-only Forge component into an ODC environment
How to avoid: Always check the 'Platform' compatibility badge on the Forge listing page. Components marked 'OutSystems 11' only will not appear in or install correctly to ODC. For ODC, use the ODC Asset Library (accessed from ODC Portal → Library).
Why it's a problem: Installing a Traditional Web-only component in a Reactive Web module
How to avoid: Check the 'App type' badge (Reactive, Mobile, Traditional) on the Forge listing. Traditional Web components use server-rendered blocks and actions that are incompatible with the Reactive client-side model. Search specifically for 'Reactive' or 'Mobile' compatible versions.
Why it's a problem: Forgetting to manage dependencies (Ctrl+Q) after installing a Forge component — then wondering why the blocks do not appear in the Toolbox
How to avoid: Installation puts the module in your environment, but your application module must explicitly reference it. Press Ctrl+Q, find the component module, select the elements you need, click Apply. The blocks then appear in the Toolbox.
Why it's a problem: Updating a Forge component to the latest version without checking for breaking changes first
How to avoid: Before updating, open the Forge listing, go to the 'Versions' tab, and read the changelog for the new version. If actions or block parameters were renamed or removed, TrueChange will show errors after the update. Plan time to fix these before updating production.
Best practices
- Always filter Forge search by 'Trusted' or 'Supported' quality badges — avoid Registered components for production apps unless they have very high install counts and recent updates
- Check platform compatibility (O11 vs ODC) and app type (Reactive vs Traditional) BEFORE installing — wasted installs fill your environment with unused modules
- Review the component's change log before updating to a new version — Forge updates can introduce breaking changes to action signatures
- Use Ctrl+Q (Manage Dependencies) to audit all Forge references in your module — remove unused dependencies periodically
- For security-sensitive Forge components (authentication, encryption), check when the component was last updated and whether known CVEs affect any underlying libraries
- Prefer OutSystems' own built-in capabilities over Forge when they overlap — native capabilities are better maintained and tested with platform updates
- Document which Forge components your application depends on in a README or module description — helps the team evaluate upgrade impacts
Still stuck?
Copy one of these prompts to get a personalized, step-by-step explanation.
I am building a Reactive Web app in OutSystems 11 and need to add these capabilities: (1) line chart showing monthly revenue, (2) export data to Excel with multiple sheets and formatting, (3) PDF invoice generation from a screen. List the recommended Forge components for each need, their quality badge level, and any known limitations or alternatives.
I want to use the Ultimate PDF Forge component to generate a PDF invoice from HTML in my OutSystems Reactive Web Server Action. Show me the exact action flow steps from adding the dependency (Ctrl+Q) through calling the HTMLToPDF server action and triggering a file download in the browser. Include the correct action flow notation.
Frequently asked questions
Are Forge components free to use?
The vast majority of Forge components are free to install and use — there is no per-component fee. A few commercial components exist with licensing requirements listed on their Forge page. Your OutSystems license (including the free Personal Edition) gives you access to all free Forge components. Some components wrap paid third-party services (e.g., a Twilio connector) — you pay for the third-party service separately.
How do I update a Forge component to a newer version?
In Service Studio, go to the Environment menu or use the Forge panel to check for updates. Alternatively, visit the Forge website, find the component, and use the 'Install' button for the new version — it will overwrite the existing installation. After updating, check TrueChange in your application module for any broken dependencies caused by API changes in the new version.
Can I modify a Forge component's source code?
Technically yes — Forge components are OutSystems modules you can open in Service Studio. However, modifying a third-party component makes it diverge from the published version, meaning you cannot safely apply future updates without merging your changes. The better approach is to wrap the component — create your own module that calls the Forge component's public actions, adding any customization in your wrapper layer.
What is the ODC Asset Library and how does it differ from Forge?
The ODC Asset Library is the ODC-specific equivalent of Forge, accessible from ODC Portal → Library. It contains ODC-compatible components vetted for the ODC platform. The classic forge.outsystems.com also lists ODC-compatible components with an ODC badge, but the Asset Library is the canonical discovery tool for ODC. Not all O11 Forge components have ODC equivalents yet — the ODC library is smaller but growing.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your project.
Book a free consultation