Skip to main content

FlowConfig for Amazon Connect

CI/CD Pipeline npm version PyPI version View on Construct Hub

Empower your business users to manage Amazon Connect contact flow configurations without IT involvement.

FlowConfig is a third-party app for Amazon Connect that lets business users update customer messages, queue settings, and routing variables in real-time—without touching contact flows or deploying code.

FlowConfig Admin View

The Problem

Your contact center needs to respond quickly to changing conditions:

  • 🚨 Emergency closures require immediate routing changes
  • 🗓️ Seasonal hours need frequent prompt updates
  • 🌍 Multi-language support means managing dozens of message variants
  • 🏢 Multiple locations each need custom greetings and settings
  • ⏱️ Queue thresholds must adapt to call volume fluctuations

But every change requires:

  • Opening Amazon Connect contact flow designer
  • Finding and updating multiple text blocks
  • Testing changes
  • Deploying updates
  • Waiting for IT availability

There has to be a better way.

The Solution

FlowConfig separates configuration from logic. Your contact flow designers build reusable flows once, and business users manage the values that drive them.

What You Can Configure

Variables - Settings that control contact flow behavior:

  • Boolean flags: closure, offerCallback, holidayMode
  • Numbers: maxWaitTime, queueDepth, transferTimeout
  • Text values: skillLevel, routingMode, priority

Prompts - Customer-facing messages:

  • Multi-language support (English, Spanish, French, etc.)
  • Separate voice and chat content
  • Text-to-speech preview before going live

Who Uses FlowConfig

👔 Edit Users

  • Update all variables and prompts across all flow configurations
  • Change settings during high-volume events or emergencies
  • Update prompts for holidays, closures, and special events
  • Preview voice messages before customers hear them
  • Make changes instantly without IT involvement

🔧 Administrators (Admin Access)

  • Create and organize flow configurations
  • Define variable schema types (Text, Number, Boolean, Select)
  • Add/remove variables and prompts
  • Set up multi-language prompts for global operations
  • Import/export configurations across environments
  • Configure application settings (available locales and voices)

👀 Read-Only Users

  • View all configurations and settings
  • Monitor what messages customers are currently hearing
  • Review variable values without editing capability

Quick Links

📘 I'm a Business User

🛠️ I'm a Developer/Architect

🎯 I'm Evaluating This Solution

Common Use Cases

🏢 Multi-Branch Operations

Challenge: 50 branch offices, each with unique phone numbers and custom greetings, but sharing the same contact flow logic.

Solution: Create one flow configuration per branch (e.g., branch-office-austin, branch-office-seattle). Each branch gets custom prompts and settings while using a single, centralized contact flow design.

Result: Onboard new branches in minutes. Local staff can update their own greetings and settings without IT involvement.


🚨 Emergency Response

Challenge: Fire alarm requires immediate call center closure. Every minute of delay means confused customers and wasted agent time.

Solution: Business users open FlowConfig, toggle closure: true, and save. All new calls immediately hear the closure message and are routed appropriately.

Result: Response time measured in seconds, not hours. No contact flow changes, no deployments, no IT tickets.


🌍 Global Customer Support

Challenge: Supporting customers in English, Spanish, and French requires managing hundreds of prompt variants across dozens of contact flows.

Solution: Define prompts once in FlowConfig with all language variants. Contact flows automatically select the correct language based on customer preference.

Result: Add a new language by updating prompts in FlowConfig—no contact flow changes required.


📊 Dynamic Queue Management

Challenge: Call volume spikes require rapid adjustment of queue thresholds, wait times, and callback offerings.

Solution: Business users adjust variables like maxQueueDepth, maxWaitTime, and offerCallback in real-time based on current conditions.

Result: Contact center supervisors respond to changing conditions without waiting for IT or risking contact flow mistakes.


Key Features

For Business Users:

  • ✅ No-Code Interface - Simple web UI embedded in Amazon Connect Agent Workspace
  • 🎧 Preview Before Publishing - Hear exactly how prompts will sound using Amazon Polly text-to-speech
  • 🌍 Multi-Language Support - Manage prompts in multiple languages with separate voice and chat content
  • ⚡ Instant Updates - Changes take effect immediately for new customer contacts
  • 🔒 Role-Based Access - Three access levels: Admin, Edit, and Read-Only

For IT Teams:

  • 🏗️ Serverless Architecture - Built on AWS Lambda, DynamoDB, and API Gateway
  • 🔌 Native Connect Integration - Seamlessly integrates with contact flows via Lambda function
  • 🔐 Secure by Design - AWS Cognito authentication with role-based access control
  • 📦 Easy Deployment - Single CDK construct deploys the entire stack
  • 🌐 Flexible Architecture - Supports single-region, multi-region, public, or VPC-private deployments
  • 📤 Import/Export - Move configurations between environments (dev/test/prod)

Getting Started

For Developers

Installation:

npm install @cxbuilder/flow-config

Basic Usage:

import { FlowConfigStack } from '@cxbuilder/flow-config';
import * as cdk from 'aws-cdk-lib';

const app = new cdk.App();
new FlowConfigStack(app, 'FlowConfigStack', {
  prefix: 'my-flow-config',
  env: { region: 'us-east-1', account: 'YOUR_ACCOUNT_ID' },
  cognito: {
    domain: 'https://your-auth-domain.com',
    userPoolId: 'us-east-1_YourPoolId',
  },
  connectInstanceArn: 'arn:aws:connect:us-east-1:YOUR_ACCOUNT:instance/YOUR_INSTANCE_ID',
  alertEmails: ['admin@yourcompany.com'],
});

Next Steps:

  • See the Installation Guide for detailed deployment instructions
  • Review the Architecture to understand the technical design
  • Explore advanced configurations (VPC private, multi-region, etc.)

For Contact Flow Designers

Using FlowConfig in Your Contact Flows:

  1. Add an "Invoke AWS Lambda function" block
  2. Select the GetConfig Lambda function (automatically deployed)
  3. Pass the configuration ID as a parameter:
{
  "id": "main-queue"
}
  1. Use the returned values in subsequent blocks:

    • Variables: $.External.closure, $.External.maxWaitTime
    • Prompts: $.External.welcome, $.External.holdMessage

Example Flow:

[Entry Point] → [Invoke Lambda: GetConfig with id="main-queue"]
                      ↓
                [Check: $.External.closure = true?]
                      ↓                    ↓
                  [Yes: Play           [No: Continue
                   $.External.          to queue]
                   closureMessage]

For detailed Lambda integration instructions, see the Technical Reference below.


Technical Reference

GetConfig Lambda Integration

The GetConfig Lambda function is used within contact flows to access your flow configs. This function is automatically integrated with your Amazon Connect instance during deployment.

Lambda Parameters:

  • Required: id - The flow configuration identifier
  • Optional: lang - Language code (defaults to contact's language or en-US)
  • Auto-detected: channel - Voice or chat (detected from contact data)

Lambda Response:

Returns a flattened object containing all variables and prompts from the configuration:

{
  "closure": "false",
  "maxWaitTime": "600",
  "offerCallback": "true",
  "welcome": "Thank you for calling...",
  "holdMessage": "Please continue to hold..."
}

Key Behaviors:

  • Automatically selects the correct language variant based on customer preference
  • Returns chat-specific content for chat contacts (or strips SSML from voice content)
  • Includes all variables as key-value pairs
  • 32KB response size limit (Amazon Connect restriction)

Detailed Documentation:

For complete API documentation, event structures, and advanced usage, see:


Development

For developers contributing to FlowConfig or customizing the deployment:

Frontend Development:

npm start              # Local dev server
npm run build          # Production build

Lambda Development:

npm run build:lambdas  # Bundle Lambda functions
npm run build          # Full build (CDK + Frontend + Lambdas)

Additional Resources:

  • Uses Lambda PowerTools for logging
  • OpenAPI spec for API Gateway enables client generation in any language
  • Frontend built with React and Amazon CloudScape Design System

For detailed development setup, see Installation Guide.

Metadata

Release files for cxbuilder-flow-config 2.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cxbuilder-flow-config 2.3.1
File Size Uploaded
cxbuilder_flow_config-2.3.1.tar.gz 5.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for cxbuilder-flow-config 2.3.1
File Interpreter ABI Platform
cxbuilder_flow_config-2.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 10.8 MB

Release files / cxbuilder_flow_config-2.3.1.tar.gz

Download URL cxbuilder_flow_config-2.3.1.tar.gz
Size 5.4 MB
Tags Source
SHA-256 checksum
How to use checksums
46badc4a021e029c026b05ad3b24cc78d85d813ff8e1b69047a3aa4de06449b2
BLAKE2b-256 checksum
How to use checksums
a83b7537ccfd0a47db810f366044a006857d1114ff5b8e8cc420c5908b6762d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / cxbuilder_flow_config-2.3.1-py3-none-any.whl

Download URL cxbuilder_flow_config-2.3.1-py3-none-any.whl
Size 5.4 MB
Tags Python 3
SHA-256 checksum
How to use checksums
92d2a6513659f8f34ceb826751e0ab831095bb0fe4fa6fe12f7d4641c661daa0
BLAKE2b-256 checksum
How to use checksums
2af2afd1e7f8dacbca31e154e096ac3ec0028f5e9359f48359d99cc48bfd07b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release history Release notifications | RSS feed

This release

2.3.1 This release

2 release files

2.3.0

2 release files

2.2.3

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page