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

AWS Lambda connector

Invoke an AWS Lambda function from your BPMN process and use its response in later steps.

About this connector​

The AWS Lambda connector is an outbound connector that connects your BPMN service with the AWS Lambda service. Use it to run serverless code, such as a calculation or a call into another AWS service, as part of a process, and to pass JSON data to the function and receive its result.

The connector supports synchronous invocation only. It waits for the function to finish and returns its response. Asynchronous (event-driven) invocation isn't available.

Prerequisites​

To use the AWS Lambda connector, you need the following:

PrerequisiteDescription
AWS Lambda functionA deployed function you want to invoke.
AWS IAM user and permissionsAn IAM access key and secret key pair with permission to run the function. Not required if you use the default credentials chain (hybrid/Self-Managed only).
note

Use secrets to avoid exposing your AWS IAM credentials as plain text. Refer to managing secrets to learn more.

Create an AWS Lambda connector task​

You can apply a connector to a task or event via the append menu. For example:

  • From the canvas: Select an element and click the Change element icon to change an existing element, or use the append feature to add a new element to the diagram.
  • From the properties panel: Navigate to the Template section and click Select.
  • From the side palette: Click the Create element icon.

change element

After you have applied a connector to your element, follow the configuration steps or see using connectors to learn more.

Configuration​

Authentication​

Select an authentication method for the connector. Learn more about the available options in AWS authentication types.

PropertyTypeRequiredDescriptionExample
AuthenticationDropdownYesThe AWS authentication strategy: Credentials, or Default Credentials Chain (Hybrid/Self-Managed only).Credentials
Access keyStringYesIAM access key of a user with the necessary permissions for this connector. Shown when Authentication is Credentials.{{secrets.MY_AWS_ACCESS_KEY}}
Secret keyStringYesIAM secret key of a user with the necessary permissions for this connector. Shown when Authentication is Credentials.{{secrets.MY_AWS_SECRET_KEY}}

Region​

PropertyTypeRequiredDescriptionExample
RegionStringYesThe AWS region where your function is hosted. Refer to Regions and Zones to learn more.us-east-1

AWS authentication types​

You can authenticate the connector with AWS in the following ways:

  • Credentials: Use this option if your AWS account administrator provided a pair of access and secret keys. It applies to SaaS and Self-Managed.
  • Default Credentials Chain (Hybrid/Self-Managed only): Use this option if your system relies on an implicit authentication mechanism, such as role-based authentication, credentials supplied through environment variables, or files on the target host. It applies only to Self-Managed or hybrid distributions, and uses the Default Credential Provider Chain to resolve credentials.

Operations​

Invoke function​

Invoke an AWS Lambda function synchronously and return its response.

Input parameters​

PropertyTypeRequiredDescriptionExample
Operation typeDropdownYesThe invocation type. Invoke function (sync) is the only option.Invoke function (sync)
Function nameStringYesThe name, ARN, or alias of your function.my-function
PayloadTextYesThe JSON input passed to your Lambda function when it is invoked. Use a FEEL expression to build it from process variables.= { "orderId": orderId }

Output​

The connector returns the HTTP status code, executed version, and payload (the response from the function, or an error object). The following fields are available in the response variable:

  • statusCode - HTTP status code returned by the AWS Lambda Invoke API. This shows whether AWS Lambda accepted and handled the invocation request. It does not indicate whether the Lambda function itself returned a successful result.
  • executedVersion - Executed version of the Lambda function.
  • payload - The response returned by the Lambda function, or an error object. If your function returns its own statusCode in the payload, that value describes the function result and is separate from the top-level connector statusCode.

If your Lambda function includes a statusCode in its response body, access it with response.payload.statusCode rather than response.statusCode.

You can use an output mapping to map the response:

  1. Use Result variable to store the response in a process variable. For example, myResultVariable.
  2. Use Result expression to map fields from the response into process variables. For example:
= {
"myNewReportStatusCode": response.statusCode,
"myNewReportExecutedVersion": response.executedVersion,
"myNewReportPayload": response.payload
}

Further resources​