Skip to main content

AWS Lambda Integration with Orkes Conductor

Available since
  • v5.3.0 and later

Integrating AWS Lambda with Orkes Conductor lets you build workflows that interact with your AWS Lambda using the following operations:

  • List Functions
  • Create Function
  • Get Function Details
  • Update Function Configuration
  • Invoke Function
  • Delete Function

This guide explains how to set up and use the integration. Here's an overview:

  1. Get the required credentials from AWS.
  2. Configure a new AWS Lambda integration in Orkes Conductor.
  3. Use AWS Lambda integration in workflows.

Step 1: Get the AWS credentials

To integrate AWS Lambda with Orkes Conductor, create an IAM user in AWS and generate access keys with the required Lambda permissions.

To create an IAM user and generate access keys:

  1. Log in to the AWS Console and search for IAM in the top search bar.
  2. In the left navigation, go to Access Management > IAM Users.
  3. Select an existing user or select Create user to create a new one.
  4. Select the user, go to the Security credentials tab, scroll to Access keys, and select Create access key.
  5. For Use case, select Application running outside AWS and complete the creation flow.
  6. On the final screen, copy the Access key and Secret access key. Store these securely as the secret access key is shown only once.

To attach IAM policy to the user:

  1. Go to Access Management > IAM Users and select your user.
  2. Go to the Permissions tab, and select Add permissions > Create inline policy.
  3. Switch to the JSON tab, and paste a policy granting at minimum: lambda:InvokeFunction, lambda:ListFunctions, lambda:GetFunction, lambda:CreateFunction, lambda:UpdateFunctionConfiguration, lambda:DeleteFunction, and iam:PassRole. For example:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"lambda:InvokeFunction",
"lambda:ListFunctions",
"lambda:GetFunction",
"lambda:CreateFunction",
"lambda:UpdateFunctionConfiguration",
"lambda:DeleteFunction"
],
"Resource": "arn:aws:lambda:*:*:function:*"
},
{
"Effect": "Allow",
"Action": [
"iam:PassRole"
],
"Resource": "arn:aws:iam::*:role/lambda-execution-role"
}
]
}
  1. Give the policy a name and select Create policy.
note

If your Orkes Conductor instance runs on AWS (EC2 or ECS), you can skip creating access keys. Instead, attach an IAM role with the required Lambda permissions to your EC2 instance or ECS task, and leave the Access Key ID and Secret Access Key fields empty when configuring the integration in Conductor. Conductor will automatically use the role's credentials.

Step 2: Add an integration for AWS Lambda

After obtaining the credentials, add an AWS Lambda integration to your Conductor cluster.

To create an integration:

  1. Go to Integrations > Connected Apps from the left navigation menu on your Conductor cluster.
  2. Select + New integration.
  3. In the Cloud section, choose AWS Lambda.
  4. Select + Add and enter the following parameters:
ParameterDescriptionRequired/Optional
Integration nameA name for the integration.Required.
Access Key IDThe AWS Access Key ID generated from Step 1.

If left empty, it uses any AWS credentials already configured in the environment (environment variables, credentials file, or IAM role).
Optional.
Secret Access KeyThe Secret Access Key generated from Step 1.

If left empty, it uses any AWS credentials already configured in the environment (environment variables, credentials file, or IAM role).
Optional.
RegionThe AWS region where your Lambda functions are deployed. For example us-east-1.Required.
DescriptionA description of the integration.Required.

AWS Lambda Integration with Orkes Conductor

  1. (Optional) Toggle the Active button off if you don't want to activate the integration instantly.
  2. Select Save.

Step 3: Use AWS Lambda integration in workflows

Once the integration is ready, this can be used directly within the workflows.

To use AWS Lambda integration in a workflow:

  1. Go to Definitions > Workflow from the left navigation menu on your Conductor cluster.
  2. Select + Define workflow.
  3. In your workflow, select the (+) icon and select Connected Apps.

Adding AWS Lambda Integration in Conductor workflow

  1. In Add Task panel on the right, search for AWS Lambda, and select the integration created in Step 2.

The following operations are available for use with this integration.

OperationDescription
List FunctionsLists all Lambda functions in your AWS account.
Create FunctionCreates a new Lambda function from a base64-encoded ZIP package.
Get Function DetailsRetrieves full configuration details of a specific Lambda function, including runtime, handler, IAM role, memory, timeout, and code location.
Update Function ConfigurationUpdates the configuration of an existing Lambda function, without redeploying code.
Invoke FunctionInvokes a Lambda function with a JSON payload. Supports synchronous (RequestResponse) and asynchronous (Event) invocation types.
Delete FunctionPermanently deletes a Lambda function from your AWS account.
  1. Select the required operation, configure the parameters, and select Save > Confirm.
  2. Select Execute to run the workflow.

For the complete operations parameters and output reference, see AWS Lambda Operations Reference.