Oracle provides two deployment modes for Visual Builder that share the same low-code development environment but differ significantly in capability, licensing, and integration scope. Visual Builder Studio (VBS) is embedded within Oracle Fusion Cloud Applications and included in the SaaS license. Standalone Visual Builder Cloud Service (VBCS), part of Oracle Integration Cloud (OIC), runs on a separate OCI tenancy and can connect to external databases, custom business objects, and secured third-party REST services. This card covers both modes and when to choose each, alongside Page Composer, Application Composer, and embedded analytics (OTBI/BIP) as alternative extension approaches. [src1, src3, src4]
| Property | Value |
|---|---|
| Vendor | Oracle |
| System | Oracle Visual Builder Studio 26.01 (embedded) / VBCS 26.01 (standalone) |
| API Surface | REST (Fusion Service Catalog, external REST endpoints) |
| Current Release | 26.01 (January 2026) |
| Editions Covered | Fusion Apps SaaS (all editions for embedded VBS); OIC Standard/Enterprise (for standalone VBCS) |
| Deployment | Cloud |
| API Docs | Visual Builder Studio Docs |
| Status | GA |
This section maps the UI extension tools available for Oracle Fusion Cloud, not traditional API surfaces. Each tool addresses a different extension need. [src1, src3, src4]
| Extension Tool | Type | Best For | Can Modify Logic? | External Data? | Custom DB? | License |
|---|---|---|---|---|---|---|
| VBS (embedded) | Low-code IDE | New App UIs, page extensions, layout rules | Yes (action chains, JS) | Unsecured REST only | No | Included with Fusion |
| Standalone VBCS | Low-code IDE | Standalone apps, external-facing portals | Yes (action chains, JS) | Any REST (secured) | Yes (ATP/DBCS) | Requires OIC license |
| Page Composer | Declarative config | Show/hide/reorder fields, add tabs | No | No | No | Included with Fusion |
| Application Composer | Declarative config | Custom objects, simple fields, groovy scripts | Limited (Groovy) | No | No | Included with Fusion |
| OTBI | Embedded analytics | Operational reports embedded in Fusion pages | No | No | No | Included with Fusion |
| BIP (BI Publisher) | Report generation | Pixel-perfect reports, PDF/Excel output | No | No | No | Included with Fusion |
| Oracle APEX | Full-stack low-code | Custom apps, EBS migration, complex logic | Yes (PL/SQL) | Yes | Yes (ADB/ATP) | Separate OCI license |
| Limit Type | Value | Applies To | Notes |
|---|---|---|---|
| VB instances per region | 200 | OCI tenancy | Raise via service limit increase request |
| Concurrent users per VBS workspace | No hard limit | Embedded VBS | Bound by Fusion App user license count |
| Fusion REST API calls | Subject to Fusion API quotas | All VBS/VBCS apps | Extensions share the org's Fusion API quota pool |
| Action chain timeout | 300 seconds | VBS/VBCS | Long-running processes should use ESS jobs |
| Max file upload size | 50 MB | VBS/VBCS file components | Larger files require OCI Object Storage |
| Custom business objects | Unlimited (standalone) / None (embedded) | VBCS / VBS | Embedded VBS cannot create business objects |
[src5]
| Limit Type | Value | Window | Notes |
|---|---|---|---|
| Fusion REST API calls | Shared with org quota | 24h rolling | No separate quota for VBS-originated calls |
| ESS job submissions | 50 concurrent per pod | Per pod | Extensions submitting ESS jobs share pod-level limits |
| OIC message packs (standalone) | Based on OIC license tier | Monthly | Standalone VBCS REST calls consume OIC message credits |
| Git operations (VBS) | No documented limit | Per project | Built-in Git; external Git repos also supported |
| Scenario | Auth Method | Token Lifetime | Refresh? | Notes |
|---|---|---|---|---|
| VBS extension accessing Fusion BOs | Identity propagation (SSO) | Session-scoped | Auto | No configuration needed |
| VBS calling unsecured external REST | None / API key in header | N/A | N/A | Only unsecured endpoints unless IAM configured |
| Standalone VBCS to Fusion REST | OAuth 2.0 (Authorization Code) | Access: 1h | Yes | Requires Connected App setup in Fusion IAM |
| Standalone VBCS to external REST | OAuth 2.0 / Basic / API Key | Varies | Varies | Full auth flexibility on standalone instances |
| VBCS to OCI services | OCI IAM / Resource Principal | Session-scoped | Auto | For Oracle Functions, Object Storage, ATP |
START — User needs to extend Oracle Fusion Cloud ERP UI
|
+-- What type of extension?
| |
| +-- Modify existing Redwood page (add/remove/reorder fields)?
| | |
| | +-- Simple field show/hide/reorder only?
| | | +-- YES -> Page Composer (no code, instant)
| | | +-- NO (need conditional logic, action chains) -> VBS Page Extension
| | |
| | +-- Need to add new custom fields to data model?
| | +-- YES -> Application Composer (custom fields + Groovy)
| | +-- Then use VBS to control UI rendering
| |
| +-- Create entirely new application page?
| | |
| | +-- Internal Fusion users only?
| | | +-- Data from Fusion BOs only?
| | | | +-- YES -> VBS App UI (embedded, free)
| | | | +-- NO -> Need custom DB?
| | | | +-- YES -> Standalone VBCS + ATP
| | | | +-- NO (external unsecured REST) -> VBS App UI
| | | +-- Need secured external REST?
| | | +-- Configure Fusion IAM for VBS, or use Standalone VBCS
| | |
| | +-- External users (partners, suppliers, customers)?
| | +-- YES -> Standalone VBCS (separate URL, own auth)
| | +-- Consider Oracle APEX for complex external portals
| |
| +-- Embed analytics/reports in Fusion pages?
| | |
| | +-- Operational reporting (real-time Fusion data)?
| | | +-- OTBI (embedded, included in license)
| | |
| | +-- Pixel-perfect output (PDF, Excel)?
| | | +-- BIP (BI Publisher)
| | |
| | +-- Advanced analytics (ML, cross-source)?
| | +-- Oracle Analytics Cloud (separate license)
| |
| +-- Need complex custom logic + database + full-stack?
| +-- Oracle APEX (PL/SQL, full DB access)
| +-- ADF is deprecated for new development
|
+-- Licensing check
+-- Embedded VBS -> Included in Fusion Apps license
+-- Standalone VBCS -> Requires Oracle Integration Cloud license
+-- APEX -> Requires OCI/ATP license
+-- OAC -> Requires separate Oracle Analytics Cloud license
| Extension Need | Recommended Tool | Alternative | Licensing | Complexity |
|---|---|---|---|---|
| Show/hide fields based on role | Page Composer | VBS Layout Extension | Included | Low |
| Conditional field rendering with business rules | VBS (Dynamic Forms + Rule Sets) | Application Composer (limited) | Included | Medium |
| New multi-step workflow page (internal) | VBS App UI | APEX | Included / Separate | Medium-High |
| Custom data entry with custom DB tables | Standalone VBCS + ATP | APEX | OIC license | High |
| External-facing portal | Standalone VBCS | APEX | OIC license | High |
| Embedded operational report | OTBI | OAC | Included / Separate | Low-Medium |
| PDF/Excel document generation | BIP (BI Publisher) | -- | Included | Medium |
| Dashboard with cross-source data | Oracle Analytics Cloud | OTBI (limited) | Separate | Medium-High |
| Custom object with simple form | Application Composer | VBS App UI | Included | Low |
| ESS job monitoring dashboard | VBS App UI (poll ESS REST) | Custom OCI app | Included | Medium |
| Mass data upload/import UI | VBS App UI + FBDI REST | Standalone VBCS + OIC | Included | Medium-High |
Audit the business requirement against the decision tree above. Key questions: Does the extension need custom database storage? Does it serve external users? Does it need secured external REST calls? If all answers are "no," VBS (embedded) is the correct choice and requires no additional licensing. [src3, src4]
Verify: Check your Oracle Fusion Cloud subscription includes Visual Builder Studio access -> navigate to Developer Tools in Fusion navigator.
In Oracle Fusion, navigate to Configuration -> Visual Builder Studio. Create a new workspace, select the target Fusion environment, and create an extension project. VBS automatically provisions a Git repository for version control. [src2]
Fusion Navigator -> Tools -> Visual Builder Studio
-> Create Workspace -> Select Environment
-> Create Extension Project -> Select target module (ERP, HCM, CX)
Verify: Workspace dashboard shows connected environment with green status indicator.
For a new page: create an App UI within the extension. For modifying an existing page: create a Page Extension targeting the specific delivered page. Use Dynamic Forms and Dynamic Containers for conditional content. [src1]
Extension Project -> + New -> App UI (for new page)
-> Page Extension (to modify existing)
-> Drag components (Forms, Tables, Containers)
-> Bind to Fusion Business Objects via Service Catalog
-> Configure rule sets for conditional display
Verify: Preview the extension in the VBS design-time preview -> confirm data binding shows live Fusion data.
For Fusion Business Objects: use the built-in Service Catalog (no configuration needed). For external REST APIs (unsecured): add a Service Connection with the endpoint URL. For external REST APIs (secured): configure the connection through Fusion IAM domain with appropriate OAuth scopes. [src7]
App UI -> Services tab -> + Service Connection
-> From Service Catalog (Fusion BOs) — auto-discovered
-> From Endpoint URL (external REST) — paste URL, test
-> Authentication: None (unsecured) or configure in IAM
Verify: Test the service connection from the VBS Services tab -> should return HTTP 200 with sample data.
Use action chains for event-driven logic: button clicks, page load, value changes. Action chains support REST calls, navigation, variable assignment, conditional branching, and JavaScript functions. [src1, src2]
Verify: Run the action chain in design-time debugger -> step through each action and confirm variable assignments.
VBS uses a sandbox model: deploy to a sandbox first for testing, then publish to production. The CI/CD pipeline in VBS supports automated packaging and deployment. [src2]
VBS -> Build -> Package Extension
-> Deploy to Sandbox (test with sandbox users)
-> Verify in Fusion UI (sandbox mode)
-> Publish to Production
-> Monitor via VBS deployment history
Verify: Access the target Fusion page in sandbox mode -> confirm extension is active and functional.
// Input: Fusion Business Object name, filter criteria
// Output: Filtered records displayed in a table component
// In a VBS Action Chain JavaScript function step:
define([], function () {
'use strict';
var PageModule = function PageModule() {};
PageModule.prototype.filterPurchaseOrders = function (status, dateFrom) {
var filter = 'Status eq "' + status + '"';
if (dateFrom) {
filter += ' and CreationDate ge "' + dateFrom + '"';
}
return filter;
};
return PageModule;
});
# Input: OAuth access token, Fusion instance URL
# Output: List of purchase orders in JSON format
# 1. Obtain OAuth token (standalone VBCS to Fusion)
curl -X POST "https://{fusion-instance}/oauth2/v1/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={secret}&redirect_uri={redirect}"
# 2. Query Purchase Orders via Fusion REST API
curl -X GET "https://{fusion-instance}/fscmRestApi/resources/11.13.18.05/purchaseOrders?limit=25&onlyData=true" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json"
# Expected: JSON array of PO records with OrderNumber, Status, Supplier
| Capability | Page Composer | App Composer | VBS (Embedded) | VBCS (Standalone) | APEX |
|---|---|---|---|---|---|
| Modify delivered page layout | Yes | Limited | Yes | No (separate app) | No |
| Add custom fields to BOs | No | Yes | No (use App Composer) | Yes (custom BOs) | Yes |
| Custom business logic | No | Groovy scripts | Action chains + JS | Action chains + JS | PL/SQL |
| Redwood UX compliance | Automatic | Automatic | Template-based | Template-based | Manual |
| External REST integration | No | No | Unsecured only | Full (any auth) | Full |
| Custom database tables | No | No | No | Yes (ATP/DBCS) | Yes |
| Version control (Git) | No | No | Built-in | Manual setup | No |
| CI/CD pipeline | No | No | Built-in | Manual setup | No |
| Upgrade safety | High | High | Medium | High (separate) | High |
| Error | Meaning | Cause | Resolution |
|---|---|---|---|
| 401 Unauthorized | Token expired or invalid | OAuth token expired on standalone VBCS | Refresh token; check Connected App configuration in IAM |
| 403 Forbidden | Insufficient privileges | Fusion data security policy blocks the user | Verify role/data security for the integration user |
| 404 Not Found | BO endpoint does not exist | Wrong API version or BO not exposed | Check Fusion REST API version; verify BO in Service Catalog |
| 500 Internal Server Error | Fusion server error | Malformed REST payload or Fusion bug | Check payload format; retry; file SR with Oracle |
| Extension not visible | Not deployed to correct sandbox | Sandbox mismatch or deployment failure | Verify sandbox assignment; redeploy from VBS |
| CORS error | Cross-origin request blocked | Standalone VBCS calling Fusion without CORS config | Configure CORS in Fusion IAM; use server-side proxy |
Follow Redwood extension guidelines; use only supported extension points; test in sandbox before update goes live. [src2]Reconfigure service connections in VBS after IAM migration; update redirect URIs and token endpoints. [src7]Use feature branches; merge frequently; resolve conflicts in VBS merge tool. [src2]Monitor OIC message consumption; implement client-side caching; upgrade OIC license tier. [src3]Use single encodeURIComponent call; test parameter passthrough in browser dev tools. [src3]// BAD — Creates licensing cost, deployment complexity, and SSO configuration overhead
// when the requirement is simply a new internal Fusion page
Requirement: "Add a custom PO approval dashboard for internal procurement team"
Approach: Deploy standalone VBCS on OIC, configure OAuth, build separate app
Result: $5K-15K/year additional OIC licensing, weeks of IAM configuration
// GOOD — No additional licensing, inherits Fusion SSO, follows Redwood UX
Requirement: "Add a custom PO approval dashboard for internal procurement team"
Approach: Create VBS App UI, bind to PO Business Objects via Service Catalog
Result: Included in existing license, deployed in hours, consistent UX
// BAD — Page Composer can only show/hide fields based on simple conditions
// It cannot implement multi-step workflows or call external services
Requirement: "Show different form sections based on PO amount and supplier risk score"
Approach: Use Page Composer to create conditional visibility rules
Result: Partial solution at best; no way to call risk API or chain conditions
// GOOD — Full conditional logic with action chains and rule sets
Requirement: "Show different form sections based on PO amount and supplier risk score"
Approach: VBS Dynamic Form with rule sets; action chain calls risk API; conditional containers
Result: Full business logic support, maintainable, version-controlled
// BAD — URL changes with Fusion updates and environment differences
var poUrl = "https://fa-prod.oraclecloud.com/fscmRestApi/resources/11.13.18.05/purchaseOrders";
// GOOD — Service Catalog abstracts the URL and handles versioning
// In VBS, bind to Service Catalog BO "purchaseOrders"
// VBS resolves the correct endpoint at runtime
// No hardcoded URLs, works across dev/test/prod environments
Use the decision tree above; choose standalone only when external users, custom DB, or secured external REST is required. [src3, src4]Deploy to sandbox before production; subscribe to Oracle release readiness notifications; test 4-6 weeks before update. [src2]Use only Redwood-approved components from the VBS palette; follow Oracle's Redwood Design System documentation. [src2, src4]Use App Composer for data model extensions; use VBS for UI logic and complex workflows. [src3]Use relative URLs for auth endpoints; monitor Oracle's IAM migration timeline. [src7]Limit to 1-2 embedded reports per page; use lazy loading; consider OAC for dashboard-heavy pages. [src3]# Check VBS workspace status and connected environments
# Navigate to: Fusion -> Tools -> Visual Builder Studio -> Environments tab
# Verify: Environment shows "Connected" with green indicator
# Test Fusion REST API availability (from standalone VBCS or external)
curl -s -o /dev/null -w "%{http_code}" \
"https://{fusion-instance}/fscmRestApi/resources/11.13.18.05/purchaseOrders?limit=1" \
-H "Authorization: Bearer {token}"
# Expected: 200
# Verify Service Catalog BO availability in VBS
# In VBS App UI: Services tab -> Service Catalog -> Search for BO name
# Verify: BO appears with available operations (GET, POST, PATCH, DELETE)
# Check OIC message consumption (standalone VBCS)
# Navigate to: OCI Console -> Integration -> Monitoring -> Message Usage
# Verify: Usage is within licensed message pack limit
| Release | Date | Status | Key Changes | Notes |
|---|---|---|---|---|
| 26.01 | 2026-01 | Current | Maintenance release — Redwood rollout fixes, security updates | No new extension features |
| 25.10 | 2025-07 | Supported | Enhanced Dynamic Container support, improved rule sets | Major extension framework update |
| 25.07 | 2025-04 | Supported | VBS performance improvements, new Redwood components | -- |
| 25.04 | 2025-01 | Supported | Redwood page extension GA for ERP modules | First broad ERP Redwood extension support |
| 22B | 2022-07 | Legacy | First VBS support for extending VBCS (JET) pages | Limited to select pages |
[src6]
| Use When | Don't Use When | Use Instead |
|---|---|---|
| Need to modify existing Redwood pages (field visibility, layout) | Only need to add a custom field to a BO | Application Composer |
| Building a new internal-facing page with Fusion data only | Need external user access (partners, suppliers) | Standalone VBCS or APEX |
| Need conditional UI logic with action chains | Only need a simple operational report | OTBI |
| Need Git version control and CI/CD for UI extensions | Building a data-heavy analytical dashboard | Oracle Analytics Cloud |
| Want Redwood UX consistency across custom and delivered pages | Need custom database tables for non-Fusion data | Standalone VBCS + ATP or APEX |
| Need to embed VBCS page within a Fusion page tab | Need to call secured third-party REST APIs without IAM config | Standalone VBCS |
| Capability | VBS (Embedded) | Standalone VBCS | Page Composer | App Composer | APEX |
|---|---|---|---|---|---|
| Custom UI pages | Yes (App UI) | Yes | No | No | Yes |
| Modify delivered pages | Yes (Page/Layout Extension) | No | Yes (limited) | Limited | No |
| Custom business logic | Action chains + JS | Action chains + JS | No | Groovy | PL/SQL |
| External REST APIs | Unsecured only | Any (secured) | No | No | Yes |
| Custom database | No | Yes (ATP/DBCS) | No | No | Yes |
| Git/CI/CD | Built-in | Manual | No | No | No |
| Redwood UX | Automatic | Templates | Automatic | Automatic | Manual |
| Licensing | Included | OIC license | Included | Included | OCI/ATP license |
| Upgrade risk | Medium | Low (separate) | Low | Low | Low |
| Learning curve | Medium | Medium | Low | Low | Medium-High |
| External user support | No | Yes | No | No | Yes |
| Mobile support | PWA (Redwood) | PWA + native | No | No | PWA |