Skip to content
This repository has been archived by the owner on Apr 3, 2024. It is now read-only.

[DEPRECATED] Amazon Connect Wisdom - S3 Sync: Quickly deploy all of necessary resources to create a Wisdom Knowledge Base using Amazon S3 as its data source. Contact center administrators can easily create, update, and remove knowledge content using familiar Amazon S3 object actions.

License

Notifications You must be signed in to change notification settings

aws-samples/amazon-connect-wisdom-s3-sync

[DEPRECATED] Amazon Connect Wisdom S3 Sync

As of April 1st, 2024 this repository Amazon Connect - Wisdom S3 Sync has been archived and is not currently supported.

Amazon Q in Connect features a native Integration with Amazon S3. Please refer to the Amazon Connect Admin Guide: https://docs.aws.amazon.com/connect/latest/adminguide/enable-q.html to enable Amazon Q in Connect and Integrate with Amazon S3.


Table of Contents

Description

Amazon Connect Wisdom, a feature of Amazon Connect, delivers agents the information they need, reducing the time spent searching for answers. Amazon Connect Wisdom provides customers with a number of APIs to programmatically configure their knowledge base and perform knowledge management operations at scale.

Amazon Connect Wisdom - S3 Sync enables customers to quickly deploy all of necessary resources to create a Wisdom Knowledge Base using Amazon S3 as its data source. Contact center administrators can easily create, update, and remove knowledge content using familiar Amazon S3 object actions. Using this solution, unstructured knowledge content (TXT/HTML/PDF/DOCX) stored on Amazon S3 are versioned with unique identifiers to ensure content revisions can be rolled back easily using the Amazon S3 Console.

Tenets

The following tenets guide the development of Amazon Connect Wisdom S3 Sync:

  • Accelerate Customer Adoption: Reduce friction for customers adopting Amazon Connect Wisdom; automating API calls and complex functions, all deployed with a single AWS CloudFormation template.
  • Composable and Reusable: Ensure the deployment artifacts are composed of unit-tested "building blocks" that can be easily understood and reused by customers.
  • Best Practices: Leverage software and security best practices throughout the solution, limit external dependencies, handle failure, and ensure least privilege permissions.

Features

This project features a single CloudFormation template that will deploy Amazon Connect Wisdom configured with a custom knowledge base source (S3). It provisions Amazon Connect Wisdom Resources, an Amazon S3 bucket (versioned), an Amazon SQS queue, AWS Lambda functions automatically. This project will utilize resource tagging for all resources that were created by this deployment to ensure that all resources created by this deployment will be deleted cleanly.

Project Status

Open Source Release

Architecture

Wisdom S3 Sync Diagram

Main Template (2023-10-04 Version) Amazon Connect Wisdom S3 Sync - Main Template

UPCOMING Optional Templates/Components:

  • Wisdom Info
  • Wisdom Cleanup
  • Wisdom Sample Upload
  • Contact Flow - Contact Lens (Realtime) + Amazon Connect Wisdom

Authors

Taylan Unal, Connect Specialist Solutions Architect - Lead Developer/Project Owner

Acknowledgement

Naveen Narayan, Principal Connect Specialist Solutions Architect

  • Provided reference code and artifacts to manage Amazon Connect Wisdom Integrations.

Angela Yu, Allison Marshall, Girish Mallenahally, and Kevin Neumann

Contributing

Please see CONTRIBUTING.md

Security

See CONTRIBUTING for more information.

License

This library is licensed under the MIT-0 License. See the LICENSE file.

Related Resources


Getting Started

The following instructions will detail deploying the amazon-connect-wisdom-s3-sync-template.yaml template on your AWS Account.

Prerequisites

  • An AWS Account
  • An AWS User with AdministratorAccess IAM Policy
  • An existing Amazon Connect Instance deployed in any AWS Region where Amazon Connect Wisdom is supported.
  • Familiarity with the AWS Management Console, AWS CloudFormation, and Amazon Connect

Key Considerations

Existing Resources Policy

This Deployment WILL NOT:

  1. Delete any existing Amazon Connect Wisdom Resources (Wisdom Assistants, Knowledge Base, Assistant Associations) that were not created by this template.
  2. Delete the Amazon S3 Bucket created by this deployment, or any of the files uploaded to it.

AWS Resources Created by this Deployment

  • Amazon S3 - An Amazon S3 Bucket to store and manage knowledge base content.
  • Amazon SQS - An Amazon SQS Queue to queue Amazon S3 Object events, preventing API Throttling.
  • AWS Lambda - AWS Lambda functions that will (1)Integrate Wisdom Constructs with Amazon Connect and (2) Handle the synchronization of knowledge base content between Amazon S3 and Amazon Connect Wisdom.

