For the complete documentation index, see llms.txt.
Skip to main content
Version: 8.10

Amazon Bedrock connector

Use the Amazon Bedrock connector to invoke foundation models and run multi-turn conversations with Amazon Bedrock from your BPMN process.

About this connector​

The Amazon Bedrock connector is an outbound connector that sends requests to a foundation model in Amazon Bedrock and returns the model's response to your process. It supports two operations:

  • Invoke Model sends a raw payload to a model. The payload and the response depend on the model you use.
  • Converse starts or continues a conversation with a model. The connector returns the full, updated conversation.

Learn more about Amazon Bedrock in the Amazon Bedrock documentation.

Prerequisites​

To use the Amazon Bedrock connector, you need an AWS account with an access key and secret key that can run the InvokeModel or Converse actions. See the AWS documentation for examples of the required permissions.

You must also enable the models you want to use in the region you operate from. See model access in the Amazon Bedrock user guide.

note

Use secrets to store credentials and avoid exposing sensitive information from the process. See managing secrets.

Use this connector​

New to using an outbound connector? Learn how to add and use this type of connector, apply element templates, use connector secrets, handle results and errors, and more.

Configuration​

Authentication​

PropertyTypeRequiredDescriptionExample
AWS credentialConfigurationNoSelect a saved AWS credential with an optional default region, or enter the authentication details and a region in the fields below. Learn more about credentials.
AuthenticationDropdownYes, if no AWS credential is set

The AWS authentication strategy:

  • Credentials (SaaS/Self-Managed): Use this option if you have a valid pair of access and secret keys provided by your AWS account administrator.

  • Default Credentials Chain (Hybrid/Self-Managed only): Use this option if your system is configured for implicit authentication, such as role-based authentication, credentials supplied through environment variables, or files on the target host. This approach uses the Default Credential Provider Chain to resolve the required credentials.

Access keyStringYes, if Authentication is CredentialsThe IAM access key of a user with permissions to run the Amazon Bedrock actions.
Secret keyStringYes, if Authentication is CredentialsThe IAM secret key of the user with the access key above.

For more information about authentication and security in Amazon Bedrock, see Amazon Bedrock security and privacy.

Region​

PropertyTypeRequiredDescriptionExample
RegionStringYes, if no AWS credential is setThe region of the deployed endpoint.us-east-1
RegionStringYes, if the credential has no default regionOverrides the default region of the selected AWS credential. Shown when an AWS credential is selected.

Operations​

Select the operation in the Action dropdown. Invoke Model is selected by default. The properties that apply depend on the action.

PropertyTypeRequiredDescriptionExample
ActionDropdownYesThe operation to run: Invoke Model or Converse.

Invoke Model​

Invoke a model with a raw payload.

Input parameters​

PropertyTypeRequiredDescriptionExample
Model IDStringYesThe ID of the model to invoke. See the model ID documentation for the available options.ai21.jamba-instruct-v1:0
PayloadStringYesThe request body sent to the model, as a FEEL expression. Its structure depends on the model. See the model parameters documentation.
note

Ensure the model is available in your region, that the model supports the InvokeModel action, and that you are a user with adequate rights.

To learn more about Friendly Enough Expression Language (FEEL) expressions, see what is FEEL?.

Output​

The connector wraps the raw AWS response in a body field without changing it, so response.body holds exactly what the model returns. The structure depends on the model. See the model parameters documentation for the response of the model you use.

For Anthropic Claude models, response.body follows the Anthropic Claude Messages API response format:

FieldDescription
contentArray of content blocks generated by the model
content[].typeContent block type, typically text
content[].textGenerated text for a text content block

For a simple text prompt, the model returns a single content block, so you can extract the assistant's reply into a process variable named AIResponse as follows:

= { AIResponse: response.body.content[1].text }
note

Other model families, such as Amazon Titan and Nova, Meta Llama, and Cohere, return a different InvokeModel response shape. Check the model parameters documentation for the model you use before writing a Result expression.

Example​

If you use the model Jamba-instruct with model ID ai21.jamba-instruct-v1:0, and look at the model parameters Jamba documentation, the payload could be as follows:

{
"messages": [{ "role": "user", "content": "Hello" }],
"max_tokens": 256,
"top_p": 0.8,
"temperature": 0.7
}

The FEEL mapping in Result expression could be as follows:

= { AIResponse: response.body.choices[1].message.content }

Converse​

Start or continue a conversation with a model.

Input parameters​

PropertyTypeRequiredDescriptionExample
Model IDStringYesThe ID of the model to invoke. See the model ID documentation for the available options.amazon.titan-text-express-v1
New MessageStringYesThe first message of a conversation, or the next message of a conversation that is already started.
Message HistoryStringNoThe history of the conversation to continue, as a FEEL expression. If not set, this starts a new conversation. Pass the history returned by the previous Converse task to continue a conversation.
Max token returnedNumberNoThe maximum number of tokens the model returns. The default is 512.
TemperatureNumberNoThe temperature value passed to the model.
top PNumberNoThe top P value passed to the model.
Number of documentsDropdownYesHow many documents to include in the new message: None, Single document, or Multiple documents. The default is None.
Document sourceDropdownYes, for Single documentThe document source: Camunda Document, Inline Content, or From URL.
Camunda documentStringYes, for Camunda DocumentA FEEL expression with the reference to the document in the Camunda document store.
ContentStringYes, for Inline ContentThe content of the document, built from process data.
File nameStringNo, for Inline Content and From URLThe file name of the document. Shown for Inline Content and From URL.
Content typeStringNo, for Inline ContentThe MIME type of the content.
URLStringYes, for From URLThe URL of the external document.
DocumentsStringYes, for Multiple documentsA FEEL expression that returns an array of documents.
note

Ensure the model is available in your region, that the model supports the Converse action, and that you are a user with adequate rights.

To work with Camunda documents, upload them first, using the Orchestration Cluster REST API for example. Then assign the result to a variable in Start process instance so you can reference it in the Camunda document or Documents field. See Amazon Bedrock supported document formats for the supported file formats, and document handling for additional details and limitations.

Starting from version 8.7.0, the Amazon Bedrock connector supports consuming documents as inputs for conversations.

The Converse action doesn't currently expose a system prompt field in the connector's element template. To add a system prompt, use the Invoke Model action and add it to the Payload as the model's native API expects. For Anthropic Claude models, add a top-level system field, as described in system prompts for Anthropic Claude models.

Output​

The connector doesn't return the raw AWS Converse API response. Instead, it returns the full, updated conversation as an array of messages, adding the assistant's reply to any message history you passed in. Each message has a role (user or assistant) and a contentList array, and each item in contentList has a text field for text content. A user message that included documents also contains document items.

important

The current implementation supports the assistant's responses only in text format.

The assistant's reply is always the last message in the returned array. Use FEEL's negative indexing to reference it regardless of how many prior messages the conversation contains:

= { AIResponse: response[-1].contentList[1].text }

Pass the returned history as the Message History of the next Converse task, together with the new message.

AWS recommends the Converse API over InvokeModel when you want a process to work with more than one model family, because it uses one request and response shape across all Bedrock model families.

Troubleshooting​

To learn about general error handling in Camunda, see BPMN errors and failing jobs.

Further resources​