Back to elevai-connect
1

Deploy Core elevai-connect

Get your production-ready Amazon Connect instance up and running in under 10 minutes

~10 minutes
Beginner

Overview

In this workshop, you'll deploy a complete, production-ready Amazon Connect contact center infrastructure using elevai-connect. By the end of this tutorial, you'll have:

A fully configured Amazon Connect instance
Complete storage configuration
70+ CloudWatch alarms
Amazon Q in Connect
Analytics data lake with Athena
Enterprise security features
1

Clone the Repository

First, clone the elevai-connect repository to your local machine:

bash
git clone https://github.com/DanBloy/elevai-connect.git
cd elevai-connect
2

Set Up Python Environment

Create and activate a Python virtual environment, then install the required dependencies:

bash
# Create virtual environment
python3 -m venv venv

# Activate virtual environment
# On macOS/Linux:
source venv/bin/activate

# On Windows:
venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt
3

Configure Pulumi

Initialize Pulumi and create your configuration file:

bash
# Login to Pulumi (use Pulumi Cloud or local backend)
pulumi login

# Copy the example configuration
cp Pulumi.dev.yaml.example Pulumi.dev.yaml

# Initialize your stack
pulumi stack init dev
4

Configure Your Instance

Edit Pulumi.dev.yaml to customize your deployment. Here are the critical settings you must configure:

yaml
# 1. Your AWS region
aws:region: eu-west-2  # Change to your preferred region

# 2. Email addresses for alerts
alerting:
  error_email: "your-email@example.com"

billing:
  notificationEmail: "your-email@example.com"

# 3. Unique Amazon Connect instance alias
# WARNING: This CANNOT be changed after deployment!
connect:
  instanceAlias: your-unique-alias  # Must be globally unique

# 4. Identity management type
# WARNING: This CANNOT be changed after deployment!
connect:
  identityManagementType: SAML  # Options: SAML or CONNECT_MANAGED

# 5. SAML Metadata file (OPTIONAL - can be updated post deployment)
connect:
  samlMetadataFile: "./path/to/saml/metadata.xml"

# 6. Monthly budget limit (for email alerts)
billing:
  monthlyBudgetLimit: "50"  # USD
5

Preview Your Deployment

Before deploying, preview what infrastructure will be created:

bash
pulumi preview

This will show you all the AWS resources that will be created, including:

  • Amazon Connect instance and related resources
  • S3 buckets for recordings, transcripts, and reports
  • DynamoDB tables for Amazon Q knowledge base
  • CloudWatch alarms and SNS topics
  • Lambda functions and IAM roles
  • Kinesis Data Streams for data streaming
  • AWS Budget for cost monitoring
6

Deploy to AWS

When you're ready, deploy your infrastructure:

bash
pulumi up

Pulumi will ask you to confirm the deployment. Type yes to proceed.

7

Verify Your Deployment

After deployment completes, verify your resources:

bash
# View all stack outputs
pulumi stack output

# View specific output
pulumi stack output connect_instance_arn

You can also verify in the AWS Console:

  1. 1.Open the AWS Console and navigate to Amazon Connect
  2. 2.You should see your new instance with the alias you specified
  3. 3.Navigate to CloudWatch → Alarms to see your monitoring setup
  4. 4.Check S3 to see the created storage buckets
8

Post-Deployment Manual Steps

Due to AWS API limitations, complete these steps manually in the AWS Console:

1

Enable Automated Interaction Logs

Navigate to AWS Console → Amazon Connect → Your instance → Flows

View documentation →
2

Enable Lex Bot Management & Analytics

In the same Flows section, enable Lex bot capabilities

View documentation →
3

Verify Next Generation Amazon Connect

Ensure this is enabled (default for new instances)

4

Configure SAML Authentication (if applicable)

Follow the comprehensive SAML setup guide

View documentation →

Video Walkthrough

Video tutorial coming soon!

A comprehensive video walkthrough of this workshop will be available here

Need Help?

If you encounter any issues or have questions: