Difficulty: Intermediate
Series — Context-aware links on Redwood pages (part 2)
Earlier: v1 — VB Studio advanced mode + DOM manipulation to inject a context link on the Redwood Order screen (Dec 2025). This post adds a config-only, business-analyst-friendly alternative using Guided Journeys, plus a method to discover the URL context variables Oracle leaves undocumented outside HCM.
TL;DR
- Problem: Redwood decides for you where UI extensions are allowed, so on locked-down pages like Sales Order you can’t just drop in a Visual Builder component. But almost every Redwood page still lets you attach a Guided Journey — and a Guided Journey link URL can carry the current record’s context (e.g. the order id) via
{Variable}placeholders. The catch: Oracle only documents those variable names for HCM. SCM, Procurement and the rest are undocumented. - Stack: Guided Journeys (functional config), the Redwood page’s journey-code page property, browser Dev Tools → Network (
generateNavigationURL). No Visual Builder advanced mode, no code. - Who should read: SCM / CX / Procurement functional consultants and business analysts who want config-only, context-aware links (open a BIP/OTBI report or an external app with the current record) on Redwood pages — and developers who need to know when this won’t work and a code solution is still required.
Tested on / Prerequisites
Tested on Fusion 26B; requires access to the Journeys setup screen (to create and enable the Guided Journey), an active sandbox to inspect page properties, and browser Developer Tools. No Visual Builder advanced mode required — a business analyst can do this end to end. See Oracle’s Introduction to Guided Journeys and Enable a Guided Journey for Redwood Pages.
Business Challenge
Oracle is moving every Fusion screen to Redwood, and Redwood changed the rules for extensions. In the classic UI, Page Composer let us add a context-specific link to almost any page — open a BIP report or an external application and pass the current record with #{binding} syntax. In Redwood, where you can add UI is decided by the product team: CX screens expose a rich Visual Builder extension surface, but many SCM screens — Sales Order among them — expose very little. You don’t get to add an arbitrary link component.
What almost every Redwood page does allow is a Guided Journey. A Guided Journey can present instructions and documents, and — the part that matters here — a link that navigates to another internal page, an external site, or an OTBI/BIP report. That link URL supports {Variable} placeholders that Oracle substitutes at click time with the current page’s context. So the very “open a report/screen with the current order id” requirement we used to solve with Page Composer is achievable in Redwood, config-only, through a Guided Journey.
The one real obstacle: Oracle only documents the available context variables for HCM pages. For a Sales Order, an Inventory page, a PO — there is no published list of what you can put inside {...}. Our customer’s recurring need was exactly this: from the Redwood Sales Order page, open a target URL and pass the current order id. This post shows how to discover the context variables any Redwood page exposes, so you can build the link without guessing.
Why I changed this
In the Dec 2025 post we solved the same problem with Visual Builder Studio in advanced mode: an vbAfterNavigate action chain that scrapes the headerId out of the browser URL via DOM and injects a link — powerful, but developer-owned and more exposed to Oracle’s UI changes. When the context you need is actually available to the page’s Guided Journey, this config-only approach is cleaner, survives Oracle updates and P2T cloning better, and a business analyst can own it — so it is now our first choice. The Visual Builder / DOM approach remains the necessary fallback for pages that don’t expose the context you need (see Gotchas).
Solution Overview
First we build the Guided Journey, then we show how we knew which variable to put in its URL:
- Create a Guided Journey with an External URL task whose URL uses a
{Variable}placeholder. - Attach it to the target Redwood page using the page’s journey code (from the page properties) and confirm it renders.
- Play the page, open Dev Tools → Network, and click the link.
- Read the
generateNavigationURLrequest payload — itsContextobject is the authoritative list of variables the page provides. This is where we confirm the correct name (here,HeaderId). - Keep the URL using those exact names; Oracle substitutes them on navigation.
- If the variable you need is not in the payload, fall back to the Visual Builder / DOM development solution.
Implementation Details
Part 1 — Prepare the Guided Journey
Step 1 — Create the journey with a parametrized URL
In the Journeys setup screen, create a Guided Journey and add a task with Task Type = External URL. In Task URL, use a placeholder for the value you want to pass:
https://www.google.com?q={HeaderId}Leave Open URL on the same page off if you want the link to open in a new tab. For this walkthrough the target is a deliberately simple URL so the substitution is obvious. We use {HeaderId} because we already know — from Part 2 below — that the Sales Order page populates it; on a page you haven’t inspected yet, run Part 2 first to learn the variable name, then set the URL.

