Skip to content

Comments

feat(consumption): Add Invoke Nested Agent operation for Consumption Logic Apps#8660

Open
Bhavd13 wants to merge 11 commits intoAzure:mainfrom
Bhavd13:NestedAgent
Open

feat(consumption): Add Invoke Nested Agent operation for Consumption Logic Apps#8660
Bhavd13 wants to merge 11 commits intoAzure:mainfrom
Bhavd13:NestedAgent

Conversation

@Bhavd13
Copy link
Contributor

@Bhavd13 Bhavd13 commented Dec 15, 2025

Commit Type

  • feature - New functionality
  • fix - Bug fix
  • refactor - Code restructuring without behavior change
  • perf - Performance improvement
  • docs - Documentation update
  • test - Test-related changes
  • chore - Maintenance/tooling

Risk Level

  • Low - Minor changes, limited scope
  • Medium - Moderate changes, some user impact
  • High - Major changes, significant user/system impact

What & Why

This PR adds the Invoke Nested Agent operation for Consumption Logic Apps, enabling users to send tasks to nested agent workflows from within their Logic App workflows. Previously, the nested agent functionality was only available for Standard Logic Apps (fetched from backend). This change implements the same capability for Consumption Logic Apps by:

  • Creating a static manifest for the invokeNestedAgent operation
  • Adding the operation to the Azure Logic Apps connector group (same as invokeWorkflow)
  • Implementing Azure Resource Selection to filter and display Logic Apps with A2A Request (Agent) triggers
  • Adding the azureResourceSelection capability for workflow picker UI

This allows Consumption Logic App users to invoke agent workflows as nested operations, enabling more complex AI agent orchestration scenarios.

Impact of Change

  • Users: Consumption Logic App users can now add the "Invoke Nested Agent" action from the Azure Logic Apps connector to send tasks to other Logic Apps that have an A2A Request trigger. The workflow picker shows only Logic Apps with Agent triggers in the same region.
  • Developers: Added the new InvokeNestedAgentManifest extended azureResourceSelection for nested agent selection and added getAgentWorkflows() to SearchService for filtering agent-enabled workflows.
  • System: No significant performance impact. Client-side filtering is used to identify workflows with Agent triggers .

Test Plan

  • Unit tests added
  • E2E tests added/updated
  • Manual testing completed
  • Tested in:

Contributors

@Bhavd13

Screenshots/Videos

nestedagent.recording.mp4

Copilot AI review requested due to automatic review settings December 15, 2025 09:44
@github-actions
Copy link

github-actions bot commented Dec 15, 2025

🤖 AI PR Validation Report

PR Review Results

Thank you for your submission! Here's detailed feedback on your PR title and body compliance:

PR Title

  • Current: feat(consumption): Add Invoke Nested Agent operation for Consumption Logic Apps
  • Issue: None — title is clear, follows conventional commit style, and accurately describes the change.
  • Recommendation: Keep as-is.

Commit Type

  • Properly selected (feature) and only one commit type is checked.
  • Note: If this PR grows beyond a single logical feature (multiple different behaviors), consider splitting into smaller PRs.

Risk Level

  • The PR includes the label risk:medium and the PR body selects Medium. These match.
  • Advised risk based on the code diff: risk:medium (no change recommended). The changes introduce new UI selection, new built-in operation, and search/service changes; this is appropriate for medium risk.

What & Why

  • Current: This PR adds the Invoke Nested Agent operation for Consumption Logic Apps, explains the additions (manifest, connector grouping, resource selection, workflow picker capability).
  • Issue: None — concise and relevant.
  • Recommendation: Consider adding one-line notes about backwards compatibility (if any) or any migration steps if existing flows rely on similar identifiers.

Impact of Change

  • The Impact section is present and well-scoped:
    • Users: calls out the new action and picker filtering behavior.
    • Developers: mentions the new manifest, SearchService method, and capability.
    • System: calls out client-side filtering and that there is no significant perf impact.
  • Recommendation:
    • Users: No further action required in the PR body.
    • Developers: Add a short note about any public APIs changed (interfaces, exported constants) if teams depend on them.
    • System: If there are any caching or telemetry changes, document them; otherwise the current note is sufficient.

Test Plan

  • Assessment: Unit tests were added (I verified new test files and updates). Manual testing is selected — acceptable because unit tests cover the new logic and UI changes are accompanied by a screenshot link.
  • Recommendation: Run CI and ensure the new tests pass. Consider adding an E2E test or an integration test later if the workflow picker behavior needs coverage across client/server boundaries (optional, but valuable).

⚠️ Contributors

  • Assessment: @Bhavd13 is listed as the contributor.
  • Recommendation: If Product/Design/PM or additional engineers contributed to the feature, consider tagging them in the Contributors section to give credit. This is optional.