AWS Resources Deleted by this Deployment

  • ONLY those Wisdom Resources - Wisdom Assistant, Knowledge Base, and Assistant Association that were initially created by this deployment will be removed when the stack is deleted.
  • ONLY Amazon Connect Integration Associations (WISDOM_ASSISTANT, WISDOM_KNOWLEDGE_BASE) created by this deployment will be removed when the stack is deleted.

AWS CloudFormation Deployment

In this section, we will deploy an AWS CloudFormation template that will create Amazon Connect Wisdom constructs, integrate those Wisdom resources with an Amazon Connect Instance, and deploy the required artifacts to use Amazon S3 as a knowledge base for Amazon Connect Wisdom.

Step 1: Download the Amazon Connect Wisdom S3 Sync CloudFormation Template Navigate to the amazon-connect-wisdom-s3-sync repository root directory. Open the amazon-connect-wisdom-s3-sync-template.yml file and download the file to your local machine.

Step 2: Navigate to AWS CloudFormation Navigate to AWS CloudFormation on your AWS Management Console (Ex. https://us-east-1.console.aws.amazon.com/cloudformation/)

Step 3: Create a CloudFormation Stack

  1. On the AWS CloudFormation Landing page, select Create Stack
  2. Prerequisite - Prepare template - In this section, choose Template is ready
  3. Specify template - choose Upload a template file and select the Choose file button to upload a CloudFormation template from your local machine.
    1. Upload the template for this deployment that you've downloaded, or download the CloudFormation template now here
  4. To accept your settings, choose Next to proceed to the Specify stack details page.

Step 4: Specify Stack Details In this section, we'll specify the After selecting a stack template, specify the stack name and values for the parameters that were defined in the deployment template.

  1. Stack Name: Choose a stack name like: wisdom-s3-sync or amazon-connect-bootcamp-wisdom
    1. The stack name is an identifier that helps you find a particular stack from a list of stacks. A stack name can contain only alphanumeric characters (case-sensitive) and hyphens. It must start with an alphabetic character and can't be longer than 128 characters.
  2. AmazonConnectInstanceARN: Enter your Amazon Connect Instance ARN - Find your Amazon Connect instance ID/ARN
    1. For the best results, specify an Amazon Connect Instance without an existing Wisdom Deployment
  3. WisdomS3BucketName: Provide a globally unique name for a new Amazon S3 Bucket, which will be used to store knowledge content
    1. Do not enter an existing S3 bucket. This process will create a new one in the account, and will require you to retry the process if a S3 bucket with this name already exists.
    2. We recommend making this value unique, such as firstname-date-wisdom-s3-bucket as long as the name is less than 63 characters and all lowercase. You can find all the S3 bucket naming rules here.

After configuring your Stack name and parameters, click the Next button to continue.

Step 5: Configure stack options Leave all options on the Step 3 - Configure stack options page as defaults, scroll to the bottom of the page, and click the Next button to continue.

Step 6: Review The final step before your stack is launched is to review the values entered while creating the stack. On the Review page, review the details of your stack.

  1. If you need to change any of the values before launching the stack, choose Edit on the appropriate section to go back to the page that has the setting that you want to change.
  2. After you review the stack creation settings, choose Create stack to launch your stack.
NOTE: This AWS CloudFormation deployment should take less than 5 minutes to complete.
  1. Once the stack was successfully deployed, you will see the stack status change to CREATE_COMPLETE.

Uploading Knowledge Content to Amazon S3

After the stack has deployed successfully, we will upload that was created as a part of this deployment.

After the AWS CloudFormation Stack from the previous section has successfully deployed, you can manage knowledge content by (Creating, Updating, Deleting) Knowledge content files (HTML/PDF/DOCX) files on the S3 Bucket created by the deployment.

  1. Sign in to the AWS Management Console and open the Amazon S3 console at https://console.aws.amazon.com/s3/

  2. From the list of Amazon S3 Buckets, you should see new Amazon S3 bucket created by the CloudFormation template. Select the bucket name to open it.

  3. Download the following sample file:password-reset.html to upload into your Amazon S3 bucket. . This HTML file is from the Amazon Connect Admin Guide (https://docs.aws.amazon.com/connect/latest/adminguide/password-reset.html), and provides guidance on how to reset an Amazon Connect user's password.

  4. Drag and drop the password-reset.html file into your Amazon S3 bucket. Select Upload at the bottom of the screen.

  5. You will see a green banner showing Upload succeeded. Select close.

  6. Once complete, you can access this document within your Amazon Connect Agent Workspace by Search for content using Amazon Connect Wisdom using phrases like "password" or "reset my password".

You have successfully deployed Amazon Connect Wisdom on your Amazon Connect instance and uploaded knowledge content to your Amazon S3 Knowledge Base!

About

[DEPRECATED] Amazon Connect Wisdom - S3 Sync: Quickly deploy all of necessary resources to create a Wisdom Knowledge Base using Amazon S3 as its data source. Contact center administrators can easily create, update, and remove knowledge content using familiar Amazon S3 object actions.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages