You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2026/05/11 08:51:48 UTC

(camel) branch main updated: CAMEL-23468: camel-aws-bedrock-agent-runtime - Add invokeFlow operation (#23110)

This is an automated email from the ASF dual-hosted git repository.

oscerd pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 7c476f261dfa CAMEL-23468: camel-aws-bedrock-agent-runtime - Add invokeFlow operation (#23110)
7c476f261dfa is described below

commit 7c476f261dfaddd6a93699e8a61f7d886154b6de
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Mon May 11 10:51:40 2026 +0200

    CAMEL-23468: camel-aws-bedrock-agent-runtime - Add invokeFlow operation (#23110)
    
    Wires the Bedrock Agent Runtime `InvokeFlow` API into the existing
    `aws-bedrock-agent-runtime` component:
    
    * New `invokeFlow` value on `BedrockAgentRuntimeOperations`.
    * New endpoint options `flowIdentifier`, `flowAliasIdentifier`, and `enableTrace`
      (group `flow`); each is overridable per exchange via dedicated headers.
    * New `BedrockAgentRuntimeAsyncClient` slot on the configuration/endpoint with
      autowire support. The async client (Netty-based) is only built when the
      endpoint actually needs event streaming (`operation=invokeFlow`) or when the
      user provides one, so existing `retrieveAndGenerate` users pay no new cost.
    * Producer logic that translates the in-message body into `FlowInput`s
      (`String` -> single input on node `FlowInputNode`/output `document`, or a
      pre-built `FlowInput` / `List<FlowInput>`), invokes the async client, drives
      the `InvokeFlowResponseHandler` visitor, and publishes the collected
      `FlowOutputEvent`/`FlowTraceEvent` lists plus the completion reason as
      message headers. The out-body is the document of the last output event.
    
    Tests cover URI parsing, the lazy/explicit async-client lifecycle on the
    endpoint, request building from a `String` body, header overrides, and the
    "missing flowIdentifier" validation path. Docs updated.
    
    Signed-off-by: Andrea Cosentino <an...@gmail.com>
    Co-authored-by: Claude Code <no...@anthropic.com>
---
 .../components/aws-bedrock-agent-runtime.json      |  61 ++++---
 .../catalog/components/aws-bedrock-agent.json      |   9 +-
 components/camel-aws/camel-aws-bedrock/pom.xml     |   6 +
 .../BedrockAgentRuntimeComponentConfigurer.java    |  26 ++-
 .../BedrockAgentRuntimeEndpointConfigurer.java     |  26 ++-
 .../BedrockAgentRuntimeEndpointUriFactory.java     |   6 +-
 .../aws2/bedrock/agent/aws-bedrock-agent.json      |   9 +-
 .../agentruntime/aws-bedrock-agent-runtime.json    |  61 ++++---
 .../docs/aws-bedrock-agent-runtime-component.adoc  |  41 +++++
 .../BedrockAgentRuntimeConfiguration.java          |  58 ++++++
 .../agentruntime/BedrockAgentRuntimeConstants.java |  28 +++
 .../agentruntime/BedrockAgentRuntimeEndpoint.java  |  21 +++
 .../BedrockAgentRuntimeOperations.java             |   3 +-
 .../agentruntime/BedrockAgentRuntimeProducer.java  | 181 ++++++++++++++++++-
 .../client/BedrockAgentRuntimeClientFactory.java   |  15 ++
 .../BedrockAgentRuntimeEndpointTest.java           | 125 +++++++++++++
 .../BedrockAgentRuntimeProducerInvokeFlowTest.java | 166 +++++++++++++++++
 ...BedrockAgentRuntimeComponentBuilderFactory.java |  74 ++++++++
 .../dsl/BedrockAgentEndpointBuilderFactory.java    | 100 +++++++++++
 .../BedrockAgentRuntimeEndpointBuilderFactory.java | 198 +++++++++++++++++++++
 20 files changed, 1161 insertions(+), 53 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-bedrock-agent-runtime.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-bedrock-agent-runtime.json
index 66503cde5293..59172332101e 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-bedrock-agent-runtime.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-bedrock-agent-runtime.json
@@ -28,7 +28,7 @@
     "knowledgeBaseId": { "index": 1, "kind": "property", "displayName": "Knowledge Base Id", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Define the Knowledge Base Id we are going to use" },
     "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail [...]
     "modelId": { "index": 3, "kind": "property", "displayName": "Model Id", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "java.lang.String", "enum": [ "anthropic.claude-instant-v1", "anthropic.claude-v2", "anthropic.claude-v2:1" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configurat [...]
-    "operation": { "index": 4, "kind": "property", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeOperations", "enum": [ "retrieveAndGenerate" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField" [...]
+    "operation": { "index": 4, "kind": "property", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeOperations", "enum": [ "retrieveAndGenerate", "invokeFlow" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "confi [...]
     "overrideEndpoint": { "index": 5, "kind": "property", "displayName": "Override Endpoint", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set the need for overriding the endpoint. This option ne [...]
     "pojoRequest": { "index": 6, "kind": "property", "displayName": "Pojo Request", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we want to use a POJO request as body or not" },
     "profileCredentialsName": { "index": 7, "kind": "property", "displayName": "Profile Credentials Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If using a profile credentials pr [...]
@@ -37,28 +37,39 @@
     "useDefaultCredentialsProvider": { "index": 10, "kind": "property", "displayName": "Use Default Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Age [...]
     "useProfileCredentialsProvider": { "index": 11, "kind": "property", "displayName": "Use Profile Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Age [...]
     "autowiredEnabled": { "index": 12, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching  [...]
-    "bedrockAgentRuntimeClient": { "index": 13, "kind": "property", "displayName": "Bedrock Agent Runtime Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configuration [...]
-    "healthCheckConsumerEnabled": { "index": 14, "kind": "property", "displayName": "Health Check Consumer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all consumer based health checks from this component" },
-    "healthCheckProducerEnabled": { "index": 15, "kind": "property", "displayName": "Health Check Producer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all producer based health checks from this component. Notice: Camel has by default disabled all producer based health-checks. You can turn on produce [...]
-    "proxyHost": { "index": 16, "kind": "property", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Bedrock Agent Runtime client" },
-    "proxyPort": { "index": 17, "kind": "property", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Bedrock Agent Runtime client" },
-    "proxyProtocol": { "index": 18, "kind": "property", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "enum", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To [...]
-    "accessKey": { "index": 19, "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
-    "secretKey": { "index": 20, "kind": "property", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" },
-    "sessionToken": { "index": 21, "kind": "property", "displayName": "Session Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Session Token used when the user needs [...]
-    "trustAllCertificates": { "index": 22, "kind": "property", "displayName": "Trust All Certificates", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "security": "insecure:ssl", "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we want [...]
-    "useSessionCredentials": { "index": 23, "kind": "property", "displayName": "Use Session Credentials", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Agent Runtim [...]
+    "bedrockAgentRuntimeAsyncClient": { "index": 13, "kind": "property", "displayName": "Bedrock Agent Runtime Async Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration" [...]
+    "bedrockAgentRuntimeClient": { "index": 14, "kind": "property", "displayName": "Bedrock Agent Runtime Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configuration [...]
+    "enableTrace": { "index": 15, "kind": "property", "displayName": "Enable Trace", "group": "flow", "label": "flow", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Enables tracing for the invokeFlow operation. When enabled, the p [...]
+    "flowAliasIdentifier": { "index": 16, "kind": "property", "displayName": "Flow Alias Identifier", "group": "flow", "label": "flow", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the Bedrock flow alias to invoke (used [...]
+    "flowIdentifier": { "index": 17, "kind": "property", "displayName": "Flow Identifier", "group": "flow", "label": "flow", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the Bedrock flow to invoke (used by the invokeFlo [...]
+    "healthCheckConsumerEnabled": { "index": 18, "kind": "property", "displayName": "Health Check Consumer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all consumer based health checks from this component" },
+    "healthCheckProducerEnabled": { "index": 19, "kind": "property", "displayName": "Health Check Producer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all producer based health checks from this component. Notice: Camel has by default disabled all producer based health-checks. You can turn on produce [...]
+    "proxyHost": { "index": 20, "kind": "property", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Bedrock Agent Runtime client" },
+    "proxyPort": { "index": 21, "kind": "property", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Bedrock Agent Runtime client" },
+    "proxyProtocol": { "index": 22, "kind": "property", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "enum", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To [...]
+    "accessKey": { "index": 23, "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
+    "secretKey": { "index": 24, "kind": "property", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" },
+    "sessionToken": { "index": 25, "kind": "property", "displayName": "Session Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Session Token used when the user needs [...]
+    "trustAllCertificates": { "index": 26, "kind": "property", "displayName": "Trust All Certificates", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "security": "insecure:ssl", "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we want [...]
+    "useSessionCredentials": { "index": 27, "kind": "property", "displayName": "Use Session Credentials", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Agent Runtim [...]
   },
   "headers": {
     "CamelAwsBedrockAgentRuntimeOperation": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The operation we want to perform", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#OPERATION" },
     "CamelAwsBedrockAgentRuntimeCitations": { "index": 1, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When retrieving and generating a response, this header will contain the citations", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#CITATIONS" },
-    "CamelAwsBedrockAgentRuntimeSessionId": { "index": 2, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When retrieving and generating a response, this header will contain he unique identifier of the session. Reuse the same value to continue the same session with the knowledge base.", "constantName": "org.apache.camel.component [...]
+    "CamelAwsBedrockAgentRuntimeSessionId": { "index": 2, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When retrieving and generating a response, this header will contain he unique identifier of the session. Reuse the same value to continue the same session with the knowledge base.", "constantName": "org.apache.camel.component [...]
+    "CamelAwsBedrockAgentRuntimeFlowIdentifier": { "index": 3, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the flow to invoke. Overrides the flowIdentifier configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_IDENTIFIER" },
+    "CamelAwsBedrockAgentRuntimeFlowAliasIdentifier": { "index": 4, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the flow alias to invoke. Overrides the flowAliasIdentifier configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#F [...]
+    "CamelAwsBedrockAgentRuntimeFlowEnableTrace": { "index": 5, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Enables tracing for the flow invocation. When set, overrides the enableTrace option on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_ENABLE_TRACE" },
+    "CamelAwsBedrockAgentRuntimeFlowExecutionId": { "index": 6, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of an in-progress flow execution to continue. Used for multi-turn flow conversations.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_EXECU [...]
+    "CamelAwsBedrockAgentRuntimeFlowOutputs": { "index": 7, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowOutputEvent>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow, this header will contain the list of FlowOutputEvent emitted by the flow.", "constantName": "org.apache.camel.componen [...]
+    "CamelAwsBedrockAgentRuntimeFlowTraces": { "index": 8, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowTraceEvent>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow with tracing enabled, this header will contain the list of FlowTraceEvent emitted during execution.", "constantName": "or [...]
+    "CamelAwsBedrockAgentRuntimeFlowCompletionReason": { "index": 9, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow, this header will contain the reason the flow completed (set when a FlowCompletionEvent is received).", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntime [...]
   },
   "properties": {
     "label": { "index": 0, "kind": "path", "displayName": "Label", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Logical name" },
     "knowledgeBaseId": { "index": 1, "kind": "parameter", "displayName": "Knowledge Base Id", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Define the Knowledge Base Id we are going to use" },
     "modelId": { "index": 2, "kind": "parameter", "displayName": "Model Id", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "java.lang.String", "enum": [ "anthropic.claude-instant-v1", "anthropic.claude-v2", "anthropic.claude-v2:1" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configura [...]
-    "operation": { "index": 3, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeOperations", "enum": [ "retrieveAndGenerate" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField [...]
+    "operation": { "index": 3, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeOperations", "enum": [ "retrieveAndGenerate", "invokeFlow" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "conf [...]
     "overrideEndpoint": { "index": 4, "kind": "parameter", "displayName": "Override Endpoint", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set the need for overriding the endpoint. This option n [...]
     "pojoRequest": { "index": 5, "kind": "parameter", "displayName": "Pojo Request", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we want to use a POJO request as body or not" },
     "profileCredentialsName": { "index": 6, "kind": "parameter", "displayName": "Profile Credentials Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If using a profile credentials p [...]
@@ -67,14 +78,18 @@
     "useDefaultCredentialsProvider": { "index": 9, "kind": "parameter", "displayName": "Use Default Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Age [...]
     "useProfileCredentialsProvider": { "index": 10, "kind": "parameter", "displayName": "Use Profile Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Ag [...]
     "lazyStartProducer": { "index": 11, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
-    "bedrockAgentRuntimeClient": { "index": 12, "kind": "parameter", "displayName": "Bedrock Agent Runtime Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configuratio [...]
-    "proxyHost": { "index": 13, "kind": "parameter", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Bedrock Agent Runtime client" },
-    "proxyPort": { "index": 14, "kind": "parameter", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Bedrock Agent Runtime client" },
-    "proxyProtocol": { "index": 15, "kind": "parameter", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "enum", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "T [...]
-    "accessKey": { "index": 16, "kind": "parameter", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
-    "secretKey": { "index": 17, "kind": "parameter", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" },
-    "sessionToken": { "index": 18, "kind": "parameter", "displayName": "Session Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Session Token used when the user need [...]
-    "trustAllCertificates": { "index": 19, "kind": "parameter", "displayName": "Trust All Certificates", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "security": "insecure:ssl", "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we wan [...]
-    "useSessionCredentials": { "index": 20, "kind": "parameter", "displayName": "Use Session Credentials", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Agent Runti [...]
+    "bedrockAgentRuntimeAsyncClient": { "index": 12, "kind": "parameter", "displayName": "Bedrock Agent Runtime Async Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration [...]
+    "bedrockAgentRuntimeClient": { "index": 13, "kind": "parameter", "displayName": "Bedrock Agent Runtime Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configuratio [...]
+    "enableTrace": { "index": 14, "kind": "parameter", "displayName": "Enable Trace", "group": "flow", "label": "flow", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Enables tracing for the invokeFlow operation. When enabled, the  [...]
+    "flowAliasIdentifier": { "index": 15, "kind": "parameter", "displayName": "Flow Alias Identifier", "group": "flow", "label": "flow", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the Bedrock flow alias to invoke (use [...]
+    "flowIdentifier": { "index": 16, "kind": "parameter", "displayName": "Flow Identifier", "group": "flow", "label": "flow", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the Bedrock flow to invoke (used by the invokeFl [...]
+    "proxyHost": { "index": 17, "kind": "parameter", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Bedrock Agent Runtime client" },
+    "proxyPort": { "index": 18, "kind": "parameter", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Bedrock Agent Runtime client" },
+    "proxyProtocol": { "index": 19, "kind": "parameter", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "enum", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "T [...]
+    "accessKey": { "index": 20, "kind": "parameter", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
+    "secretKey": { "index": 21, "kind": "parameter", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" },
+    "sessionToken": { "index": 22, "kind": "parameter", "displayName": "Session Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Session Token used when the user need [...]
+    "trustAllCertificates": { "index": 23, "kind": "parameter", "displayName": "Trust All Certificates", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "security": "insecure:ssl", "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we wan [...]
+    "useSessionCredentials": { "index": 24, "kind": "parameter", "displayName": "Use Session Credentials", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Agent Runti [...]
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-bedrock-agent.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-bedrock-agent.json
index c6f313cfd61e..4f4d6b8cdce1 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-bedrock-agent.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-bedrock-agent.json
@@ -55,7 +55,14 @@
   "headers": {
     "CamelAwsBedrockAgentRuntimeOperation": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The operation we want to perform", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#OPERATION" },
     "CamelAwsBedrockAgentRuntimeCitations": { "index": 1, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When retrieving and generating a response, this header will contain the citations", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#CITATIONS" },
-    "CamelAwsBedrockAgentRuntimeSessionId": { "index": 2, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When retrieving and generating a response, this header will contain he unique identifier of the session. Reuse the same value to continue the same session with the knowledge base.", "constantName": "org.apache.camel.component.a [...]
+    "CamelAwsBedrockAgentRuntimeSessionId": { "index": 2, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When retrieving and generating a response, this header will contain he unique identifier of the session. Reuse the same value to continue the same session with the knowledge base.", "constantName": "org.apache.camel.component.a [...]
+    "CamelAwsBedrockAgentRuntimeFlowIdentifier": { "index": 3, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the flow to invoke. Overrides the flowIdentifier configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_IDENTIFIER" },
+    "CamelAwsBedrockAgentRuntimeFlowAliasIdentifier": { "index": 4, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the flow alias to invoke. Overrides the flowAliasIdentifier configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLO [...]
+    "CamelAwsBedrockAgentRuntimeFlowEnableTrace": { "index": 5, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Enables tracing for the flow invocation. When set, overrides the enableTrace option on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_ENABLE_TRACE" },
+    "CamelAwsBedrockAgentRuntimeFlowExecutionId": { "index": 6, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of an in-progress flow execution to continue. Used for multi-turn flow conversations.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_EXECUTI [...]
+    "CamelAwsBedrockAgentRuntimeFlowOutputs": { "index": 7, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowOutputEvent>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow, this header will contain the list of FlowOutputEvent emitted by the flow.", "constantName": "org.apache.camel.component. [...]
+    "CamelAwsBedrockAgentRuntimeFlowTraces": { "index": 8, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowTraceEvent>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow with tracing enabled, this header will contain the list of FlowTraceEvent emitted during execution.", "constantName": "org. [...]
+    "CamelAwsBedrockAgentRuntimeFlowCompletionReason": { "index": 9, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow, this header will contain the reason the flow completed (set when a FlowCompletionEvent is received).", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeCo [...]
   },
   "properties": {
     "label": { "index": 0, "kind": "path", "displayName": "Label", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agent.BedrockAgentConfiguration", "configurationField": "configuration", "description": "Logical name" },
diff --git a/components/camel-aws/camel-aws-bedrock/pom.xml b/components/camel-aws/camel-aws-bedrock/pom.xml
index 6b53bf93aeb0..cbb67a8d6b70 100644
--- a/components/camel-aws/camel-aws-bedrock/pom.xml
+++ b/components/camel-aws/camel-aws-bedrock/pom.xml
@@ -101,5 +101,11 @@
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-junit-jupiter</artifactId>
+            <version>${mockito-version}</version>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 </project>
diff --git a/components/camel-aws/camel-aws-bedrock/src/generated/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeComponentConfigurer.java b/components/camel-aws/camel-aws-bedrock/src/generated/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeComponentConfigurer.java
index fc312ed072a8..c4e5ed6614ec 100644
--- a/components/camel-aws/camel-aws-bedrock/src/generated/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeComponentConfigurer.java
+++ b/components/camel-aws/camel-aws-bedrock/src/generated/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeComponentConfigurer.java
@@ -34,9 +34,17 @@ public class BedrockAgentRuntimeComponentConfigurer extends PropertyConfigurerSu
         case "accessKey": getOrCreateConfiguration(target).setAccessKey(property(camelContext, java.lang.String.class, value)); return true;
         case "autowiredenabled":
         case "autowiredEnabled": target.setAutowiredEnabled(property(camelContext, boolean.class, value)); return true;
+        case "bedrockagentruntimeasyncclient":
+        case "bedrockAgentRuntimeAsyncClient": getOrCreateConfiguration(target).setBedrockAgentRuntimeAsyncClient(property(camelContext, software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient.class, value)); return true;
         case "bedrockagentruntimeclient":
         case "bedrockAgentRuntimeClient": getOrCreateConfiguration(target).setBedrockAgentRuntimeClient(property(camelContext, software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient.class, value)); return true;
         case "configuration": target.setConfiguration(property(camelContext, org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration.class, value)); return true;
+        case "enabletrace":
+        case "enableTrace": getOrCreateConfiguration(target).setEnableTrace(property(camelContext, boolean.class, value)); return true;
+        case "flowaliasidentifier":
+        case "flowAliasIdentifier": getOrCreateConfiguration(target).setFlowAliasIdentifier(property(camelContext, java.lang.String.class, value)); return true;
+        case "flowidentifier":
+        case "flowIdentifier": getOrCreateConfiguration(target).setFlowIdentifier(property(camelContext, java.lang.String.class, value)); return true;
         case "healthcheckconsumerenabled":
         case "healthCheckConsumerEnabled": target.setHealthCheckConsumerEnabled(property(camelContext, boolean.class, value)); return true;
         case "healthcheckproducerenabled":
@@ -81,7 +89,7 @@ public class BedrockAgentRuntimeComponentConfigurer extends PropertyConfigurerSu
 
     @Override
     public String[] getAutowiredNames() {
-        return new String[]{"bedrockAgentRuntimeClient"};
+        return new String[]{"bedrockAgentRuntimeAsyncClient", "bedrockAgentRuntimeClient"};
     }
 
     @Override
@@ -91,9 +99,17 @@ public class BedrockAgentRuntimeComponentConfigurer extends PropertyConfigurerSu
         case "accessKey": return java.lang.String.class;
         case "autowiredenabled":
         case "autowiredEnabled": return boolean.class;
+        case "bedrockagentruntimeasyncclient":
+        case "bedrockAgentRuntimeAsyncClient": return software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient.class;
         case "bedrockagentruntimeclient":
         case "bedrockAgentRuntimeClient": return software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient.class;
         case "configuration": return org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration.class;
+        case "enabletrace":
+        case "enableTrace": return boolean.class;
+        case "flowaliasidentifier":
+        case "flowAliasIdentifier": return java.lang.String.class;
+        case "flowidentifier":
+        case "flowIdentifier": return java.lang.String.class;
         case "healthcheckconsumerenabled":
         case "healthCheckConsumerEnabled": return boolean.class;
         case "healthcheckproducerenabled":
@@ -144,9 +160,17 @@ public class BedrockAgentRuntimeComponentConfigurer extends PropertyConfigurerSu
         case "accessKey": return getOrCreateConfiguration(target).getAccessKey();
         case "autowiredenabled":
         case "autowiredEnabled": return target.isAutowiredEnabled();
+        case "bedrockagentruntimeasyncclient":
+        case "bedrockAgentRuntimeAsyncClient": return getOrCreateConfiguration(target).getBedrockAgentRuntimeAsyncClient();
         case "bedrockagentruntimeclient":
         case "bedrockAgentRuntimeClient": return getOrCreateConfiguration(target).getBedrockAgentRuntimeClient();
         case "configuration": return target.getConfiguration();
+        case "enabletrace":
+        case "enableTrace": return getOrCreateConfiguration(target).isEnableTrace();
+        case "flowaliasidentifier":
+        case "flowAliasIdentifier": return getOrCreateConfiguration(target).getFlowAliasIdentifier();
+        case "flowidentifier":
+        case "flowIdentifier": return getOrCreateConfiguration(target).getFlowIdentifier();
         case "healthcheckconsumerenabled":
         case "healthCheckConsumerEnabled": return target.isHealthCheckConsumerEnabled();
         case "healthcheckproducerenabled":
diff --git a/components/camel-aws/camel-aws-bedrock/src/generated/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpointConfigurer.java b/components/camel-aws/camel-aws-bedrock/src/generated/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpointConfigurer.java
index aecb7724535f..dee54f0400c6 100644
--- a/components/camel-aws/camel-aws-bedrock/src/generated/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpointConfigurer.java
+++ b/components/camel-aws/camel-aws-bedrock/src/generated/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpointConfigurer.java
@@ -25,8 +25,16 @@ public class BedrockAgentRuntimeEndpointConfigurer extends PropertyConfigurerSup
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "accesskey":
         case "accessKey": target.getConfiguration().setAccessKey(property(camelContext, java.lang.String.class, value)); return true;
+        case "bedrockagentruntimeasyncclient":
+        case "bedrockAgentRuntimeAsyncClient": target.getConfiguration().setBedrockAgentRuntimeAsyncClient(property(camelContext, software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient.class, value)); return true;
         case "bedrockagentruntimeclient":
         case "bedrockAgentRuntimeClient": target.getConfiguration().setBedrockAgentRuntimeClient(property(camelContext, software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient.class, value)); return true;
+        case "enabletrace":
+        case "enableTrace": target.getConfiguration().setEnableTrace(property(camelContext, boolean.class, value)); return true;
+        case "flowaliasidentifier":
+        case "flowAliasIdentifier": target.getConfiguration().setFlowAliasIdentifier(property(camelContext, java.lang.String.class, value)); return true;
+        case "flowidentifier":
+        case "flowIdentifier": target.getConfiguration().setFlowIdentifier(property(camelContext, java.lang.String.class, value)); return true;
         case "knowledgebaseid":
         case "knowledgeBaseId": target.getConfiguration().setKnowledgeBaseId(property(camelContext, java.lang.String.class, value)); return true;
         case "lazystartproducer":
@@ -67,7 +75,7 @@ public class BedrockAgentRuntimeEndpointConfigurer extends PropertyConfigurerSup
 
     @Override
     public String[] getAutowiredNames() {
-        return new String[]{"bedrockAgentRuntimeClient"};
+        return new String[]{"bedrockAgentRuntimeAsyncClient", "bedrockAgentRuntimeClient"};
     }
 
     @Override
@@ -75,8 +83,16 @@ public class BedrockAgentRuntimeEndpointConfigurer extends PropertyConfigurerSup
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "accesskey":
         case "accessKey": return java.lang.String.class;
+        case "bedrockagentruntimeasyncclient":
+        case "bedrockAgentRuntimeAsyncClient": return software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient.class;
         case "bedrockagentruntimeclient":
         case "bedrockAgentRuntimeClient": return software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient.class;
+        case "enabletrace":
+        case "enableTrace": return boolean.class;
+        case "flowaliasidentifier":
+        case "flowAliasIdentifier": return java.lang.String.class;
+        case "flowidentifier":
+        case "flowIdentifier": return java.lang.String.class;
         case "knowledgebaseid":
         case "knowledgeBaseId": return java.lang.String.class;
         case "lazystartproducer":
@@ -121,8 +137,16 @@ public class BedrockAgentRuntimeEndpointConfigurer extends PropertyConfigurerSup
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "accesskey":
         case "accessKey": return target.getConfiguration().getAccessKey();
+        case "bedrockagentruntimeasyncclient":
+        case "bedrockAgentRuntimeAsyncClient": return target.getConfiguration().getBedrockAgentRuntimeAsyncClient();
         case "bedrockagentruntimeclient":
         case "bedrockAgentRuntimeClient": return target.getConfiguration().getBedrockAgentRuntimeClient();
+        case "enabletrace":
+        case "enableTrace": return target.getConfiguration().isEnableTrace();
+        case "flowaliasidentifier":
+        case "flowAliasIdentifier": return target.getConfiguration().getFlowAliasIdentifier();
+        case "flowidentifier":
+        case "flowIdentifier": return target.getConfiguration().getFlowIdentifier();
         case "knowledgebaseid":
         case "knowledgeBaseId": return target.getConfiguration().getKnowledgeBaseId();
         case "lazystartproducer":
diff --git a/components/camel-aws/camel-aws-bedrock/src/generated/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpointUriFactory.java b/components/camel-aws/camel-aws-bedrock/src/generated/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpointUriFactory.java
index 913cdfb33d85..27286e45656f 100644
--- a/components/camel-aws/camel-aws-bedrock/src/generated/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpointUriFactory.java
+++ b/components/camel-aws/camel-aws-bedrock/src/generated/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpointUriFactory.java
@@ -23,9 +23,13 @@ public class BedrockAgentRuntimeEndpointUriFactory extends org.apache.camel.supp
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Map<String, String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(21);
+        Set<String> props = new HashSet<>(25);
         props.add("accessKey");
+        props.add("bedrockAgentRuntimeAsyncClient");
         props.add("bedrockAgentRuntimeClient");
+        props.add("enableTrace");
+        props.add("flowAliasIdentifier");
+        props.add("flowIdentifier");
         props.add("knowledgeBaseId");
         props.add("label");
         props.add("lazyStartProducer");
diff --git a/components/camel-aws/camel-aws-bedrock/src/generated/resources/META-INF/org/apache/camel/component/aws2/bedrock/agent/aws-bedrock-agent.json b/components/camel-aws/camel-aws-bedrock/src/generated/resources/META-INF/org/apache/camel/component/aws2/bedrock/agent/aws-bedrock-agent.json
index c6f313cfd61e..4f4d6b8cdce1 100644
--- a/components/camel-aws/camel-aws-bedrock/src/generated/resources/META-INF/org/apache/camel/component/aws2/bedrock/agent/aws-bedrock-agent.json
+++ b/components/camel-aws/camel-aws-bedrock/src/generated/resources/META-INF/org/apache/camel/component/aws2/bedrock/agent/aws-bedrock-agent.json
@@ -55,7 +55,14 @@
   "headers": {
     "CamelAwsBedrockAgentRuntimeOperation": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The operation we want to perform", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#OPERATION" },
     "CamelAwsBedrockAgentRuntimeCitations": { "index": 1, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When retrieving and generating a response, this header will contain the citations", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#CITATIONS" },
-    "CamelAwsBedrockAgentRuntimeSessionId": { "index": 2, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When retrieving and generating a response, this header will contain he unique identifier of the session. Reuse the same value to continue the same session with the knowledge base.", "constantName": "org.apache.camel.component.a [...]
+    "CamelAwsBedrockAgentRuntimeSessionId": { "index": 2, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When retrieving and generating a response, this header will contain he unique identifier of the session. Reuse the same value to continue the same session with the knowledge base.", "constantName": "org.apache.camel.component.a [...]
+    "CamelAwsBedrockAgentRuntimeFlowIdentifier": { "index": 3, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the flow to invoke. Overrides the flowIdentifier configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_IDENTIFIER" },
+    "CamelAwsBedrockAgentRuntimeFlowAliasIdentifier": { "index": 4, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the flow alias to invoke. Overrides the flowAliasIdentifier configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLO [...]
+    "CamelAwsBedrockAgentRuntimeFlowEnableTrace": { "index": 5, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Enables tracing for the flow invocation. When set, overrides the enableTrace option on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_ENABLE_TRACE" },
+    "CamelAwsBedrockAgentRuntimeFlowExecutionId": { "index": 6, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of an in-progress flow execution to continue. Used for multi-turn flow conversations.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_EXECUTI [...]
+    "CamelAwsBedrockAgentRuntimeFlowOutputs": { "index": 7, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowOutputEvent>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow, this header will contain the list of FlowOutputEvent emitted by the flow.", "constantName": "org.apache.camel.component. [...]
+    "CamelAwsBedrockAgentRuntimeFlowTraces": { "index": 8, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowTraceEvent>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow with tracing enabled, this header will contain the list of FlowTraceEvent emitted during execution.", "constantName": "org. [...]
+    "CamelAwsBedrockAgentRuntimeFlowCompletionReason": { "index": 9, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow, this header will contain the reason the flow completed (set when a FlowCompletionEvent is received).", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeCo [...]
   },
   "properties": {
     "label": { "index": 0, "kind": "path", "displayName": "Label", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agent.BedrockAgentConfiguration", "configurationField": "configuration", "description": "Logical name" },
diff --git a/components/camel-aws/camel-aws-bedrock/src/generated/resources/META-INF/org/apache/camel/component/aws2/bedrock/agentruntime/aws-bedrock-agent-runtime.json b/components/camel-aws/camel-aws-bedrock/src/generated/resources/META-INF/org/apache/camel/component/aws2/bedrock/agentruntime/aws-bedrock-agent-runtime.json
index 66503cde5293..59172332101e 100644
--- a/components/camel-aws/camel-aws-bedrock/src/generated/resources/META-INF/org/apache/camel/component/aws2/bedrock/agentruntime/aws-bedrock-agent-runtime.json
+++ b/components/camel-aws/camel-aws-bedrock/src/generated/resources/META-INF/org/apache/camel/component/aws2/bedrock/agentruntime/aws-bedrock-agent-runtime.json
@@ -28,7 +28,7 @@
     "knowledgeBaseId": { "index": 1, "kind": "property", "displayName": "Knowledge Base Id", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Define the Knowledge Base Id we are going to use" },
     "lazyStartProducer": { "index": 2, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail [...]
     "modelId": { "index": 3, "kind": "property", "displayName": "Model Id", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "java.lang.String", "enum": [ "anthropic.claude-instant-v1", "anthropic.claude-v2", "anthropic.claude-v2:1" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configurat [...]
-    "operation": { "index": 4, "kind": "property", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeOperations", "enum": [ "retrieveAndGenerate" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField" [...]
+    "operation": { "index": 4, "kind": "property", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeOperations", "enum": [ "retrieveAndGenerate", "invokeFlow" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "confi [...]
     "overrideEndpoint": { "index": 5, "kind": "property", "displayName": "Override Endpoint", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set the need for overriding the endpoint. This option ne [...]
     "pojoRequest": { "index": 6, "kind": "property", "displayName": "Pojo Request", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we want to use a POJO request as body or not" },
     "profileCredentialsName": { "index": 7, "kind": "property", "displayName": "Profile Credentials Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If using a profile credentials pr [...]
@@ -37,28 +37,39 @@
     "useDefaultCredentialsProvider": { "index": 10, "kind": "property", "displayName": "Use Default Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Age [...]
     "useProfileCredentialsProvider": { "index": 11, "kind": "property", "displayName": "Use Profile Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Age [...]
     "autowiredEnabled": { "index": 12, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching  [...]
-    "bedrockAgentRuntimeClient": { "index": 13, "kind": "property", "displayName": "Bedrock Agent Runtime Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configuration [...]
-    "healthCheckConsumerEnabled": { "index": 14, "kind": "property", "displayName": "Health Check Consumer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all consumer based health checks from this component" },
-    "healthCheckProducerEnabled": { "index": 15, "kind": "property", "displayName": "Health Check Producer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all producer based health checks from this component. Notice: Camel has by default disabled all producer based health-checks. You can turn on produce [...]
-    "proxyHost": { "index": 16, "kind": "property", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Bedrock Agent Runtime client" },
-    "proxyPort": { "index": 17, "kind": "property", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Bedrock Agent Runtime client" },
-    "proxyProtocol": { "index": 18, "kind": "property", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "enum", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To [...]
-    "accessKey": { "index": 19, "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
-    "secretKey": { "index": 20, "kind": "property", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" },
-    "sessionToken": { "index": 21, "kind": "property", "displayName": "Session Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Session Token used when the user needs [...]
-    "trustAllCertificates": { "index": 22, "kind": "property", "displayName": "Trust All Certificates", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "security": "insecure:ssl", "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we want [...]
-    "useSessionCredentials": { "index": 23, "kind": "property", "displayName": "Use Session Credentials", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Agent Runtim [...]
+    "bedrockAgentRuntimeAsyncClient": { "index": 13, "kind": "property", "displayName": "Bedrock Agent Runtime Async Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration" [...]
+    "bedrockAgentRuntimeClient": { "index": 14, "kind": "property", "displayName": "Bedrock Agent Runtime Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configuration [...]
+    "enableTrace": { "index": 15, "kind": "property", "displayName": "Enable Trace", "group": "flow", "label": "flow", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Enables tracing for the invokeFlow operation. When enabled, the p [...]
+    "flowAliasIdentifier": { "index": 16, "kind": "property", "displayName": "Flow Alias Identifier", "group": "flow", "label": "flow", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the Bedrock flow alias to invoke (used [...]
+    "flowIdentifier": { "index": 17, "kind": "property", "displayName": "Flow Identifier", "group": "flow", "label": "flow", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the Bedrock flow to invoke (used by the invokeFlo [...]
+    "healthCheckConsumerEnabled": { "index": 18, "kind": "property", "displayName": "Health Check Consumer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all consumer based health checks from this component" },
+    "healthCheckProducerEnabled": { "index": 19, "kind": "property", "displayName": "Health Check Producer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all producer based health checks from this component. Notice: Camel has by default disabled all producer based health-checks. You can turn on produce [...]
+    "proxyHost": { "index": 20, "kind": "property", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Bedrock Agent Runtime client" },
+    "proxyPort": { "index": 21, "kind": "property", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Bedrock Agent Runtime client" },
+    "proxyProtocol": { "index": 22, "kind": "property", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "enum", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To [...]
+    "accessKey": { "index": 23, "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
+    "secretKey": { "index": 24, "kind": "property", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" },
+    "sessionToken": { "index": 25, "kind": "property", "displayName": "Session Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Session Token used when the user needs [...]
+    "trustAllCertificates": { "index": 26, "kind": "property", "displayName": "Trust All Certificates", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "security": "insecure:ssl", "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we want [...]
+    "useSessionCredentials": { "index": 27, "kind": "property", "displayName": "Use Session Credentials", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Agent Runtim [...]
   },
   "headers": {
     "CamelAwsBedrockAgentRuntimeOperation": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The operation we want to perform", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#OPERATION" },
     "CamelAwsBedrockAgentRuntimeCitations": { "index": 1, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When retrieving and generating a response, this header will contain the citations", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#CITATIONS" },
-    "CamelAwsBedrockAgentRuntimeSessionId": { "index": 2, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When retrieving and generating a response, this header will contain he unique identifier of the session. Reuse the same value to continue the same session with the knowledge base.", "constantName": "org.apache.camel.component [...]
+    "CamelAwsBedrockAgentRuntimeSessionId": { "index": 2, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When retrieving and generating a response, this header will contain he unique identifier of the session. Reuse the same value to continue the same session with the knowledge base.", "constantName": "org.apache.camel.component [...]
+    "CamelAwsBedrockAgentRuntimeFlowIdentifier": { "index": 3, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the flow to invoke. Overrides the flowIdentifier configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_IDENTIFIER" },
+    "CamelAwsBedrockAgentRuntimeFlowAliasIdentifier": { "index": 4, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of the flow alias to invoke. Overrides the flowAliasIdentifier configured on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#F [...]
+    "CamelAwsBedrockAgentRuntimeFlowEnableTrace": { "index": 5, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Enables tracing for the flow invocation. When set, overrides the enableTrace option on the endpoint.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_ENABLE_TRACE" },
+    "CamelAwsBedrockAgentRuntimeFlowExecutionId": { "index": 6, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The unique identifier of an in-progress flow execution to continue. Used for multi-turn flow conversations.", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConstants#FLOW_EXECU [...]
+    "CamelAwsBedrockAgentRuntimeFlowOutputs": { "index": 7, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowOutputEvent>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow, this header will contain the list of FlowOutputEvent emitted by the flow.", "constantName": "org.apache.camel.componen [...]
+    "CamelAwsBedrockAgentRuntimeFlowTraces": { "index": 8, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowTraceEvent>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow with tracing enabled, this header will contain the list of FlowTraceEvent emitted during execution.", "constantName": "or [...]
+    "CamelAwsBedrockAgentRuntimeFlowCompletionReason": { "index": 9, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "When invoking a flow, this header will contain the reason the flow completed (set when a FlowCompletionEvent is received).", "constantName": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntime [...]
   },
   "properties": {
     "label": { "index": 0, "kind": "path", "displayName": "Label", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Logical name" },
     "knowledgeBaseId": { "index": 1, "kind": "parameter", "displayName": "Knowledge Base Id", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Define the Knowledge Base Id we are going to use" },
     "modelId": { "index": 2, "kind": "parameter", "displayName": "Model Id", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "java.lang.String", "enum": [ "anthropic.claude-instant-v1", "anthropic.claude-v2", "anthropic.claude-v2:1" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configura [...]
-    "operation": { "index": 3, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeOperations", "enum": [ "retrieveAndGenerate" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField [...]
+    "operation": { "index": 3, "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "enum", "javaType": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeOperations", "enum": [ "retrieveAndGenerate", "invokeFlow" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "conf [...]
     "overrideEndpoint": { "index": 4, "kind": "parameter", "displayName": "Override Endpoint", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set the need for overriding the endpoint. This option n [...]
     "pojoRequest": { "index": 5, "kind": "parameter", "displayName": "Pojo Request", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we want to use a POJO request as body or not" },
     "profileCredentialsName": { "index": 6, "kind": "parameter", "displayName": "Profile Credentials Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "false", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If using a profile credentials p [...]
@@ -67,14 +78,18 @@
     "useDefaultCredentialsProvider": { "index": 9, "kind": "parameter", "displayName": "Use Default Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Age [...]
     "useProfileCredentialsProvider": { "index": 10, "kind": "parameter", "displayName": "Use Profile Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Ag [...]
     "lazyStartProducer": { "index": 11, "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a produ [...]
-    "bedrockAgentRuntimeClient": { "index": 12, "kind": "parameter", "displayName": "Bedrock Agent Runtime Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configuratio [...]
-    "proxyHost": { "index": 13, "kind": "parameter", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Bedrock Agent Runtime client" },
-    "proxyPort": { "index": 14, "kind": "parameter", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Bedrock Agent Runtime client" },
-    "proxyProtocol": { "index": 15, "kind": "parameter", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "enum", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "T [...]
-    "accessKey": { "index": 16, "kind": "parameter", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
-    "secretKey": { "index": 17, "kind": "parameter", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" },
-    "sessionToken": { "index": 18, "kind": "parameter", "displayName": "Session Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Session Token used when the user need [...]
-    "trustAllCertificates": { "index": 19, "kind": "parameter", "displayName": "Trust All Certificates", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "security": "insecure:ssl", "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we wan [...]
-    "useSessionCredentials": { "index": 20, "kind": "parameter", "displayName": "Use Session Credentials", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Agent Runti [...]
+    "bedrockAgentRuntimeAsyncClient": { "index": 12, "kind": "parameter", "displayName": "Bedrock Agent Runtime Async Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration [...]
+    "bedrockAgentRuntimeClient": { "index": 13, "kind": "parameter", "displayName": "Bedrock Agent Runtime Client", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configuratio [...]
+    "enableTrace": { "index": 14, "kind": "parameter", "displayName": "Enable Trace", "group": "flow", "label": "flow", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Enables tracing for the invokeFlow operation. When enabled, the  [...]
+    "flowAliasIdentifier": { "index": 15, "kind": "parameter", "displayName": "Flow Alias Identifier", "group": "flow", "label": "flow", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the Bedrock flow alias to invoke (use [...]
+    "flowIdentifier": { "index": 16, "kind": "parameter", "displayName": "Flow Identifier", "group": "flow", "label": "flow", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "The unique identifier of the Bedrock flow to invoke (used by the invokeFl [...]
+    "proxyHost": { "index": 17, "kind": "parameter", "displayName": "Proxy Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the Bedrock Agent Runtime client" },
+    "proxyPort": { "index": 18, "kind": "parameter", "displayName": "Proxy Port", "group": "proxy", "label": "proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the Bedrock Agent Runtime client" },
+    "proxyProtocol": { "index": 19, "kind": "parameter", "displayName": "Proxy Protocol", "group": "proxy", "label": "proxy", "required": false, "type": "enum", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "T [...]
+    "accessKey": { "index": 20, "kind": "parameter", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
+    "secretKey": { "index": 21, "kind": "parameter", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" },
+    "sessionToken": { "index": 22, "kind": "parameter", "displayName": "Session Token", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Session Token used when the user need [...]
+    "trustAllCertificates": { "index": 23, "kind": "parameter", "displayName": "Trust All Certificates", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "security": "insecure:ssl", "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "If we wan [...]
+    "useSessionCredentials": { "index": 24, "kind": "parameter", "displayName": "Use Session Credentials", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration", "configurationField": "configuration", "description": "Set whether the Bedrock Agent Runti [...]
   }
 }
diff --git a/components/camel-aws/camel-aws-bedrock/src/main/docs/aws-bedrock-agent-runtime-component.adoc b/components/camel-aws/camel-aws-bedrock/src/main/docs/aws-bedrock-agent-runtime-component.adoc
index 45189d42aa7f..419b478e3496 100644
--- a/components/camel-aws/camel-aws-bedrock/src/main/docs/aws-bedrock-agent-runtime-component.adoc
+++ b/components/camel-aws/camel-aws-bedrock/src/main/docs/aws-bedrock-agent-runtime-component.adoc
@@ -51,6 +51,47 @@ the https://aws.amazon.com/bedrock/[Amazon Bedrock] service.
 
 == Usage
 
+=== Supported operations
+
+The component supports the following operations on the `operation` URI option:
+
+* `retrieveAndGenerate` — Query a Bedrock Knowledge Base and generate a grounded response from the selected model.
+* `invokeFlow` — Invoke a Bedrock Flow by id/alias and stream the resulting events back as Camel message headers.
+
+=== Invoking a Bedrock Flow
+
+The `invokeFlow` operation streams flow events using the AWS SDK async client; the producer transparently allocates a
+`BedrockAgentRuntimeAsyncClient` when the endpoint is configured with `operation=invokeFlow`.
+
+Mandatory options:
+
+* `flowIdentifier` — the unique id of the flow to invoke (overridable via the
+  `CamelAwsBedrockAgentRuntimeFlowIdentifier` header).
+* `flowAliasIdentifier` — the unique id of the flow alias to invoke (overridable via the
+  `CamelAwsBedrockAgentRuntimeFlowAliasIdentifier` header).
+
+Optional options:
+
+* `enableTrace` — when `true`, the producer collects the emitted `FlowTraceEvent`s into the
+  `CamelAwsBedrockAgentRuntimeFlowTraces` header (overridable via `CamelAwsBedrockAgentRuntimeFlowEnableTrace`).
+
+The body of the in-message can be:
+
+* a `String` — wrapped in a single `FlowInput` targeting node `FlowInputNode`, output `document`;
+* a `FlowInput` instance — used as the sole input to the flow;
+* a `List<FlowInput>` — passed verbatim to the request (use this form to chain multiple flow inputs).
+
+When `pojoRequest=true`, the body must be an `InvokeFlowRequest` and is sent unchanged.
+
+The producer collects emitted events into headers:
+
+* `CamelAwsBedrockAgentRuntimeFlowOutputs` — the list of `FlowOutputEvent`s emitted by the flow.
+* `CamelAwsBedrockAgentRuntimeFlowTraces` — the list of `FlowTraceEvent`s (only when tracing is enabled).
+* `CamelAwsBedrockAgentRuntimeFlowCompletionReason` — the completion reason reported by the flow (when present).
+
+The out-message body is the document of the last `FlowOutputEvent` (decoded as `String` when the document is a string,
+otherwise the raw `Document`). When the flow emits no outputs, the body is left untouched.
+
 === Static credentials, Default Credential Provider and Profile Credentials Provider
 
 You have the possibility of avoiding the usage of explicit static credentials by specifying the useDefaultCredentialsProvider option and set it to true.
diff --git a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeConfiguration.java b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeConfiguration.java
index 41fbf41260f4..30f21c3cce1c 100644
--- a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeConfiguration.java
+++ b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeConfiguration.java
@@ -23,6 +23,7 @@ import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
 import software.amazon.awssdk.core.Protocol;
+import software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient;
 import software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient;
 
 @UriParams
@@ -34,6 +35,9 @@ public class BedrockAgentRuntimeConfiguration implements Cloneable, AwsCommonCon
     @UriParam
     @Metadata(label = "advanced", autowired = true)
     private BedrockAgentRuntimeClient bedrockAgentRuntimeClient;
+    @UriParam
+    @Metadata(label = "advanced", autowired = true)
+    private BedrockAgentRuntimeAsyncClient bedrockAgentRuntimeAsyncClient;
     @UriParam(label = "security", security = "secret")
     private String accessKey;
     @UriParam(label = "security", security = "secret")
@@ -49,6 +53,12 @@ public class BedrockAgentRuntimeConfiguration implements Cloneable, AwsCommonCon
     @UriParam
     @Metadata(required = true)
     private BedrockAgentRuntimeOperations operation;
+    @UriParam(label = "flow")
+    private String flowIdentifier;
+    @UriParam(label = "flow")
+    private String flowAliasIdentifier;
+    @UriParam(label = "flow", defaultValue = "false")
+    private boolean enableTrace;
     @UriParam(label = "proxy", enums = "HTTP,HTTPS", defaultValue = "HTTPS")
     private Protocol proxyProtocol = Protocol.HTTPS;
     @UriParam(label = "proxy")
@@ -85,6 +95,18 @@ public class BedrockAgentRuntimeConfiguration implements Cloneable, AwsCommonCon
         this.bedrockAgentRuntimeClient = bedrockRuntimeClient;
     }
 
+    public BedrockAgentRuntimeAsyncClient getBedrockAgentRuntimeAsyncClient() {
+        return bedrockAgentRuntimeAsyncClient;
+    }
+
+    /**
+     * To use an existing configured AWS Bedrock Agent Runtime async client (required for invokeFlow which streams
+     * events back).
+     */
+    public void setBedrockAgentRuntimeAsyncClient(BedrockAgentRuntimeAsyncClient bedrockAgentRuntimeAsyncClient) {
+        this.bedrockAgentRuntimeAsyncClient = bedrockAgentRuntimeAsyncClient;
+    }
+
     public String getAccessKey() {
         return accessKey;
     }
@@ -289,6 +311,42 @@ public class BedrockAgentRuntimeConfiguration implements Cloneable, AwsCommonCon
         this.knowledgeBaseId = knowledgeBaseId;
     }
 
+    public String getFlowIdentifier() {
+        return flowIdentifier;
+    }
+
+    /**
+     * The unique identifier of the Bedrock flow to invoke (used by the invokeFlow operation). Can be overridden per
+     * exchange via the CamelAwsBedrockAgentRuntimeFlowIdentifier header.
+     */
+    public void setFlowIdentifier(String flowIdentifier) {
+        this.flowIdentifier = flowIdentifier;
+    }
+
+    public String getFlowAliasIdentifier() {
+        return flowAliasIdentifier;
+    }
+
+    /**
+     * The unique identifier of the Bedrock flow alias to invoke (used by the invokeFlow operation). Can be overridden
+     * per exchange via the CamelAwsBedrockAgentRuntimeFlowAliasIdentifier header.
+     */
+    public void setFlowAliasIdentifier(String flowAliasIdentifier) {
+        this.flowAliasIdentifier = flowAliasIdentifier;
+    }
+
+    public boolean isEnableTrace() {
+        return enableTrace;
+    }
+
+    /**
+     * Enables tracing for the invokeFlow operation. When enabled, the producer collects FlowTraceEvent entries and
+     * publishes them in the CamelAwsBedrockAgentRuntimeFlowTraces header.
+     */
+    public void setEnableTrace(boolean enableTrace) {
+        this.enableTrace = enableTrace;
+    }
+
     // *************************************************
     //
     // *************************************************
diff --git a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeConstants.java b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeConstants.java
index 11a92786df0d..f7a8549b91ea 100644
--- a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeConstants.java
+++ b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeConstants.java
@@ -34,4 +34,32 @@ public interface BedrockAgentRuntimeConstants {
                             "Reuse the same value to continue the same session with the knowledge base.",
               javaType = "String")
     String SESSION_ID = "CamelAwsBedrockAgentRuntimeSessionId";
+
+    @Metadata(description = "The unique identifier of the flow to invoke. Overrides the flowIdentifier configured on the endpoint.",
+              javaType = "String")
+    String FLOW_IDENTIFIER = "CamelAwsBedrockAgentRuntimeFlowIdentifier";
+
+    @Metadata(description = "The unique identifier of the flow alias to invoke. Overrides the flowAliasIdentifier configured on the endpoint.",
+              javaType = "String")
+    String FLOW_ALIAS_IDENTIFIER = "CamelAwsBedrockAgentRuntimeFlowAliasIdentifier";
+
+    @Metadata(description = "Enables tracing for the flow invocation. When set, overrides the enableTrace option on the endpoint.",
+              javaType = "Boolean")
+    String FLOW_ENABLE_TRACE = "CamelAwsBedrockAgentRuntimeFlowEnableTrace";
+
+    @Metadata(description = "The unique identifier of an in-progress flow execution to continue. Used for multi-turn flow conversations.",
+              javaType = "String")
+    String FLOW_EXECUTION_ID = "CamelAwsBedrockAgentRuntimeFlowExecutionId";
+
+    @Metadata(description = "When invoking a flow, this header will contain the list of FlowOutputEvent emitted by the flow.",
+              javaType = "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowOutputEvent>")
+    String FLOW_OUTPUTS = "CamelAwsBedrockAgentRuntimeFlowOutputs";
+
+    @Metadata(description = "When invoking a flow with tracing enabled, this header will contain the list of FlowTraceEvent emitted during execution.",
+              javaType = "java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowTraceEvent>")
+    String FLOW_TRACES = "CamelAwsBedrockAgentRuntimeFlowTraces";
+
+    @Metadata(description = "When invoking a flow, this header will contain the reason the flow completed (set when a FlowCompletionEvent is received).",
+              javaType = "String")
+    String FLOW_COMPLETION_REASON = "CamelAwsBedrockAgentRuntimeFlowCompletionReason";
 }
diff --git a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpoint.java b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpoint.java
index 0b45f3524b04..6dc48a703674 100644
--- a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpoint.java
+++ b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpoint.java
@@ -26,6 +26,7 @@ import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.support.ScheduledPollEndpoint;
 import org.apache.camel.util.ObjectHelper;
+import software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient;
 import software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient;
 
 /**
@@ -37,6 +38,7 @@ import software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeCl
 public class BedrockAgentRuntimeEndpoint extends ScheduledPollEndpoint implements EndpointServiceLocation {
 
     private BedrockAgentRuntimeClient bedrockAgentRuntimeClient;
+    private BedrockAgentRuntimeAsyncClient bedrockAgentRuntimeAsyncClient;
 
     @UriParam
     private BedrockAgentRuntimeConfiguration configuration;
@@ -68,6 +70,16 @@ public class BedrockAgentRuntimeEndpoint extends ScheduledPollEndpoint implement
         bedrockAgentRuntimeClient = ObjectHelper.isNotEmpty(configuration.getBedrockAgentRuntimeClient())
                 ? configuration.getBedrockAgentRuntimeClient()
                 : BedrockAgentRuntimeClientFactory.getBedrockAgentRuntimeClient(configuration);
+
+        // Only build the async client when the operation needs event-stream support (invokeFlow), or when the user
+        // explicitly supplied one. This avoids creating a Netty-based async HTTP client for users that only need
+        // synchronous operations like retrieveAndGenerate.
+        if (ObjectHelper.isNotEmpty(configuration.getBedrockAgentRuntimeAsyncClient())) {
+            bedrockAgentRuntimeAsyncClient = configuration.getBedrockAgentRuntimeAsyncClient();
+        } else if (configuration.getOperation() == BedrockAgentRuntimeOperations.invokeFlow) {
+            bedrockAgentRuntimeAsyncClient
+                    = BedrockAgentRuntimeClientFactory.getBedrockAgentRuntimeAsyncClient(configuration);
+        }
     }
 
     @Override
@@ -77,6 +89,11 @@ public class BedrockAgentRuntimeEndpoint extends ScheduledPollEndpoint implement
                 bedrockAgentRuntimeClient.close();
             }
         }
+        if (ObjectHelper.isEmpty(configuration.getBedrockAgentRuntimeAsyncClient())) {
+            if (ObjectHelper.isNotEmpty(bedrockAgentRuntimeAsyncClient)) {
+                bedrockAgentRuntimeAsyncClient.close();
+            }
+        }
         super.doStop();
     }
 
@@ -88,6 +105,10 @@ public class BedrockAgentRuntimeEndpoint extends ScheduledPollEndpoint implement
         return bedrockAgentRuntimeClient;
     }
 
+    public BedrockAgentRuntimeAsyncClient getBedrockAgentRuntimeAsyncClient() {
+        return bedrockAgentRuntimeAsyncClient;
+    }
+
     @Override
     public String getServiceUrl() {
         if (!configuration.isOverrideEndpoint()) {
diff --git a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeOperations.java b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeOperations.java
index 6a954d444a83..25e63ce796b3 100644
--- a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeOperations.java
+++ b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeOperations.java
@@ -18,5 +18,6 @@ package org.apache.camel.component.aws2.bedrock.agentruntime;
 
 public enum BedrockAgentRuntimeOperations {
 
-    retrieveAndGenerate
+    retrieveAndGenerate,
+    invokeFlow
 }
diff --git a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeProducer.java b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeProducer.java
index ff55017c5f81..0a096d2fc596 100644
--- a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeProducer.java
+++ b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeProducer.java
@@ -16,6 +16,10 @@
  */
 package org.apache.camel.component.aws2.bedrock.agentruntime;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
 import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
 import org.apache.camel.InvalidPayloadException;
@@ -26,8 +30,24 @@ import org.apache.camel.util.URISupport;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import software.amazon.awssdk.awscore.exception.AwsServiceException;
+import software.amazon.awssdk.core.document.Document;
+import software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient;
 import software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient;
-import software.amazon.awssdk.services.bedrockagentruntime.model.*;
+import software.amazon.awssdk.services.bedrockagentruntime.model.FlowCompletionEvent;
+import software.amazon.awssdk.services.bedrockagentruntime.model.FlowInput;
+import software.amazon.awssdk.services.bedrockagentruntime.model.FlowInputContent;
+import software.amazon.awssdk.services.bedrockagentruntime.model.FlowOutputEvent;
+import software.amazon.awssdk.services.bedrockagentruntime.model.FlowTraceEvent;
+import software.amazon.awssdk.services.bedrockagentruntime.model.InvokeFlowRequest;
+import software.amazon.awssdk.services.bedrockagentruntime.model.InvokeFlowResponseHandler;
+import software.amazon.awssdk.services.bedrockagentruntime.model.KnowledgeBaseRetrievalConfiguration;
+import software.amazon.awssdk.services.bedrockagentruntime.model.KnowledgeBaseRetrieveAndGenerateConfiguration;
+import software.amazon.awssdk.services.bedrockagentruntime.model.KnowledgeBaseVectorSearchConfiguration;
+import software.amazon.awssdk.services.bedrockagentruntime.model.RetrieveAndGenerateConfiguration;
+import software.amazon.awssdk.services.bedrockagentruntime.model.RetrieveAndGenerateInput;
+import software.amazon.awssdk.services.bedrockagentruntime.model.RetrieveAndGenerateRequest;
+import software.amazon.awssdk.services.bedrockagentruntime.model.RetrieveAndGenerateResponse;
+import software.amazon.awssdk.services.bedrockagentruntime.model.RetrieveAndGenerateType;
 
 /**
  * A Producer which sends messages to the Amazon Bedrock Agent Runtime Service
@@ -48,6 +68,9 @@ public class BedrockAgentRuntimeProducer extends DefaultProducer {
             case retrieveAndGenerate:
                 retrieveAndGenerate(getEndpoint().getBedrockAgentRuntimeClient(), exchange);
                 break;
+            case invokeFlow:
+                invokeFlow(exchange);
+                break;
             default:
                 throw new IllegalArgumentException("Unsupported operation");
         }
@@ -143,6 +166,162 @@ public class BedrockAgentRuntimeProducer extends DefaultProducer {
         message.setBody(result.output().text());
     }
 
+    private void invokeFlow(Exchange exchange) throws InvalidPayloadException {
+        BedrockAgentRuntimeAsyncClient asyncClient = getEndpoint().getBedrockAgentRuntimeAsyncClient();
+        if (asyncClient == null) {
+            throw new IllegalStateException(
+                    "BedrockAgentRuntimeAsyncClient is not available. The invokeFlow operation requires an async client; "
+                                            + "set operation=invokeFlow on the endpoint or autowire a BedrockAgentRuntimeAsyncClient.");
+        }
+
+        InvokeFlowRequest request;
+        if (getConfiguration().isPojoRequest()) {
+            Object payload = exchange.getMessage().getMandatoryBody();
+            if (payload instanceof InvokeFlowRequest flowRequest) {
+                request = flowRequest;
+            } else {
+                throw new IllegalArgumentException(
+                        "invokeFlow operation requires an InvokeFlowRequest body when pojoRequest=true");
+            }
+        } else {
+            request = buildInvokeFlowRequest(exchange);
+        }
+
+        List<FlowOutputEvent> outputs = Collections.synchronizedList(new ArrayList<>());
+        List<FlowTraceEvent> traces = Collections.synchronizedList(new ArrayList<>());
+        String[] completionReason = new String[1];
+
+        InvokeFlowResponseHandler handler = InvokeFlowResponseHandler.builder()
+                .subscriber(InvokeFlowResponseHandler.Visitor.builder()
+                        .onFlowOutputEvent(outputs::add)
+                        .onFlowTraceEvent(traces::add)
+                        .onFlowCompletionEvent((FlowCompletionEvent event) -> {
+                            if (ObjectHelper.isNotEmpty(event.completionReasonAsString())) {
+                                completionReason[0] = event.completionReasonAsString();
+                            }
+                        })
+                        .build())
+                .build();
+
+        try {
+            asyncClient.invokeFlow(request, handler).join();
+        } catch (AwsServiceException ase) {
+            LOG.trace("InvokeFlow command returned the error code {}", ase.awsErrorDetails().errorCode());
+            throw ase;
+        } catch (RuntimeException re) {
+            // CompletableFuture.join() wraps checked exceptions in CompletionException; rethrow root cause when it is
+            // an AWS service exception so callers see the same behavior as synchronous AWS calls.
+            Throwable cause = re.getCause();
+            if (cause instanceof AwsServiceException awsCause) {
+                throw awsCause;
+            }
+            throw re;
+        }
+
+        Message message = getMessageForResponse(exchange);
+        prepareFlowResponse(outputs, traces, completionReason[0], message);
+    }
+
+    private InvokeFlowRequest buildInvokeFlowRequest(Exchange exchange) throws InvalidPayloadException {
+        String flowIdentifier = exchange.getMessage().getHeader(BedrockAgentRuntimeConstants.FLOW_IDENTIFIER, String.class);
+        if (ObjectHelper.isEmpty(flowIdentifier)) {
+            flowIdentifier = getConfiguration().getFlowIdentifier();
+        }
+        if (ObjectHelper.isEmpty(flowIdentifier)) {
+            throw new IllegalArgumentException(
+                    "invokeFlow operation requires flowIdentifier in configuration or header "
+                                               + BedrockAgentRuntimeConstants.FLOW_IDENTIFIER);
+        }
+
+        String flowAliasIdentifier
+                = exchange.getMessage().getHeader(BedrockAgentRuntimeConstants.FLOW_ALIAS_IDENTIFIER, String.class);
+        if (ObjectHelper.isEmpty(flowAliasIdentifier)) {
+            flowAliasIdentifier = getConfiguration().getFlowAliasIdentifier();
+        }
+        if (ObjectHelper.isEmpty(flowAliasIdentifier)) {
+            throw new IllegalArgumentException(
+                    "invokeFlow operation requires flowAliasIdentifier in configuration or header "
+                                               + BedrockAgentRuntimeConstants.FLOW_ALIAS_IDENTIFIER);
+        }
+
+        Boolean enableTrace
+                = exchange.getMessage().getHeader(BedrockAgentRuntimeConstants.FLOW_ENABLE_TRACE, Boolean.class);
+        if (enableTrace == null) {
+            enableTrace = getConfiguration().isEnableTrace();
+        }
+
+        InvokeFlowRequest.Builder builder = InvokeFlowRequest.builder()
+                .flowIdentifier(flowIdentifier)
+                .flowAliasIdentifier(flowAliasIdentifier)
+                .enableTrace(enableTrace)
+                .inputs(buildFlowInputs(exchange));
+
+        String executionId = exchange.getMessage().getHeader(BedrockAgentRuntimeConstants.FLOW_EXECUTION_ID, String.class);
+        if (ObjectHelper.isNotEmpty(executionId)) {
+            builder.executionId(executionId);
+        }
+
+        return builder.build();
+    }
+
+    @SuppressWarnings("unchecked")
+    private List<FlowInput> buildFlowInputs(Exchange exchange) throws InvalidPayloadException {
+        Object body = exchange.getMessage().getMandatoryBody();
+
+        if (body instanceof List<?> listBody) {
+            if (!listBody.isEmpty() && listBody.get(0) instanceof FlowInput) {
+                return (List<FlowInput>) listBody;
+            }
+            throw new IllegalArgumentException(
+                    "invokeFlow expects the body to be a List<FlowInput>, a single FlowInput or a String when pojoRequest=false");
+        }
+
+        if (body instanceof FlowInput singleInput) {
+            return Collections.singletonList(singleInput);
+        }
+
+        if (body instanceof String text) {
+            FlowInput input = FlowInput.builder()
+                    .nodeName("FlowInputNode")
+                    .nodeOutputName("document")
+                    .content(FlowInputContent.builder().document(Document.fromString(text)).build())
+                    .build();
+            return Collections.singletonList(input);
+        }
+
+        throw new IllegalArgumentException(
+                "invokeFlow expects the body to be a List<FlowInput>, a single FlowInput or a String when pojoRequest=false. "
+                                           + "Got: " + body.getClass().getName());
+    }
+
+    private void prepareFlowResponse(
+            List<FlowOutputEvent> outputs, List<FlowTraceEvent> traces, String completionReason, Message message) {
+        message.setHeader(BedrockAgentRuntimeConstants.FLOW_OUTPUTS, new ArrayList<>(outputs));
+        if (!traces.isEmpty()) {
+            message.setHeader(BedrockAgentRuntimeConstants.FLOW_TRACES, new ArrayList<>(traces));
+        }
+        if (ObjectHelper.isNotEmpty(completionReason)) {
+            message.setHeader(BedrockAgentRuntimeConstants.FLOW_COMPLETION_REASON, completionReason);
+        }
+
+        // Surface the document payload of the last FlowOutputEvent as the body. This matches the user-facing
+        // contract: "what did the flow return at the end?". When no outputs were produced the body is left untouched
+        // so callers can still inspect headers to understand why the flow stopped.
+        if (!outputs.isEmpty()) {
+            FlowOutputEvent last = outputs.get(outputs.size() - 1);
+            if (last.content() != null && last.content().document() != null) {
+                Document doc = last.content().document();
+                if (doc.isString()) {
+                    message.setBody(doc.asString());
+                } else {
+                    message.setBody(doc);
+                }
+            } else {
+                message.setBody(last);
+            }
+        }
+    }
+
     public static Message getMessageForResponse(final Exchange exchange) {
         return exchange.getMessage();
     }
diff --git a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/client/BedrockAgentRuntimeClientFactory.java b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/client/BedrockAgentRuntimeClientFactory.java
index b63354c10335..0ef2e2d429be 100644
--- a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/client/BedrockAgentRuntimeClientFactory.java
+++ b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/client/BedrockAgentRuntimeClientFactory.java
@@ -18,6 +18,7 @@ package org.apache.camel.component.aws2.bedrock.agentruntime.client;
 
 import org.apache.camel.component.aws.common.AwsClientBuilderUtil;
 import org.apache.camel.component.aws2.bedrock.agentruntime.BedrockAgentRuntimeConfiguration;
+import software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient;
 import software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient;
 
 /**
@@ -39,4 +40,18 @@ public final class BedrockAgentRuntimeClientFactory {
                 configuration,
                 BedrockAgentRuntimeClient::builder);
     }
+
+    /**
+     * Create a BedrockAgentRuntimeAsyncClient based on configuration. The async client is required for event-stream
+     * operations such as invokeFlow.
+     *
+     * @param  configuration The Bedrock Agent Runtime configuration
+     * @return               Configured BedrockAgentRuntimeAsyncClient
+     */
+    public static BedrockAgentRuntimeAsyncClient getBedrockAgentRuntimeAsyncClient(
+            BedrockAgentRuntimeConfiguration configuration) {
+        return AwsClientBuilderUtil.buildAsyncClient(
+                configuration,
+                BedrockAgentRuntimeAsyncClient::builder);
+    }
 }
diff --git a/components/camel-aws/camel-aws-bedrock/src/test/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpointTest.java b/components/camel-aws/camel-aws-bedrock/src/test/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpointTest.java
new file mode 100644
index 000000000000..7ad5c2278f9a
--- /dev/null
+++ b/components/camel-aws/camel-aws-bedrock/src/test/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpointTest.java
@@ -0,0 +1,125 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.bedrock.agentruntime;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.support.SimpleRegistry;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
+import software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient;
+import software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertSame;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+@ExtendWith(MockitoExtension.class)
+public class BedrockAgentRuntimeEndpointTest {
+
+    @Mock
+    private BedrockAgentRuntimeClient syncClient;
+
+    @Mock
+    private BedrockAgentRuntimeAsyncClient asyncClient;
+
+    private CamelContext camelContext;
+
+    @BeforeEach
+    public void setup() {
+        SimpleRegistry registry = new SimpleRegistry();
+        registry.bind("syncClient", syncClient);
+        registry.bind("asyncClient", asyncClient);
+        camelContext = new DefaultCamelContext(registry);
+    }
+
+    @Test
+    public void invokeFlowEndpointParsesFlowOptions() {
+        BedrockAgentRuntimeEndpoint endpoint = (BedrockAgentRuntimeEndpoint) camelContext.getEndpoint(
+                "aws-bedrock-agent-runtime://label"
+                                                                                                      + "?bedrockAgentRuntimeAsyncClient=#asyncClient"
+                                                                                                      + "&operation=invokeFlow"
+                                                                                                      + "&flowIdentifier=flow-abc"
+                                                                                                      + "&flowAliasIdentifier=alias-xyz"
+                                                                                                      + "&enableTrace=true"
+                                                                                                      + "&region=us-east-1"
+                                                                                                      + "&accessKey=unused"
+                                                                                                      + "&secretKey=unused");
+
+        BedrockAgentRuntimeConfiguration config = endpoint.getConfiguration();
+        assertEquals(BedrockAgentRuntimeOperations.invokeFlow, config.getOperation());
+        assertEquals("flow-abc", config.getFlowIdentifier());
+        assertEquals("alias-xyz", config.getFlowAliasIdentifier());
+        assertTrue(config.isEnableTrace());
+        assertSame(asyncClient, config.getBedrockAgentRuntimeAsyncClient());
+    }
+
+    @Test
+    public void invokeFlowEndpointBuildsAsyncClientOnStart() throws Exception {
+        BedrockAgentRuntimeEndpoint endpoint = (BedrockAgentRuntimeEndpoint) camelContext.getEndpoint(
+                "aws-bedrock-agent-runtime://label"
+                                                                                                      + "?bedrockAgentRuntimeAsyncClient=#asyncClient"
+                                                                                                      + "&operation=invokeFlow"
+                                                                                                      + "&flowIdentifier=flow-abc"
+                                                                                                      + "&flowAliasIdentifier=alias-xyz"
+                                                                                                      + "&region=us-east-1"
+                                                                                                      + "&accessKey=unused"
+                                                                                                      + "&secretKey=unused");
+
+        endpoint.start();
+        try {
+            assertNotNull(endpoint.getBedrockAgentRuntimeAsyncClient(), "Async client should be wired for invokeFlow");
+            assertSame(asyncClient, endpoint.getBedrockAgentRuntimeAsyncClient());
+        } finally {
+            endpoint.stop();
+        }
+    }
+
+    @Test
+    public void retrieveAndGenerateEndpointDoesNotBuildAsyncClient() throws Exception {
+        // Build a context that does NOT have an async client autowired so we can prove the endpoint refrains from
+        // creating one (creating one would allocate a Netty HTTP client and event-loop thread pool — the cost we
+        // want to avoid for users that only ever call retrieveAndGenerate).
+        SimpleRegistry localRegistry = new SimpleRegistry();
+        localRegistry.bind("syncClient", syncClient);
+        CamelContext localContext = new DefaultCamelContext(localRegistry);
+
+        BedrockAgentRuntimeEndpoint endpoint = (BedrockAgentRuntimeEndpoint) localContext.getEndpoint(
+                "aws-bedrock-agent-runtime://label"
+                                                                                                      + "?bedrockAgentRuntimeClient=#syncClient"
+                                                                                                      + "&operation=retrieveAndGenerate"
+                                                                                                      + "&modelId=anthropic.claude-instant-v1"
+                                                                                                      + "&knowledgeBaseId=kb-1"
+                                                                                                      + "&region=us-east-1"
+                                                                                                      + "&accessKey=unused"
+                                                                                                      + "&secretKey=unused");
+
+        endpoint.start();
+        try {
+            assertNull(endpoint.getBedrockAgentRuntimeAsyncClient(),
+                    "Async client must not be built when operation does not require event streaming");
+        } finally {
+            endpoint.stop();
+            localContext.stop();
+        }
+    }
+}
diff --git a/components/camel-aws/camel-aws-bedrock/src/test/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeProducerInvokeFlowTest.java b/components/camel-aws/camel-aws-bedrock/src/test/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeProducerInvokeFlowTest.java
new file mode 100644
index 000000000000..90653dd49d55
--- /dev/null
+++ b/components/camel-aws/camel-aws-bedrock/src/test/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeProducerInvokeFlowTest.java
@@ -0,0 +1,166 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.bedrock.agentruntime;
+
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.atomic.AtomicReference;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelExecutionException;
+import org.apache.camel.Exchange;
+import org.apache.camel.ProducerTemplate;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.support.SimpleRegistry;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
+import software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient;
+import software.amazon.awssdk.services.bedrockagentruntime.model.FlowInput;
+import software.amazon.awssdk.services.bedrockagentruntime.model.InvokeFlowRequest;
+import software.amazon.awssdk.services.bedrockagentruntime.model.InvokeFlowResponseHandler;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.lenient;
+
+@ExtendWith(MockitoExtension.class)
+public class BedrockAgentRuntimeProducerInvokeFlowTest {
+
+    @Mock
+    private BedrockAgentRuntimeAsyncClient asyncClient;
+
+    private CamelContext camelContext;
+    private ProducerTemplate template;
+    private AtomicReference<InvokeFlowRequest> capturedRequest;
+
+    @BeforeEach
+    public void setup() throws Exception {
+        capturedRequest = new AtomicReference<>();
+        // Capture the request and complete the future immediately. We don't emit any events here — the test focuses
+        // on verifying that the producer translates the incoming exchange into a correctly-shaped InvokeFlowRequest.
+        // lenient(): one of the tests verifies a producer-side validation that throws before reaching the client, so
+        // not every test exercises this stubbing.
+        lenient().doAnswer(invocation -> {
+            capturedRequest.set(invocation.getArgument(0, InvokeFlowRequest.class));
+            return CompletableFuture.completedFuture(null);
+        }).when(asyncClient).invokeFlow(any(InvokeFlowRequest.class), any(InvokeFlowResponseHandler.class));
+
+        SimpleRegistry registry = new SimpleRegistry();
+        registry.bind("asyncClient", asyncClient);
+        camelContext = new DefaultCamelContext(registry);
+        camelContext.addRoutes(new RouteBuilder() {
+            @Override
+            public void configure() {
+                from("direct:flow-config-default")
+                        .to("aws-bedrock-agent-runtime://label"
+                            + "?bedrockAgentRuntimeAsyncClient=#asyncClient"
+                            + "&operation=invokeFlow"
+                            + "&flowIdentifier=flow-1"
+                            + "&flowAliasIdentifier=alias-1"
+                            + "&region=us-east-1"
+                            + "&accessKey=unused"
+                            + "&secretKey=unused");
+
+                from("direct:flow-no-config")
+                        .to("aws-bedrock-agent-runtime://label2"
+                            + "?bedrockAgentRuntimeAsyncClient=#asyncClient"
+                            + "&operation=invokeFlow"
+                            + "&region=us-east-1"
+                            + "&accessKey=unused"
+                            + "&secretKey=unused");
+            }
+        });
+        camelContext.start();
+        template = camelContext.createProducerTemplate();
+    }
+
+    @AfterEach
+    public void teardown() {
+        if (template != null) {
+            template.stop();
+        }
+        if (camelContext != null) {
+            camelContext.stop();
+        }
+    }
+
+    @Test
+    public void invokeFlowBuildsRequestFromStringBodyAndEndpointConfig() {
+        Exchange result = template.send("direct:flow-config-default",
+                exchange -> exchange.getMessage().setBody("hello flow"));
+
+        assertNotNull(result.getException() == null ? "ok" : result.getException().getMessage(), "Exchange should not fail");
+        InvokeFlowRequest request = capturedRequest.get();
+        assertNotNull(request, "Producer must have invoked the async client");
+        assertEquals("flow-1", request.flowIdentifier());
+        assertEquals("alias-1", request.flowAliasIdentifier());
+        assertEquals(Boolean.FALSE, request.enableTrace());
+
+        List<FlowInput> inputs = request.inputs();
+        assertEquals(1, inputs.size(), "A single FlowInput should be derived from the String body");
+        FlowInput input = inputs.get(0);
+        assertEquals("FlowInputNode", input.nodeName());
+        assertEquals("document", input.nodeOutputName());
+        assertNotNull(input.content(), "Input content must be populated");
+        assertNotNull(input.content().document(), "Input document must be populated");
+        assertTrue(input.content().document().isString(), "Document should be a string");
+        assertEquals("hello flow", input.content().document().asString());
+
+        // Default response body is left untouched (no events emitted by the mock); flow headers default to empty.
+        Object outputs = result.getMessage().getHeader(BedrockAgentRuntimeConstants.FLOW_OUTPUTS);
+        assertInstanceOf(List.class, outputs);
+        assertTrue(((List<?>) outputs).isEmpty(), "FLOW_OUTPUTS header should be an empty list when no events were emitted");
+    }
+
+    @Test
+    public void invokeFlowAllowsHeaderOverridesForFlowIdentifiers() {
+        template.send("direct:flow-config-default", exchange -> {
+            exchange.getMessage().setHeader(BedrockAgentRuntimeConstants.FLOW_IDENTIFIER, "flow-override");
+            exchange.getMessage().setHeader(BedrockAgentRuntimeConstants.FLOW_ALIAS_IDENTIFIER, "alias-override");
+            exchange.getMessage().setHeader(BedrockAgentRuntimeConstants.FLOW_ENABLE_TRACE, Boolean.TRUE);
+            exchange.getMessage().setBody("hi");
+        });
+
+        InvokeFlowRequest request = capturedRequest.get();
+        assertNotNull(request);
+        assertEquals("flow-override", request.flowIdentifier(),
+                "Header CamelAwsBedrockAgentRuntimeFlowIdentifier must override the endpoint flowIdentifier");
+        assertEquals("alias-override", request.flowAliasIdentifier(),
+                "Header CamelAwsBedrockAgentRuntimeFlowAliasIdentifier must override the endpoint flowAliasIdentifier");
+        assertEquals(Boolean.TRUE, request.enableTrace(),
+                "Header CamelAwsBedrockAgentRuntimeFlowEnableTrace must override enableTrace");
+    }
+
+    @Test
+    public void invokeFlowFailsWhenFlowIdentifierIsMissing() {
+        CamelExecutionException ex = assertThrows(CamelExecutionException.class,
+                () -> template.sendBody("direct:flow-no-config", "hi"));
+        Throwable cause = ex.getCause();
+        assertInstanceOf(IllegalArgumentException.class, cause);
+        assertTrue(cause.getMessage().contains("flowIdentifier"),
+                "Error message should mention the missing flowIdentifier — was: " + cause.getMessage());
+    }
+}
diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsBedrockAgentRuntimeComponentBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsBedrockAgentRuntimeComponentBuilderFactory.java
index 541071c9af21..bedac7b29efa 100644
--- a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsBedrockAgentRuntimeComponentBuilderFactory.java
+++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsBedrockAgentRuntimeComponentBuilderFactory.java
@@ -283,6 +283,23 @@ public interface AwsBedrockAgentRuntimeComponentBuilderFactory {
             return this;
         }
     
+        /**
+         * To use an existing configured AWS Bedrock Agent Runtime async client
+         * (required for invokeFlow which streams events back).
+         * 
+         * The option is a:
+         * &lt;code&gt;software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param bedrockAgentRuntimeAsyncClient the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockAgentRuntimeComponentBuilder bedrockAgentRuntimeAsyncClient(software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient bedrockAgentRuntimeAsyncClient) {
+            doSetProperty("bedrockAgentRuntimeAsyncClient", bedrockAgentRuntimeAsyncClient);
+            return this;
+        }
+    
         /**
          * To use an existing configured AWS Bedrock Agent Runtime client.
          * 
@@ -300,6 +317,59 @@ public interface AwsBedrockAgentRuntimeComponentBuilderFactory {
         }
     
         
+        /**
+         * Enables tracing for the invokeFlow operation. When enabled, the
+         * producer collects FlowTraceEvent entries and publishes them in the
+         * CamelAwsBedrockAgentRuntimeFlowTraces header.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: flow
+         * 
+         * @param enableTrace the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockAgentRuntimeComponentBuilder enableTrace(boolean enableTrace) {
+            doSetProperty("enableTrace", enableTrace);
+            return this;
+        }
+    
+        /**
+         * The unique identifier of the Bedrock flow alias to invoke (used by
+         * the invokeFlow operation). Can be overridden per exchange via the
+         * CamelAwsBedrockAgentRuntimeFlowAliasIdentifier header.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: flow
+         * 
+         * @param flowAliasIdentifier the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockAgentRuntimeComponentBuilder flowAliasIdentifier(java.lang.String flowAliasIdentifier) {
+            doSetProperty("flowAliasIdentifier", flowAliasIdentifier);
+            return this;
+        }
+    
+        /**
+         * The unique identifier of the Bedrock flow to invoke (used by the
+         * invokeFlow operation). Can be overridden per exchange via the
+         * CamelAwsBedrockAgentRuntimeFlowIdentifier header.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: flow
+         * 
+         * @param flowIdentifier the value to set
+         * @return the dsl builder
+         */
+        default AwsBedrockAgentRuntimeComponentBuilder flowIdentifier(java.lang.String flowIdentifier) {
+            doSetProperty("flowIdentifier", flowIdentifier);
+            return this;
+        }
+    
+        
         /**
          * Used for enabling or disabling all consumer based health checks from
          * this component.
@@ -504,7 +574,11 @@ public interface AwsBedrockAgentRuntimeComponentBuilderFactory {
             case "useDefaultCredentialsProvider": getOrCreateConfiguration((BedrockAgentRuntimeComponent) component).setUseDefaultCredentialsProvider((boolean) value); return true;
             case "useProfileCredentialsProvider": getOrCreateConfiguration((BedrockAgentRuntimeComponent) component).setUseProfileCredentialsProvider((boolean) value); return true;
             case "autowiredEnabled": ((BedrockAgentRuntimeComponent) component).setAutowiredEnabled((boolean) value); return true;
+            case "bedrockAgentRuntimeAsyncClient": getOrCreateConfiguration((BedrockAgentRuntimeComponent) component).setBedrockAgentRuntimeAsyncClient((software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient) value); return true;
             case "bedrockAgentRuntimeClient": getOrCreateConfiguration((BedrockAgentRuntimeComponent) component).setBedrockAgentRuntimeClient((software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeClient) value); return true;
+            case "enableTrace": getOrCreateConfiguration((BedrockAgentRuntimeComponent) component).setEnableTrace((boolean) value); return true;
+            case "flowAliasIdentifier": getOrCreateConfiguration((BedrockAgentRuntimeComponent) component).setFlowAliasIdentifier((java.lang.String) value); return true;
+            case "flowIdentifier": getOrCreateConfiguration((BedrockAgentRuntimeComponent) component).setFlowIdentifier((java.lang.String) value); return true;
             case "healthCheckConsumerEnabled": ((BedrockAgentRuntimeComponent) component).setHealthCheckConsumerEnabled((boolean) value); return true;
             case "healthCheckProducerEnabled": ((BedrockAgentRuntimeComponent) component).setHealthCheckProducerEnabled((boolean) value); return true;
             case "proxyHost": getOrCreateConfiguration((BedrockAgentRuntimeComponent) component).setProxyHost((java.lang.String) value); return true;
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BedrockAgentEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BedrockAgentEndpointBuilderFactory.java
index 1fefade7d7fa..90d371aa4a92 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BedrockAgentEndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BedrockAgentEndpointBuilderFactory.java
@@ -2315,6 +2315,106 @@ public interface BedrockAgentEndpointBuilderFactory {
         public String awsBedrockAgentRuntimeSessionId() {
             return "CamelAwsBedrockAgentRuntimeSessionId";
         }
+        /**
+         * The unique identifier of the flow to invoke. Overrides the
+         * flowIdentifier configured on the endpoint.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: common
+         * 
+         * @return the name of the header {@code
+         * AwsBedrockAgentRuntimeFlowIdentifier}.
+         */
+        public String awsBedrockAgentRuntimeFlowIdentifier() {
+            return "CamelAwsBedrockAgentRuntimeFlowIdentifier";
+        }
+        /**
+         * The unique identifier of the flow alias to invoke. Overrides the
+         * flowAliasIdentifier configured on the endpoint.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: common
+         * 
+         * @return the name of the header {@code
+         * AwsBedrockAgentRuntimeFlowAliasIdentifier}.
+         */
+        public String awsBedrockAgentRuntimeFlowAliasIdentifier() {
+            return "CamelAwsBedrockAgentRuntimeFlowAliasIdentifier";
+        }
+        /**
+         * Enables tracing for the flow invocation. When set, overrides the
+         * enableTrace option on the endpoint.
+         * 
+         * The option is a: {@code Boolean} type.
+         * 
+         * Group: common
+         * 
+         * @return the name of the header {@code
+         * AwsBedrockAgentRuntimeFlowEnableTrace}.
+         */
+        public String awsBedrockAgentRuntimeFlowEnableTrace() {
+            return "CamelAwsBedrockAgentRuntimeFlowEnableTrace";
+        }
+        /**
+         * The unique identifier of an in-progress flow execution to continue.
+         * Used for multi-turn flow conversations.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: common
+         * 
+         * @return the name of the header {@code
+         * AwsBedrockAgentRuntimeFlowExecutionId}.
+         */
+        public String awsBedrockAgentRuntimeFlowExecutionId() {
+            return "CamelAwsBedrockAgentRuntimeFlowExecutionId";
+        }
+        /**
+         * When invoking a flow, this header will contain the list of
+         * FlowOutputEvent emitted by the flow.
+         * 
+         * The option is a: {@code
+         * java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowOutputEvent>} type.
+         * 
+         * Group: common
+         * 
+         * @return the name of the header {@code
+         * AwsBedrockAgentRuntimeFlowOutputs}.
+         */
+        public String awsBedrockAgentRuntimeFlowOutputs() {
+            return "CamelAwsBedrockAgentRuntimeFlowOutputs";
+        }
+        /**
+         * When invoking a flow with tracing enabled, this header will contain
+         * the list of FlowTraceEvent emitted during execution.
+         * 
+         * The option is a: {@code
+         * java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowTraceEvent>} type.
+         * 
+         * Group: common
+         * 
+         * @return the name of the header {@code
+         * AwsBedrockAgentRuntimeFlowTraces}.
+         */
+        public String awsBedrockAgentRuntimeFlowTraces() {
+            return "CamelAwsBedrockAgentRuntimeFlowTraces";
+        }
+        /**
+         * When invoking a flow, this header will contain the reason the flow
+         * completed (set when a FlowCompletionEvent is received).
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: common
+         * 
+         * @return the name of the header {@code
+         * AwsBedrockAgentRuntimeFlowCompletionReason}.
+         */
+        public String awsBedrockAgentRuntimeFlowCompletionReason() {
+            return "CamelAwsBedrockAgentRuntimeFlowCompletionReason";
+        }
     }
     static BedrockAgentEndpointBuilder endpointBuilder(String componentName, String path) {
         class BedrockAgentEndpointBuilderImpl extends AbstractEndpointBuilder implements BedrockAgentEndpointBuilder, AdvancedBedrockAgentEndpointBuilder {
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BedrockAgentRuntimeEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BedrockAgentRuntimeEndpointBuilderFactory.java
index 7a0286225808..8a2f24af9eac 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BedrockAgentRuntimeEndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BedrockAgentRuntimeEndpointBuilderFactory.java
@@ -282,6 +282,72 @@ public interface BedrockAgentRuntimeEndpointBuilderFactory {
             doSetProperty("useProfileCredentialsProvider", useProfileCredentialsProvider);
             return this;
         }
+        /**
+         * Enables tracing for the invokeFlow operation. When enabled, the
+         * producer collects FlowTraceEvent entries and publishes them in the
+         * CamelAwsBedrockAgentRuntimeFlowTraces header.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: flow
+         * 
+         * @param enableTrace the value to set
+         * @return the dsl builder
+         */
+        default BedrockAgentRuntimeEndpointBuilder enableTrace(boolean enableTrace) {
+            doSetProperty("enableTrace", enableTrace);
+            return this;
+        }
+        /**
+         * Enables tracing for the invokeFlow operation. When enabled, the
+         * producer collects FlowTraceEvent entries and publishes them in the
+         * CamelAwsBedrockAgentRuntimeFlowTraces header.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: flow
+         * 
+         * @param enableTrace the value to set
+         * @return the dsl builder
+         */
+        default BedrockAgentRuntimeEndpointBuilder enableTrace(String enableTrace) {
+            doSetProperty("enableTrace", enableTrace);
+            return this;
+        }
+        /**
+         * The unique identifier of the Bedrock flow alias to invoke (used by
+         * the invokeFlow operation). Can be overridden per exchange via the
+         * CamelAwsBedrockAgentRuntimeFlowAliasIdentifier header.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: flow
+         * 
+         * @param flowAliasIdentifier the value to set
+         * @return the dsl builder
+         */
+        default BedrockAgentRuntimeEndpointBuilder flowAliasIdentifier(String flowAliasIdentifier) {
+            doSetProperty("flowAliasIdentifier", flowAliasIdentifier);
+            return this;
+        }
+        /**
+         * The unique identifier of the Bedrock flow to invoke (used by the
+         * invokeFlow operation). Can be overridden per exchange via the
+         * CamelAwsBedrockAgentRuntimeFlowIdentifier header.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: flow
+         * 
+         * @param flowIdentifier the value to set
+         * @return the dsl builder
+         */
+        default BedrockAgentRuntimeEndpointBuilder flowIdentifier(String flowIdentifier) {
+            doSetProperty("flowIdentifier", flowIdentifier);
+            return this;
+        }
         /**
          * To define a proxy host when instantiating the Bedrock Agent Runtime
          * client.
@@ -529,6 +595,38 @@ public interface BedrockAgentRuntimeEndpointBuilderFactory {
             doSetProperty("lazyStartProducer", lazyStartProducer);
             return this;
         }
+        /**
+         * To use an existing configured AWS Bedrock Agent Runtime async client
+         * (required for invokeFlow which streams events back).
+         * 
+         * The option is a:
+         * <code>software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient</code> type.
+         * 
+         * Group: advanced
+         * 
+         * @param bedrockAgentRuntimeAsyncClient the value to set
+         * @return the dsl builder
+         */
+        default AdvancedBedrockAgentRuntimeEndpointBuilder bedrockAgentRuntimeAsyncClient(software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient bedrockAgentRuntimeAsyncClient) {
+            doSetProperty("bedrockAgentRuntimeAsyncClient", bedrockAgentRuntimeAsyncClient);
+            return this;
+        }
+        /**
+         * To use an existing configured AWS Bedrock Agent Runtime async client
+         * (required for invokeFlow which streams events back).
+         * 
+         * The option will be converted to a
+         * <code>software.amazon.awssdk.services.bedrockagentruntime.BedrockAgentRuntimeAsyncClient</code> type.
+         * 
+         * Group: advanced
+         * 
+         * @param bedrockAgentRuntimeAsyncClient the value to set
+         * @return the dsl builder
+         */
+        default AdvancedBedrockAgentRuntimeEndpointBuilder bedrockAgentRuntimeAsyncClient(String bedrockAgentRuntimeAsyncClient) {
+            doSetProperty("bedrockAgentRuntimeAsyncClient", bedrockAgentRuntimeAsyncClient);
+            return this;
+        }
         /**
          * To use an existing configured AWS Bedrock Agent Runtime client.
          * 
@@ -669,6 +767,106 @@ public interface BedrockAgentRuntimeEndpointBuilderFactory {
         public String awsBedrockAgentRuntimeSessionId() {
             return "CamelAwsBedrockAgentRuntimeSessionId";
         }
+        /**
+         * The unique identifier of the flow to invoke. Overrides the
+         * flowIdentifier configured on the endpoint.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code
+         * AwsBedrockAgentRuntimeFlowIdentifier}.
+         */
+        public String awsBedrockAgentRuntimeFlowIdentifier() {
+            return "CamelAwsBedrockAgentRuntimeFlowIdentifier";
+        }
+        /**
+         * The unique identifier of the flow alias to invoke. Overrides the
+         * flowAliasIdentifier configured on the endpoint.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code
+         * AwsBedrockAgentRuntimeFlowAliasIdentifier}.
+         */
+        public String awsBedrockAgentRuntimeFlowAliasIdentifier() {
+            return "CamelAwsBedrockAgentRuntimeFlowAliasIdentifier";
+        }
+        /**
+         * Enables tracing for the flow invocation. When set, overrides the
+         * enableTrace option on the endpoint.
+         * 
+         * The option is a: {@code Boolean} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code
+         * AwsBedrockAgentRuntimeFlowEnableTrace}.
+         */
+        public String awsBedrockAgentRuntimeFlowEnableTrace() {
+            return "CamelAwsBedrockAgentRuntimeFlowEnableTrace";
+        }
+        /**
+         * The unique identifier of an in-progress flow execution to continue.
+         * Used for multi-turn flow conversations.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code
+         * AwsBedrockAgentRuntimeFlowExecutionId}.
+         */
+        public String awsBedrockAgentRuntimeFlowExecutionId() {
+            return "CamelAwsBedrockAgentRuntimeFlowExecutionId";
+        }
+        /**
+         * When invoking a flow, this header will contain the list of
+         * FlowOutputEvent emitted by the flow.
+         * 
+         * The option is a: {@code
+         * java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowOutputEvent>} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code
+         * AwsBedrockAgentRuntimeFlowOutputs}.
+         */
+        public String awsBedrockAgentRuntimeFlowOutputs() {
+            return "CamelAwsBedrockAgentRuntimeFlowOutputs";
+        }
+        /**
+         * When invoking a flow with tracing enabled, this header will contain
+         * the list of FlowTraceEvent emitted during execution.
+         * 
+         * The option is a: {@code
+         * java.util.List<software.amazon.awssdk.services.bedrockagentruntime.model.FlowTraceEvent>} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code
+         * AwsBedrockAgentRuntimeFlowTraces}.
+         */
+        public String awsBedrockAgentRuntimeFlowTraces() {
+            return "CamelAwsBedrockAgentRuntimeFlowTraces";
+        }
+        /**
+         * When invoking a flow, this header will contain the reason the flow
+         * completed (set when a FlowCompletionEvent is received).
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code
+         * AwsBedrockAgentRuntimeFlowCompletionReason}.
+         */
+        public String awsBedrockAgentRuntimeFlowCompletionReason() {
+            return "CamelAwsBedrockAgentRuntimeFlowCompletionReason";
+        }
     }
     static BedrockAgentRuntimeEndpointBuilder endpointBuilder(String componentName, String path) {
         class BedrockAgentRuntimeEndpointBuilderImpl extends AbstractEndpointBuilder implements BedrockAgentRuntimeEndpointBuilder, AdvancedBedrockAgentRuntimeEndpointBuilder {