Skip to content

Add flow extensions documentation#6199

Open
KD23243 wants to merge 1 commit into
wso2:masterfrom
KD23243:addFlowExtensionsDocs
Open

Add flow extensions documentation#6199
KD23243 wants to merge 1 commit into
wso2:masterfrom
KD23243:addFlowExtensionsDocs

Conversation

@KD23243

@KD23243 KD23243 commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Purpose

Add documentation for flow extensions, which let an external service be called from within a flow to inject custom logic such as validation, enrichment, or risk evaluation. Covers both configuring the extension in the Console and implementing the external service it calls.

Related Issue

  • N/A

Implementation

Added two guide pages under Guides > Flows > Flow Extensions for both Asgardeo and Identity Server (next), sharing a common include:

  • Flow extension configuration (flow-extensions.md): explains flow extensions, walks through a loyalty-enrichment sample use case, and provides step-by-step instructions to create the extension, create the returned attributes, configure claim access, and add the extension to the Self Registration flow.
  • Implementing an external service (flow-extension-external-service.md): documents the HTTP contract the external service must implement, including the request envelope, event/flow/user/application objects, allowedOperations, and the SUCCESS/FAILED/ERROR response shapes with examples.

Changes:

  • New shared includes under en/includes/guides/flows/.
  • Product stub pages and supporting GIF assets for Asgardeo and Identity Server (next).
  • Updated the mkdocs.yml navigation for both products to nest the two pages under a Flow Extensions section.

@coderabbitai

coderabbitai Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Adds two new shared documentation guide files for "flow extensions": one describing the overview, use case, and configuration steps, and another specifying the full HTTP request/response contract for an externally hosted service. Both guides are wired into Asgardeo and Identity Server Next via include-directive page stubs and new navigation entries in each product's mkdocs.yml.

Changes

Flow Extensions Documentation

Layer / File(s) Summary
Flow extensions overview and build guide
en/includes/guides/flows/flow-extensions.md
Introduces flow extensions, describes a Self Registration CRM lookup use case, and provides step-by-step instructions to register the extension, create custom attributes, configure claim access/mapping, and wire a Flow Extension View into the Self Registration flow.
External service HTTP contract
en/includes/guides/flows/flow-extension-external-service.md
Documents the full request/response contract: supported auth schemes, POST envelope fields, event payload shape, allowedOperations/replace upsert semantics, HTTP status interpretation, SUCCESS/FAILED/ERROR response variants with a PII warning, a worked example with three response outcomes, and a next-steps callout.
Page stubs and navigation wiring
en/asgardeo/docs/guides/flows/flow-extensions.md, en/asgardeo/docs/guides/flows/flow-extension-external-service.md, en/asgardeo/mkdocs.yml, en/identity-server/next/docs/guides/flows/flow-extensions.md, en/identity-server/next/docs/guides/flows/flow-extension-external-service.md, en/identity-server/next/mkdocs.yml
Adds include-directive page stubs for both guides in Asgardeo and Identity Server Next, and registers both pages under a new Flow Extensions subsection in each product's navigation.

Suggested labels

Team/Authentication & registration

Suggested reviewers

  • ashanthamara
  • himeshsiriwardana
  • hwupathum
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive The PR description provides a clear purpose, lists implementation details, and references the related files, though it does not include the required security checks, test environment, or related PRs sections from the template. Add the missing template sections: Test environment, Security checks (including FindSecurityBugs plugin verification and secret confirmation), and explicitly confirm whether there are related PRs.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Add flow extensions documentation' directly describes the main change: adding documentation for a new feature (flow extensions).
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@en/includes/guides/flows/flow-extension-external-service.md`:
- Line 72: The `portalUrl` field in the documentation table contains incomplete
placeholder text `(fix this)` in its description. Replace the entire placeholder
text with a complete and accurate description of what the `portalUrl` field
represents, ensuring the documentation provides clear and release-ready
information about this field's purpose and usage.
- Line 50: The actionType field has inconsistent spelling across the
documentation: the contract specification uses singular "FLOW_EXTENSION" while
the example request uses plural "FLOW_EXTENSIONS". Update the example request at
line 233 to use the singular form "FLOW_EXTENSION" to match the contract
specification defined earlier in the document, ensuring consistency in the
actionType value throughout.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: 38ff7378-cdb2-4d3e-b422-490fad34d124

📥 Commits

Reviewing files that changed from the base of the PR and between 5ebe66a and 34e6bbe.

⛔ Files ignored due to path filters (6)
  • en/asgardeo/docs/assets/img/guides/flows/flow-extension-add-to-flow.gif is excluded by !**/*.gif
  • en/asgardeo/docs/assets/img/guides/flows/flow-extension-configure.gif is excluded by !**/*.gif
  • en/asgardeo/docs/assets/img/guides/flows/flow-extension-create.gif is excluded by !**/*.gif
  • en/identity-server/next/docs/assets/img/guides/flows/flow-extension-add-to-flow.gif is excluded by !**/*.gif
  • en/identity-server/next/docs/assets/img/guides/flows/flow-extension-configure.gif is excluded by !**/*.gif
  • en/identity-server/next/docs/assets/img/guides/flows/flow-extension-create.gif is excluded by !**/*.gif
📒 Files selected for processing (8)
  • en/asgardeo/docs/guides/flows/flow-extension-external-service.md
  • en/asgardeo/docs/guides/flows/flow-extensions.md
  • en/asgardeo/mkdocs.yml
  • en/identity-server/next/docs/guides/flows/flow-extension-external-service.md
  • en/identity-server/next/docs/guides/flows/flow-extensions.md
  • en/identity-server/next/mkdocs.yml
  • en/includes/guides/flows/flow-extension-external-service.md
  • en/includes/guides/flows/flow-extensions.md


```json
{
"actionType": "FLOW_EXTENSION",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Resolve inconsistency: actionType singular vs plural.

Line 50 (top-level envelope reference) defines actionType as "FLOW_EXTENSION" (singular), but line 233 (example request) uses "FLOW_EXTENSIONS" (plural). Verify the correct spelling and update the example to match the contract specification.

Also applies to: 233-233

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@en/includes/guides/flows/flow-extension-external-service.md` at line 50, The
actionType field has inconsistent spelling across the documentation: the
contract specification uses singular "FLOW_EXTENSION" while the example request
uses plural "FLOW_EXTENSIONS". Update the example request at line 233 to use the
singular form "FLOW_EXTENSION" to match the contract specification defined
earlier in the document, ensuring consistency in the actionType value
throughout.

| ----- | ---- | ----------- |
| `flowType` | string | The flow being executed: `REGISTRATION`, `PASSWORD_RECOVERY`, or `INVITED_USER_REGISTRATION`. Branch your logic on this value. |
| `flowId` | string | The identifier for this single flow execution. |
| `portalUrl` | string | The portal (fix this). |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Fix incomplete field description.

Line 72 contains placeholder text (fix this) in the portalUrl field description. Complete this description so the documentation is accurate and release-ready.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@en/includes/guides/flows/flow-extension-external-service.md` at line 72, The
`portalUrl` field in the documentation table contains incomplete placeholder
text `(fix this)` in its description. Replace the entire placeholder text with a
complete and accurate description of what the `portalUrl` field represents,
ensuring the documentation provides clear and release-ready information about
this field's purpose and usage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant