Learn it in 5 minutes
HTMLAbout five minutes of reading
Connect does not debug your function. It branches.
Match the block's response validation. A string map is a flat object of strings. JSON validation allows nested JSON. The re:Post guidance says to keep the payload small, with 32 KB as the figure people hit, and to restrict values to characters Connect accepts when you are on a string map.
Print the ContactId. Correlate by time only if you forgot.
- Idempotent writes. Retries happen.
- Timeouts in the Lambda console must be higher than the block timeout or you will add a second failure mode.
- Cold starts count against the 8 seconds.
- Secrets stay in the function environment or in Secrets Manager, not in flow attributes.
Number on this page: Retries 3. On throttle or HTTP 500, until the block timeout
Glossary
- Lambda synchronous timeout At most 8 seconds. The function's own timeout can be longer. The flow still takes the Error or Timeout branch at 8 seconds.
- Lambda asynchronous mode The flow continues without waiting. You can wait up to 60 seconds with a Wait block. A sequence of Lambda calls must finish within 20 seconds.
- String map A flat object of string keys and string values. One of the two Lambda response shapes.
- CloudFormation AWS::Connect::ContactFlow A stack resource whose content is flow-language JSON. Use it to move a flow between instances.
Mind map
Open the Lambda mind map
Sister technologies
Most 'random' flow errors are a Lambda response that missed the timeout or the shape Connect accepts.
Config and troubleshooting
Returning a Python dict with numbers and lists to a string-map block.
Two pieces: a resource policy that trusts connect.amazonaws.com, and an integration association so the flow can select the function. The block still waits at most 8 seconds when InvocationType is SYNCHRONOUS.
Lambda functions IntegrationAssociation
CloudFormation study snippet
Resources:
InvokePermission:
Type: AWS::Lambda::Permission
Properties:
FunctionName: !Ref FlowHook
Action: lambda:InvokeFunction
Principal: connect.amazonaws.com
SourceArn: !GetAtt CampusInstance.Arn
LambdaAssociation:
Type: AWS::Connect::IntegrationAssociation
Properties:
InstanceId: !GetAtt CampusInstance.Id
IntegrationType: LAMBDA_FUNCTION
IntegrationArn: !GetAtt FlowHook.Arn
Integration map
Join records on ContactId. The integration map room lists the seams.
Cross-platform bridges
A CUCM calling search space is not a routing profile, but the profile is the closest idea of 'who can receive what'. A partition is not a Connect object. A UCCX CSQ and a UCCE skill group map to a queue. Precision steps map to routing criteria. A script, an Architect flow, and an Avaya vector map to a contact flow.
Open the mapping room
Future hooks
Hooks you can adopt later: EventBridge contact events, the CTR stream, agent events, Kinesis Video, Customer Profiles events, Cases, Show view, data tables, External Tool, and the flow language JSON in your pipeline. Live Sync and Agentic CX are the 2026 hooks for guided and agentic experiences.