Step 2 — Attach it to the page and confirm it renders
Attach the journey to the target page using the page’s journey code, which the Redwood page exposes as a page property. On the Sales Order page that’s Omorder Page Journey Code = SCM_SO_ADDITIONAL_ACTIONS at the page level (plus Omorder Main Section Journey Code at the section level). Set the journey’s Code to match, then play the page — the journey renders (here as the External URL banner with a Go to website action).

Part 2 — How we found the HeaderId variable
Step 3 — Open the Network tab
With the page open, open the browser Developer Tools, switch to the Network tab, enable Preserve log, and clear the current entries so the next click is easy to find.

Step 4 — Read generateNavigationURL to discover the context
Click the Guided Journey link. In the Network tab a request named generateNavigationURL appears. Open its Payload — the Context object lists exactly which variables this page hands to the journey:
{
"PersonId": "-1",
"AssignmentId": "-1",
"Context": {
"OrderNumber": "236",
"HeaderId": "300000014338664"
}
}On the Sales Order page the real, populated context is HeaderId (300000014338664) and OrderNumber (236). Note that PersonId and AssignmentId are present but come back as -1: those are HCM-oriented defaults that Oracle sends on every page, and they carry no meaning here. Only trust a variable that returns a real value for your record. This payload — not the (missing) SCM documentation — is your source of truth.

Step 5 — Confirm the substitution
Because {HeaderId} is a variable the page populates, Oracle substitutes it and navigates. The target opens with the real value injected:
https://www.google.com/?q=300000014338664
Swap the placeholder for whatever your real target expects — a BIP report p_header_id parameter, an OTBI analysis filter, or an external application’s query string. If the target wants the user-facing number rather than the internal id, use {OrderNumber} instead of {HeaderId}.
Gotchas / Production notes
- Only HCM’s context variables are documented. For SCM, Procurement, and other pillars,
generateNavigationURLis the authoritative source. Don’t guess names from the HCM list — inspect the actual payload for your page. PersonId/AssignmentIdappear everywhere as-1. They are HCM defaults echoed on non-HCM pages and are useless there. Treat any-1value as “not available on this page.”- Context is page- and section-specific. A page-level journey (
Omorder Page Journey Code) and a main-section journey (Omorder Main Section Journey Code) can expose different variables. Inspect the exact placement you intend to use. {HeaderId}is the internal system id, not the human-readable order number. Pick{HeaderId}vs{OrderNumber}based on what the target report/screen/app actually keys on.- Not every page gives you what you need — and this is the honest limit of the config-only approach. Some screens expose Guided Journeys but do not include the record you’re after in the context. For example, Inventory Transactions offers Guided Journeys, but the
generateNavigationURLpayload does not carry the current interface/transaction header id — so a Guided Journey link simply cannot pass it. In that case you must fall back to a development solution: extract the id from the browser URL and build the link yourself, exactly as in the Dec 2025 VB advanced-mode post. - Values are substituted raw. If a value could contain characters that need URL-encoding, account for that in the target.
- Config-only and P2T-safe — there’s no endpoint or credential to register, so the link survives Production-to-Test cloning. Still re-test after each Oracle quarterly update, since Redwood internals can change.
How to verify
- In Dev Tools → Network, filter for
generateNavigationURL, click your link, and confirm theContextobject contains the variable you’re using with a real value (not-1). - Confirm the opened target URL contains the substituted value — e.g.
?q=300000014338664in the address bar. - For a BIP or OTBI target, confirm the report actually receives and filters on the passed parameter.
Conclusion
Guided Journeys turn a Redwood limitation into a config-only win: on pages where Oracle won’t let you add a Visual Builder component, a business analyst can still deliver a context-aware link — open a report or a screen with the current record — with no developer and no advanced-mode DOM code, in a way that survives P2T and upgrades. The reusable part is the discovery method: for any Redwood page, generateNavigationURL tells you precisely which context variables you can pass, even where Oracle never documented them. And when a page genuinely doesn’t expose the context you need, you now know that up front — and know to reach for the development fallback instead of fighting the config.
CTA
Trying to add a context-aware link to a locked-down Redwood page, or not sure whether the context you need is even exposed? We’ve shipped both the Guided Journey approach and the Visual Builder fallback across enterprise SCM and CX clients, and we can do the same in your environment. Reach out at info@cidsolutions.co.il or on WhatsApp — let’s get it solved.
Tags: Oracle Fusion, Redwood, Guided Journeys, Order Management, Sales Order, Visual Builder Studio, SCM, OTBI, BIP, low-code
Related posts:
- Using Visual Builder advanced mode to Add dynamic URL with order context to Redwood Order screen — the development fallback for when the context isn’t exposed.
- Fusion Service CX Redwood: Adding Part Line DFF segment dependent on standard field by using Visual Builder Studio — extending a Redwood page where a richer VB surface is available.