⚠️ Screenshots/Videos

  • Assessment: A screenshot/video link is included. Good.
  • Recommendation: Ensure the link is accessible to reviewers (public or org-accessible). If the change is primarily visual and reviewers need more context, include a short caption describing what is shown.

Summary Table

Section Status Recommendation
Title Keep as-is
Commit Type Keep as-is
Risk Level Matches advised risk (risk:medium)
What & Why Good — consider a note on backward compatibility
Impact of Change Good — consider documenting public API effects
Test Plan Unit tests present; run CI; consider E2E later
Contributors ⚠️ Consider crediting additional contributors
Screenshots/Videos ⚠️ Ensure link accessibility and add short caption

Final notes and action items

  • This PR passes the PR title/body compliance checks.
  • The advised risk level (risk:medium) matches the PR label and is consistent with the changes in the diff.
  • Minor suggestions:
    • Ensure the new localization key (QMuDPI) has been propagated to other locale files or that the localization pipeline will pick up the new key.
    • Confirm the case/ID consistency across places using the operation id (the diff consistently uses invokenestedagent as the id — ensure other consumers expect lowercase id where applicable).
    • Ensure CI is green for the newly added unit tests and that the screenshot link is accessible to reviewers.

Please update any small documentation notes if you have internal docs referencing the previous behavior and then merge once CI is green. Thank you for the clear PR description and tests — nice work!


Last updated: Tue, 24 Feb 2026 10:06:19 GMT

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds the "Invoke Nested Agent" operation for Consumption Logic Apps, enabling users to send tasks to nested agent workflows. Previously, this functionality was only available for Standard Logic Apps via backend manifests. The implementation creates a static manifest for the operation and integrates it with the Azure Logic Apps connector group, including workflow filtering to display only Logic Apps with A2A Request (Agent) triggers.

Key Changes:

  • Created static manifest for invokeNestedAgent operation with taskMessage input and standard workflow outputs
  • Added getAgentWorkflows() method to filter workflows by trigger.kind === 'agent'
  • Integrated Azure Resource Selection UI in both designer v1 and v2 for agent workflow picker

Reviewed changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
package.json Upgraded turbo from 2.3.0 to 2.6.3 and reformatted lint-staged config (unrelated changes)
pnpm-lock.yaml Lock file updates corresponding to turbo version upgrade
libs/logic-apps-shared/src/designer-client-services/lib/search.ts Added getAgentWorkflows() method signature to ISearchService interface
libs/logic-apps-shared/src/designer-client-services/lib/consumption/search.ts Registered invokeNestedAgentOperation in built-in operations list
libs/logic-apps-shared/src/designer-client-services/lib/consumption/operations/invokeWorkflow.ts Defined invokeNestedAgentOperation with NestedAgent type and azureResourceSelection capability
libs/logic-apps-shared/src/designer-client-services/lib/consumption/operationmanifest.ts Added nestedagent type mapping and manifest registration
libs/logic-apps-shared/src/designer-client-services/lib/consumption/manifests/invokeNestedAgent.ts Created manifest with taskMessage input, workflow host requirements, and standard outputs
libs/logic-apps-shared/src/designer-client-services/lib/base/search.ts Implemented getAgentWorkflows() with client-side filtering for agent-kind triggers
libs/logic-apps-shared/src/designer-client-services/lib/test/mocks/builtInOperationResponse.ts Added mock data for invokeNestedAgent operation in test fixtures
libs/designer/src/lib/ui/panel/recommendation/azureResourceSelection.tsx Added SELECT_NESTED_AGENT_WORKFLOW_ACTION case with agentWorkflow resource type
libs/designer/src/lib/common/constants.ts Added SELECT_NESTED_AGENT_WORKFLOW_ACTION constant
libs/designer-v2/src/lib/ui/panel/recommendation/azureResourceSelection.tsx Added SELECT_NESTED_AGENT_WORKFLOW_ACTION case (mirroring v1 implementation)
libs/designer-v2/src/lib/common/constants.ts Added SELECT_NESTED_AGENT_WORKFLOW_ACTION constant
apps/Standalone/src/templates/app/TemplatesConsumption.tsx Registered invokenestedagent in clientSupportedOperations
apps/Standalone/src/designer/app/AzureLogicAppsDesigner/laDesignerConsumptionV2.tsx Registered invokenestedagent in clientSupportedOperations
apps/Standalone/src/designer/app/AzureLogicAppsDesigner/laDesignerConsumption.tsx Registered invokenestedagent in clientSupportedOperations
Localize/lang/strings.json Added localization string "Select workflow with an Agent loop" (ID: QMuDPI)

@Eric-B-Wu Eric-B-Wu added the risk:medium Medium risk change with potential impact label Dec 16, 2025
@Bhavd13 Bhavd13 requested a review from Eric-B-Wu February 24, 2026 10:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-validated risk:medium Medium risk change with potential impact

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants