Skip to main content
Version: 3.0 (next)

AWS Lambda Nodes

AWS Lambda nodes call serverless functions from inside a pipeline — run inline transforms and ML inference, fire async events to background workers, or list functions for discovery. All three node types route through your configured AWS Lambda connection.

Configuration Quick Reference​

FieldWhat you chooseDetails
ParametersConnection, Function, Function Parameters, Timeout OverrideSelect the connection profile, function, configure function parameters with expression support, and optionally override timeout.
SettingsDescription, Timeout (seconds), Retry on Timeout, Retry on Fail, On ErrorNode description, maximum execution time, retry behavior on timeout or failure, and error handling strategy. All execution settings default to pipeline-level values.

AWS Lambda Invoke Node​

AWS Lambda Invoke node

AWS Lambda Invoke Node

Invoke a Lambda function synchronously (InvocationType=RequestResponse) and return its response payload to the pipeline. Use this when downstream nodes depend on the function's result — transforms, enrichments, ML inference, or reference-data lookups.

Supported Function Types:

Function NamePurposeCommon Use Cases
InvokeSynchronously invoke a Lambda and return the decoded JSON payloadInline transforms, ML inference, reference-data lookups, permission probes via Dry Run

How It Works​

When the pipeline executes, the Invoke node:

  1. Resolves the function name/ARN, qualifier, and JSON payload (templated values are evaluated against pipeline context).
  2. Calls Lambda with InvocationType=RequestResponse (or DryRun when Dry Run is enabled).
  3. Decodes the response payload as JSON and surfaces it as result.payload.
  4. If the Lambda code throws, AWS returns HTTP 200 with a FunctionError. The node treats that as a failure: it fails with the FunctionError category and the function's error payload in its error message, and its On Error setting decides what happens next (see Run status and On Error).
  5. When Log Type = Tail, the last 4 KB of CloudWatch logs is included in metadata.logs.

For full parameter details, see the Invoke function documentation.


AWS Lambda Invoke Async Node​

AWS Lambda Invoke Async node

AWS Lambda Invoke Async Node

Fire a Lambda function asynchronously (InvocationType=Event). AWS queues the request and returns 202 Accepted immediately; the function executes in the background. Use this when the pipeline doesn't need to wait for the result — fan-out events, background processing, decoupled side-effects.

Supported Function Types:

Function NamePurposeCommon Use Cases
Invoke AsyncFire-and-forget Lambda invocation that returns immediately on queue acknowledgmentEvent fan-out, background jobs, slow side-effects decoupled from the pipeline path

How It Works​

  1. Resolves the function name/ARN, qualifier, and payload.
  2. Calls Lambda with InvocationType=Event.
  3. Returns success as soon as AWS acknowledges the queue (HTTP 202). The node's data contains only {statusCode: 202} — there is no payload.
  4. The actual function execution (and any failures) are handled by AWS — check the function's CloudWatch logs and any configured DLQ / EventBridge destination for outcomes.

For full parameter details, see the Invoke Async function documentation.

Async failures don't surface in MaestroHub

Async invocations succeed as soon as AWS queues them. If the function later errors, AWS retries and routes failures to the configured async destination — MaestroHub never sees the result. Wire a DLQ or EventBridge target on the Lambda side if you need failure visibility.


AWS Lambda List Functions Node​

AWS Lambda List Functions node

AWS Lambda List Functions Node

List the Lambda functions visible to the configured credentials. Useful for discovery pipelines, inventory audits, or feeding a downstream Smart Connector that fans out invocations across many functions.

Supported Function Types:

Function NamePurposeCommon Use Cases
List FunctionsPage through Lambda function metadata for the connection's region and accountFunction discovery, inventory audits, dynamic fan-out into Smart Connector or For-Each

How It Works​

  1. Calls lambda:ListFunctions with the configured maxItems and optional marker.
  2. Returns the page as result.functions (each entry has functionName, functionArn, runtime, role, handler, version, description, plus lastModified, timeout, and memorySize when available), along with result.count and result.nextMarker when more pages exist.
  3. To paginate across all functions, feed result.nextMarker from one execution into the marker parameter of the next — typically with a For-Each Loop or a recursive Smart Connector pattern.

For full parameter details, see the List Functions function documentation.


Output​

Every AWS Lambda node delivers its data under result, and execution facts (success, functionId, durationMs, timestamp) under _metadata:

NodeExpressionDescription
Invoke$node["Name"].result.statusCodeLambda's HTTP status — 200 for a RequestResponse invoke, 204 for a dry run
$node["Name"].result.payloadThe function's response decoded from JSON, the raw string when it was not JSON, or null when the function returned nothing. Read fields off it: $node["Name"].result.payload.orderId
Invoke Async$node["Name"].result.statusCode202 when AWS accepted the invocation
List Functions$node["Name"].result.functionsOne object per function: functionName, functionArn, runtime, role, handler, version, description, plus lastModified, timeout and memorySize when AWS returned them. $node["Name"].result.functions[0].functionArn reads the first
$node["Name"].result.countHow many functions this call returned
$node["Name"].result.nextMarkerWhere the listing stopped — present only when AWS reported more functions than this call returned; pass it back as the marker to continue
Async gives you nothing but the acknowledgement

Invoke Async returns 202 and no body — AWS never sends the function's own output back on this path. If a downstream node needs the result, use the synchronous Invoke node instead.

The invoke's AWS detail rides under _metadata

The call's own facts ride along under _metadata next to the four every connected node carries: $node["Name"]._metadata.executedVersion (the version AWS ran), $node["Name"]._metadata.logs (the tail log, when the node asked for it), $node["Name"]._metadata.functionName, and _metadata.method, _metadata.connectionId and _metadata.protocol naming the operation and the connection it ran over. A function-level error fails the node, and its On Error setting decides whether the run stops or continues; the AWS FunctionError category is in the failure message, not in an expression.

Need to set up the connection first?

The AWS Lambda nodes require an existing AWS Lambda connection. See the AWS Lambda Integration Guide for connection setup, and the AWS Lambda IAM Setup guide for creating the access key the connection uses.