Bot (JSON file)
Lex Bot configuration. Deploy in Amazon Lex Console under Bots. Creates the natural language intents and utterances that contact flows reference.
ivr-router (Python file)
Lambda function code. Deploy in AWS Lambda Console. Create new function | paste code | configure layers and environment variables.
prompts (JSON file)
Prompt configuration file. Audio prompts upload to Amazon Connect Console under Prompts. Text-to-speech configs may be stored in S3 and referenced by Lambda.
prompts-api-uat (JavaScript file)
Lambda function for prompt management. Deploy in AWS Lambda Console as Node.js runtime. Handles CRUD operations for prompts.
routing-ddb-example-item (JSON file)
DynamoDB table structure. Deploy in DynamoDB Console. Create table first then use this JSON as template for items.
Contact Flow JSON files
Import directly into Amazon Connect Console. Go to Flows | Create flow | Import (top menu) | select JSON file.
Where do Lambdas get deployed?
AWS Lambda Console. Create function | select runtime (Python or Node.js) | paste code | configure timeout | memory | environment variables | and layers.
Where do Lex Bots get deployed?
Amazon Lex Console. Create bot | define intents | add utterances | build and publish. Then reference bot in contact flow Get customer input blocks.
Where do DynamoDB tables get deployed?
DynamoDB Console. Create table | define partition key and sort key | add items using JSON structure from example files.
Where do prompts get deployed?
Amazon Connect Console under Prompts for audio files. Or S3 bucket for dynamic prompt content referenced by Lambda.
Where do contact flows get deployed?
Amazon Connect Console under Flows. Import JSON files or create manually in flow designer.
What is the relationship between Lambda and Contact Flow?
Contact flow invokes Lambda using Invoke AWS Lambda block. Lambda returns attributes that contact flow uses for routing decisions.
What is the relationship between Lex and Contact Flow?
Contact flow uses Get customer input block with Lex bot. Lex interprets caller speech and returns intent to contact flow for branching.
What is the relationship between DynamoDB and Lambda?
Lambda queries DynamoDB tables to retrieve routing configurations | business hours | queue assignments. Returns data to contact flow as attributes.
What is the relationship between DynamoDB and Contact Flow?
No direct relationship. Contact flows cannot query DynamoDB directly. Must use Lambda as intermediary to query and return data.
Why did Bot file error when importing to Flows?
Bot is a Lex configuration not a contact flow. Different resource type that deploys to Amazon Lex Console not Amazon Connect Flows.
Why did ivr-router error when importing to Flows?
ivr-router is Python Lambda code not a contact flow JSON. Deploys to AWS Lambda Console not Amazon Connect Flows.
Why did routing-ddb-example-item error when importing to Flows?
DynamoDB item structure not a contact flow. Used to create table items in DynamoDB Console not imported to Amazon Connect.
Why did prompts-api-uat error when importing to Flows?
JavaScript Lambda code not a contact flow. Deploys to AWS Lambda Console as Node.js function.
What AWS services make up a production Amazon Connect solution?
Amazon Connect for flows and routing | AWS Lambda for business logic | Amazon Lex for NLP | DynamoDB for configuration data | S3 for prompts and storage | CloudWatch for logging.
What order should you deploy resources?
1 DynamoDB tables first | 2 Lambda functions second | 3 Lex bots third | 4 Contact flows last. Flows reference the other resources so they must exist first.
Why deploy DynamoDB first?
Lambda functions query DynamoDB tables. Tables must exist before Lambda can be tested or contact flows can work properly.
Why deploy Lambda before contact flows?
Contact flows invoke Lambda functions by ARN. Lambda must exist and be published before contact flow can reference it.
Why deploy Lex before contact flows?
Contact flows reference Lex bot by name and alias. Bot must be built and published before contact flow can use it.