If you're looking for a more advanced use case of OpenAI ChatGPT via voice interface, please also see Amazon Chime SMA ChatGPT IVR for Square Retail.
This project demonstrates an integration of Amazon Connect to OpenAI ChatGPT in both English and Spanish via an AWS Lex Bot. There are some examples available in NodeJS and Python that demonstrate a basic integration with some screen shots, but there isn't a fully working example (with chat context) that can be easily deployed via CloudFormation, including the call flow itself and the glue to bring it together with minimal console interaction.
The basic strategy is to deploy a normal LexV2 Bot with intents to handle a couple cases (like help, talk to someone, and hanging up on the caller) and use the AMAZON.FallbackIntent with a Lambda CodeHook to send requests to ChatGPT and also maintain the Chat session so you can interact just like the web client. For example, you can ask "What is the biggest lake in MN", then subsequently you ask "how deep is it". Because all your prompts are saved to a Dynamo DB Table as you interact, the context is maintained and ChatGPT knows the context of each question. The project uses your callerID and today's date for session context. So, you can ask a question, hang up, call back, and ChatGPT will still have the context of what you said in the prior call. When you call the next day, you are starting with a fresh context.
Because tearing down and building Connect instances is rate-limited and can lock you out for 30 days, you will need to pass in an instance ID of an existing Amazon Connect instance to deploy this project. You will also need to allocate a phone number and associate it with the created call flow. You can, of course, use an existing phone number in your instance and temporarily point it at the "connect-chatgpt-gptflow". If you are deploying this, the assumption would be that you are familiar enough with Amazon Connect to bring up an instance and allocate a phone number or you already have an existing instance. You will also need an OpenAI API key saved to Parameter Store (OPENAI_API_KEY is the default in the template).
Other features:
Other goals of the project (technical focus):
sam build
and then sam deploy
) for simple deployment of the project.When the call arrives at the Connect Call Flow we call a Lambda Function:
const {SNSClient, PublishCommand} = require("@aws-sdk/client-sns");
const client = new SNSClient();
exports.handler = async function (event) {
const params = {
Message: JSON.stringify(event),
TopicArn: '${NewCallTopic}'
};
const response = await client.send(new PublishCommand(params));
return {status: 'OK'};
};
Checking to see if background process has something we need to act on:
At this point in the call, the language is known and control is now with the Lex Bot:
This project contains source code and supporting files for a serverless application that you can deploy with the SAM CLI. It includes the following files and folders:
The Serverless Application Model Command Line Interface (SAM CLI) is an extension of the AWS CLI that adds functionality for building and testing Lambda applications. Before proceeding, it is assumed you have valid AWS credentials setup with the AWS CLI and permissions to perform CloudFormation stack operations.
To use the SAM CLI, you need the following tools.
If you have brew installed then
brew install aws-sam-cli
brew install corretto@21
brew install maven
To build and deploy, run the following in your shell after you have cloned the repo. Note: it may be easier to edit the template.yaml and change the defaults for the parameteres to taste before running the build like the Connect Instance ID, then you won't have to specify the "--parameter-overrides" indicated below.
./init.bash
sam build
sam deploy --parameter-overrides 'ParameterKey=CONNECTID,ParameterValue=<your connect instance ID>'
The first command will set up some required components like the V4 Java Events library that is not published yet (this is a sub-module) and install the parent POM used by Lambda functions. The second command will build the source of the application. The third command will package and deploy the project to AWS as a CloudFormation Stack. You must set the value of your Connect Instance ID (the UUID last of the ARN) or edit the default value in the template. You will see the progress as the stack deploys. As metntioned earlier, you will need to put your OpenAI API Key into parameter store or the deploy will error, but it will give you an error message that tells you there is no value for "OPENAI_API_KEY" in the Parameter Store.
Do not forget to delete the stack or you will continue to incure AWS charges for the resources
.
Once you have deployed the project, in the Amazon Connect Console, you will need to associate the flow with a phone number.
To simplify troubleshooting, SAM CLI has a command called sam logs
. sam logs
lets you fetch logs generated by the deployed Lambda functions from the command line. In addition to printing the logs on the terminal, this command has several nifty features to help you quickly see what's going on with the demo.
sam logs --tail
Example:
2023/06/02/[72]88ab219a63d343d294d0a9947e8ab36a 2023-06-02T11:27:22.355000 RESTORE_START Runtime Version: java:11.v20 Runtime Version ARN: arn:aws:lambda:us-east-1::runtime:b8b295733fb8ae6769e0fb039181ce76e1f54a4d04bb5ca7ded937bb0d839109
2023/06/02/[72]88ab219a63d343d294d0a9947e8ab36a 2023-06-02T11:27:22.719000 RESTORE_REPORT Restore Duration: 398.97 ms
2023/06/02/[72]88ab219a63d343d294d0a9947e8ab36a 2023-06-02T11:27:22.722000 START RequestId: 8c360c87-d4b7-4423-b5f3-af02be3c1763 Version: 72
2023/06/02/[72]88ab219a63d343d294d0a9947e8ab36a 2023-06-02T11:27:22.974000 8c360c87-d4b7-4423-b5f3-af02be3c1763 DEBUG ChatGPTLambda:54 - {"messageVersion":"1.0","invocationSource":"FulfillmentCodeHook","inputMode":"Speech","responseContentType":"text/plain; charset=utf-8","sessionId":"ecd79064-d807-4c2e-9bc6-a75a91284fdd","inputTranscript":"largest lake in minnesota","bot":{"id":"YWKVXZGMDJ","name":"connect-chatgpt-Lex-Bot","aliasId":"0OJEBBWKI2","aliasName":"Latest","localeId":"en_US","version":"1"},"interpretations":[{"intent":{"confirmationState":"None","name":"FallbackIntent","slots":{},"state":"ReadyForFulfillment","kendraResponse":null},"nluConfidence":null,"sentimentResponse":null},{"intent":{"confirmationState":"None","name":"About","slots":{},"state":"ReadyForFulfillment","kendraResponse":null},"nluConfidence":0.58,"sentimentResponse":null},{"intent":{"confirmationState":"None","name":"Steve","slots":{},"state":"ReadyForFulfillment","kendraResponse":null},"nluConfidence":0.51,"sentimentResponse":null},{"intent":{"confirmationState":"None","name":"Quit","slots":{},"state":"ReadyForFulfillment","kendraResponse":null},"nluConfidence":0.38,"sentimentResponse":null}],"proposedNextState":null,"requestAttributes":{"x-amz-lex:accept-content-types":"PlainText,SSML","x-amz-lex:channels:platform":"Connect"},"sessionState":{"activeContexts":null,"sessionAttributes":{"CustomerNumber":"+16128140714","InstanceArn":"arn:aws:connect:us-east-1:364253738352:instance/f837ec93-b6e5-4429-acb7-f698fff0148c"},"runtimeHints":null,"dialogAction":null,"intent":{"confirmationState":"None","name":"FallbackIntent","slots":{},"state":"ReadyForFulfillment","kendraResponse":null},"originatingRequestId":"33b39120-ccaf-4ca4-b5d0-4e4bc1c7b86d"},"transcriptions":[{"transcription":"largest lake in minnesota","transcriptionConfidence":0.92,"resolvedContext":{"intent":"FallbackIntent"},"resolvedSlots":{}},{"transcription":"the largest lake in minnesota","transcriptionConfidence":0.82,"resolvedContext":{"intent":null},"resolvedSlots":{}},{"transcription":"largest lake and minnesota","transcriptionConfidence":0.72,"resolvedContext":{"intent":null},"resolvedSlots":{}}]}
2023/06/02/[72]88ab219a63d343d294d0a9947e8ab36a 2023-06-02T11:27:22.975000 8c360c87-d4b7-4423-b5f3-af02be3c1763 DEBUG ChatGPTLambda:56 - Intent: FallbackIntent
2023/06/02/[72]88ab219a63d343d294d0a9947e8ab36a 2023-06-02T11:27:22.977000 8c360c87-d4b7-4423-b5f3-af02be3c1763 DEBUG ChatGPTLambda:71 - Java Locale is en_US
2023/06/02/[72]88ab219a63d343d294d0a9947e8ab36a 2023-06-02T11:27:23.010000 8c360c87-d4b7-4423-b5f3-af02be3c1763 DEBUG ChatGPTLambda:99 - Start Retreiving Session State
2023/06/02/[72]88ab219a63d343d294d0a9947e8ab36a 2023-06-02T11:27:23.656000 8c360c87-d4b7-4423-b5f3-af02be3c1763 DEBUG ChatGPTLambda:101 - End Retreiving Session State
2023/06/02/[72]88ab219a63d343d294d0a9947e8ab36a 2023-06-02T11:27:23.672000 8c360c87-d4b7-4423-b5f3-af02be3c1763 DEBUG ChatGPTLambda:124 - Start API Call to ChatGPT
2023/06/02/[72]88ab219a63d343d294d0a9947e8ab36a 2023-06-02T11:27:24.952000 8c360c87-d4b7-4423-b5f3-af02be3c1763 DEBUG ChatGPTLambda:126 - End API Call to ChatGPT
2023/06/02/[72]88ab219a63d343d294d0a9947e8ab36a 2023-06-02T11:27:24.953000 8c360c87-d4b7-4423-b5f3-af02be3c1763 DEBUG ChatGPTLambda:127 - ChatCompletionResult(id=chatcmpl-7MxECAVkjCnZl8KDsZxPNZ5vJ264G, object=chat.completion, created=1685705244, model=gpt-3.5-turbo-0301, choices=[ChatCompletionChoice(index=0, message=ChatMessage(role=assistant, content=The largest lake in Minnesota is Lake Superior.), finishReason=stop)], usage=Usage(promptTokens=46, completionTokens=9, totalTokens=55))
2023/06/02/[72]88ab219a63d343d294d0a9947e8ab36a 2023-06-02T11:27:24.954000 8c360c87-d4b7-4423-b5f3-af02be3c1763 DEBUG ChatGPTLambda:138 - Start Saving Session State
2023/06/02/[72]88ab219a63d343d294d0a9947e8ab36a 2023-06-02T11:27:25.046000 8c360c87-d4b7-4423-b5f3-af02be3c1763 DEBUG ChatGPTLambda:141 - End Saving Session State
2023/06/02/[72]88ab219a63d343d294d0a9947e8ab36a 2023-06-02T11:27:25.052000 8c360c87-d4b7-4423-b5f3-af02be3c1763 DEBUG ChatGPTLambda:202 - Response is {"sessionState":{"activeContexts":null,"sessionAttributes":{"CustomerNumber":"+16128140714","InstanceArn":"arn:aws:connect:us-east-1::instance/f837ec93-b6e5-4429-acb7-f698fff0148c"},"runtimeHints":null,"dialogAction":{"slotToElicit":null,"type":"ElicitIntent"},"intent":null,"originatingRequestId":null},"messages":[{"contentType":"PlainText","content":"The largest lake in Minnesota is Lake Superior. What else can I help you with?","imageResponseCard":null}],"requestAttributes":null}
2023/06/02/[72]88ab219a63d343d294d0a9947e8ab36a 2023-06-02T11:27:25.060000 END RequestId: 8c360c87-d4b7-4423-b5f3-af02be3c1763
2023/06/02/[72]88ab219a63d343d294d0a9947e8ab36a 2023-06-02T11:27:25.060000 REPORT RequestId: 8c360c87-d4b7-4423-b5f3-af02be3c1763 Duration: 2338.66 ms Billed Duration: 2521 ms Memory Size: 3009 MB Max Memory Used: 173 MB Restore Duration: 398.97 ms Billed Restore Duration: 182 ms
^C CTRL+C received, cancelling...
You can find more information and examples about filtering Lambda function logs in the SAM CLI Documentation.
To delete the demo, use the SAM CLI. DO NOT FORGET TO RUN THIS OR YOU WILL CONTINUE TO BE CHARGED FOR AWS RESOURCES
.
Prior to deleting the stack, you should ensure you have disassociated any phone numbers pointing to the Connect Flow.
You can run the following:
sam delete
java-connect-lex-chatgpt$ sam deploy
Managed S3 bucket: aws-sam-cli-managed-default-samclisourcebucket
A different default S3 bucket can be set in samconfig.toml
Or by specifying --s3-bucket explicitly.
File with same data already exists at 80aa0fed5827b7a80fa780734e9c4c09, skipping upload
File with same data already exists at 8a3b643e9487598224c935024ab7de90, skipping upload
File with same data already exists at d6f1fe447c5e6b528ef821e8612cc5c3, skipping upload
Deploying with following values
===============================
Stack name : connect-chatgpt
Region : us-east-1
Confirm changeset : True
Disable rollback : False
Deployment s3 bucket : aws-sam-cli-managed-default-samclisourcebucket
Capabilities : ["CAPABILITY_IAM"]
Parameter overrides : {}
Signing Profiles : {}
Initiating deployment
=====================
Uploading to f837836f7f1a4ab21d28677fcf6980e3.template 36058 / 36058 (100.00%)
Waiting for changeset to be created..
CloudFormation stack changeset
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Operation LogicalResourceId ResourceType Replacement
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ Add BotAlias AWS::Lex::BotAlias N/A
+ Add BotRuntimeRole AWS::IAM::Role N/A
+ Add BotVersion AWS::Lex::BotVersion N/A
+ Add BucketKey AWS::KMS::Key N/A
+ Add BucketPolicy AWS::S3::BucketPolicy N/A
+ Add CallTable AWS::DynamoDB::Table N/A
+ Add ChatGPTAliasSNAPSTART AWS::Lambda::Alias N/A
+ Add ChatGPTRole AWS::IAM::Role N/A
+ Add ChatGPTVersion5e83da0577 AWS::Lambda::Version N/A
+ Add ChatGPT AWS::Lambda::Function N/A
+ Add ClosingPromptEnglish Custom::PromptCreator N/A
+ Add ClosingPromptSpanish Custom::PromptCreator N/A
+ Add ConnectFlow AWS::Connect::ContactFlow N/A
+ Add ContactUpdatePolicy AWS::IAM::ManagedPolicy N/A
+ Add ErrorPromptEnglish Custom::PromptCreator N/A
+ Add ErrorPromptSpanish Custom::PromptCreator N/A
+ Add HelpPromptEnglish Custom::PromptCreator N/A
+ Add HelpPromptSpanish Custom::PromptCreator N/A
+ Add LexBot AWS::Lex::Bot N/A
+ Add LexPromptEnglish Custom::PromptCreator N/A
+ Add LexPromptSpanish Custom::PromptCreator N/A
+ Add LexToChatGPTPerm AWS::Lambda::Permission N/A
+ Add LexToChatGPTSnapPerm AWS::Lambda::Permission N/A
+ Add LexV2ConnectIntegration AWS::Connect::IntegrationAssociation N/A
+ Add MainPrompt Custom::PromptCreator N/A
+ Add NewCallLookupAliasSNAPSTART AWS::Lambda::Alias N/A
+ Add NewCallLookupRole AWS::IAM::Role N/A
+ Add NewCallLookupSNSTriggerPermission AWS::Lambda::Permission N/A
+ Add NewCallLookupSNSTrigger AWS::SNS::Subscription N/A
+ Add NewCallLookupVersion23a3112bb1 AWS::Lambda::Version N/A
+ Add NewCallLookup AWS::Lambda::Function N/A
+ Add NewCallTopic AWS::SNS::Topic N/A
+ Add PromptBucket AWS::S3::Bucket N/A
+ Add PromptCreatorRole AWS::IAM::Role N/A
+ Add PromptCreator AWS::Lambda::Function N/A
+ Add SendToSNSConnectIntegration AWS::Connect::IntegrationAssociation N/A
+ Add SendToSNSRole AWS::IAM::Role N/A
+ Add SendToSNS AWS::Lambda::Function N/A
+ Add SessionTable AWS::DynamoDB::Table N/A
+ Add SpanishPrompt Custom::PromptCreator N/A
+ Add TransferPromptEnglish Custom::PromptCreator N/A
+ Add TransferPromptSpanish Custom::PromptCreator N/A
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Changeset created successfully. arn:aws:cloudformation:us-east-1::changeSet/samcli-deploy1685703701/579fda5c-92d1-4c8a-9032-547725a47612
Previewing CloudFormation changeset before deployment
======================================================
Deploy this changeset? [y/N]: y
2023-06-02 06:02:07 - Waiting for stack create/update to complete
CloudFormation events from stack operations (refresh every 5.0 seconds)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ResourceStatus ResourceType LogicalResourceId ResourceStatusReason
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CREATE_IN_PROGRESS AWS::IAM::ManagedPolicy ContactUpdatePolicy -
CREATE_IN_PROGRESS AWS::KMS::Key BucketKey -
CREATE_IN_PROGRESS AWS::DynamoDB::Table SessionTable -
CREATE_IN_PROGRESS AWS::DynamoDB::Table CallTable -
CREATE_IN_PROGRESS AWS::IAM::Role BotRuntimeRole -
CREATE_IN_PROGRESS AWS::SNS::Topic NewCallTopic -
CREATE_IN_PROGRESS AWS::IAM::ManagedPolicy ContactUpdatePolicy Resource creation Initiated
CREATE_IN_PROGRESS AWS::IAM::Role BotRuntimeRole Resource creation Initiated
CREATE_IN_PROGRESS AWS::DynamoDB::Table SessionTable Resource creation Initiated
CREATE_IN_PROGRESS AWS::DynamoDB::Table CallTable Resource creation Initiated
CREATE_IN_PROGRESS AWS::KMS::Key BucketKey Resource creation Initiated
CREATE_IN_PROGRESS AWS::SNS::Topic NewCallTopic Resource creation Initiated
CREATE_COMPLETE AWS::SNS::Topic NewCallTopic -
CREATE_IN_PROGRESS AWS::IAM::Role SendToSNSRole -
CREATE_IN_PROGRESS AWS::IAM::Role SendToSNSRole Resource creation Initiated
CREATE_COMPLETE AWS::DynamoDB::Table SessionTable -
CREATE_COMPLETE AWS::DynamoDB::Table CallTable -
CREATE_COMPLETE AWS::IAM::ManagedPolicy ContactUpdatePolicy -
CREATE_IN_PROGRESS AWS::IAM::Role ChatGPTRole -
CREATE_IN_PROGRESS AWS::IAM::Role ChatGPTRole Resource creation Initiated
CREATE_COMPLETE AWS::IAM::Role BotRuntimeRole -
CREATE_IN_PROGRESS AWS::IAM::Role NewCallLookupRole -
CREATE_IN_PROGRESS AWS::IAM::Role NewCallLookupRole Resource creation Initiated
CREATE_IN_PROGRESS AWS::Lex::Bot LexBot -
CREATE_COMPLETE AWS::IAM::Role SendToSNSRole -
CREATE_IN_PROGRESS AWS::Lex::Bot LexBot Resource creation Initiated
CREATE_IN_PROGRESS AWS::Lambda::Function SendToSNS -
CREATE_IN_PROGRESS AWS::Lambda::Function SendToSNS Resource creation Initiated
CREATE_COMPLETE AWS::IAM::Role ChatGPTRole -
CREATE_COMPLETE AWS::Lambda::Function SendToSNS -
CREATE_COMPLETE AWS::IAM::Role NewCallLookupRole -
CREATE_IN_PROGRESS AWS::Lambda::Function ChatGPT -
CREATE_IN_PROGRESS AWS::Connect::IntegrationAssociation SendToSNSConnectIntegration -
CREATE_IN_PROGRESS AWS::Lambda::Function ChatGPT Resource creation Initiated
CREATE_IN_PROGRESS AWS::Lambda::Function NewCallLookup -
CREATE_IN_PROGRESS AWS::Connect::IntegrationAssociation SendToSNSConnectIntegration Resource creation Initiated
CREATE_COMPLETE AWS::Connect::IntegrationAssociation SendToSNSConnectIntegration -
CREATE_IN_PROGRESS AWS::Lambda::Function NewCallLookup Resource creation Initiated
CREATE_COMPLETE AWS::Lambda::Function ChatGPT -
CREATE_COMPLETE AWS::Lex::Bot LexBot -
CREATE_IN_PROGRESS AWS::Lambda::Permission LexToChatGPTPerm -
CREATE_IN_PROGRESS AWS::Lambda::Version ChatGPTVersion5e83da0577 -
CREATE_IN_PROGRESS AWS::Lambda::Permission LexToChatGPTPerm Resource creation Initiated
CREATE_IN_PROGRESS AWS::Lambda::Version ChatGPTVersion5e83da0577 Resource creation Initiated
CREATE_IN_PROGRESS AWS::Lex::BotVersion BotVersion -
CREATE_COMPLETE AWS::Lambda::Function NewCallLookup -
CREATE_IN_PROGRESS AWS::Lex::BotVersion BotVersion Resource creation Initiated
CREATE_IN_PROGRESS AWS::Lambda::Version NewCallLookupVersion23a3112bb1 -
CREATE_IN_PROGRESS AWS::Lambda::Version NewCallLookupVersion23a3112bb1 Resource creation Initiated
CREATE_COMPLETE AWS::Lambda::Permission LexToChatGPTPerm -
CREATE_COMPLETE AWS::Lex::BotVersion BotVersion -
CREATE_COMPLETE AWS::KMS::Key BucketKey -
CREATE_IN_PROGRESS AWS::S3::Bucket PromptBucket -
CREATE_IN_PROGRESS AWS::S3::Bucket PromptBucket Resource creation Initiated
CREATE_COMPLETE AWS::S3::Bucket PromptBucket -
CREATE_IN_PROGRESS AWS::S3::BucketPolicy BucketPolicy -
CREATE_IN_PROGRESS AWS::IAM::Role PromptCreatorRole -
CREATE_IN_PROGRESS AWS::IAM::Role PromptCreatorRole Resource creation Initiated
CREATE_IN_PROGRESS AWS::S3::BucketPolicy BucketPolicy Resource creation Initiated
CREATE_COMPLETE AWS::S3::BucketPolicy BucketPolicy -
CREATE_COMPLETE AWS::IAM::Role PromptCreatorRole -
CREATE_IN_PROGRESS AWS::Lambda::Function PromptCreator -
CREATE_COMPLETE AWS::Lambda::Version ChatGPTVersion5e83da0577 -
CREATE_IN_PROGRESS AWS::Lambda::Function PromptCreator Resource creation Initiated
CREATE_IN_PROGRESS AWS::Lambda::Alias ChatGPTAliasSNAPSTART -
CREATE_IN_PROGRESS AWS::Lambda::Alias ChatGPTAliasSNAPSTART Resource creation Initiated
CREATE_COMPLETE AWS::Lambda::Alias ChatGPTAliasSNAPSTART -
CREATE_COMPLETE AWS::Lambda::Version NewCallLookupVersion23a3112bb1 -
CREATE_IN_PROGRESS AWS::Lambda::Permission LexToChatGPTSnapPerm -
CREATE_IN_PROGRESS AWS::Lambda::Permission LexToChatGPTSnapPerm Resource creation Initiated
CREATE_IN_PROGRESS AWS::Lex::BotAlias BotAlias -
CREATE_IN_PROGRESS AWS::Lambda::Alias NewCallLookupAliasSNAPSTART -
CREATE_IN_PROGRESS AWS::Lex::BotAlias BotAlias Resource creation Initiated
CREATE_IN_PROGRESS AWS::Lambda::Alias NewCallLookupAliasSNAPSTART Resource creation Initiated
CREATE_COMPLETE AWS::Lambda::Alias NewCallLookupAliasSNAPSTART -
CREATE_COMPLETE AWS::Lex::BotAlias BotAlias -
CREATE_COMPLETE AWS::Lambda::Function PromptCreator -
CREATE_IN_PROGRESS AWS::SNS::Subscription NewCallLookupSNSTrigger -
CREATE_IN_PROGRESS AWS::Lambda::Permission NewCallLookupSNSTriggerPermission -
CREATE_IN_PROGRESS AWS::Connect::ContactFlow ConnectFlow -
CREATE_IN_PROGRESS AWS::Lambda::Permission NewCallLookupSNSTriggerPermission Resource creation Initiated
CREATE_IN_PROGRESS AWS::Connect::IntegrationAssociation LexV2ConnectIntegration -
CREATE_IN_PROGRESS AWS::SNS::Subscription NewCallLookupSNSTrigger Resource creation Initiated
CREATE_IN_PROGRESS Custom::PromptCreator LexPromptSpanish -
CREATE_IN_PROGRESS Custom::PromptCreator ClosingPromptSpanish -
CREATE_IN_PROGRESS Custom::PromptCreator TransferPromptEnglish -
CREATE_IN_PROGRESS Custom::PromptCreator TransferPromptSpanish -
CREATE_IN_PROGRESS Custom::PromptCreator ErrorPromptEnglish -
CREATE_IN_PROGRESS Custom::PromptCreator ErrorPromptSpanish -
CREATE_IN_PROGRESS Custom::PromptCreator ClosingPromptEnglish -
CREATE_COMPLETE AWS::SNS::Subscription NewCallLookupSNSTrigger -
CREATE_IN_PROGRESS Custom::PromptCreator HelpPromptEnglish -
CREATE_IN_PROGRESS Custom::PromptCreator MainPrompt -
CREATE_IN_PROGRESS Custom::PromptCreator LexPromptEnglish -
CREATE_IN_PROGRESS Custom::PromptCreator SpanishPrompt -
CREATE_IN_PROGRESS Custom::PromptCreator HelpPromptSpanish -
CREATE_IN_PROGRESS AWS::Connect::ContactFlow ConnectFlow Resource creation Initiated
CREATE_COMPLETE AWS::Connect::ContactFlow ConnectFlow -
CREATE_IN_PROGRESS AWS::Connect::IntegrationAssociation LexV2ConnectIntegration Resource creation Initiated
CREATE_COMPLETE AWS::Connect::IntegrationAssociation LexV2ConnectIntegration -
CREATE_COMPLETE AWS::Lambda::Permission LexToChatGPTSnapPerm -
CREATE_IN_PROGRESS Custom::PromptCreator ClosingPromptSpanish Resource creation Initiated
CREATE_IN_PROGRESS Custom::PromptCreator ClosingPromptEnglish Resource creation Initiated
CREATE_COMPLETE Custom::PromptCreator ClosingPromptSpanish -
CREATE_COMPLETE Custom::PromptCreator ClosingPromptEnglish -
CREATE_IN_PROGRESS Custom::PromptCreator SpanishPrompt Resource creation Initiated
CREATE_IN_PROGRESS Custom::PromptCreator LexPromptSpanish Resource creation Initiated
CREATE_COMPLETE Custom::PromptCreator SpanishPrompt -
CREATE_IN_PROGRESS Custom::PromptCreator TransferPromptSpanish Resource creation Initiated
CREATE_COMPLETE Custom::PromptCreator LexPromptSpanish -
CREATE_IN_PROGRESS Custom::PromptCreator ErrorPromptEnglish Resource creation Initiated
CREATE_COMPLETE Custom::PromptCreator TransferPromptSpanish -
CREATE_IN_PROGRESS Custom::PromptCreator ErrorPromptSpanish Resource creation Initiated
CREATE_IN_PROGRESS Custom::PromptCreator HelpPromptEnglish Resource creation Initiated
CREATE_IN_PROGRESS Custom::PromptCreator TransferPromptEnglish Resource creation Initiated
CREATE_IN_PROGRESS Custom::PromptCreator MainPrompt Resource creation Initiated
CREATE_IN_PROGRESS Custom::PromptCreator LexPromptEnglish Resource creation Initiated
CREATE_COMPLETE Custom::PromptCreator ErrorPromptEnglish -
CREATE_COMPLETE Custom::PromptCreator ErrorPromptSpanish -
CREATE_IN_PROGRESS Custom::PromptCreator HelpPromptSpanish Resource creation Initiated
CREATE_COMPLETE Custom::PromptCreator HelpPromptEnglish -
CREATE_COMPLETE Custom::PromptCreator TransferPromptEnglish -
CREATE_COMPLETE Custom::PromptCreator MainPrompt -
CREATE_COMPLETE Custom::PromptCreator LexPromptEnglish -
CREATE_COMPLETE Custom::PromptCreator HelpPromptSpanish -
CREATE_COMPLETE AWS::Lambda::Permission NewCallLookupSNSTriggerPermission -
CREATE_COMPLETE AWS::CloudFormation::Stack connect-chatgpt -
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Successfully created/updated stack - connect-chatgpt in us-east-1
If you have read down this far and you don't want to deploy this on your own, but would like to see it in action: