Skip to content

Commit

Permalink
Merge branch 'master' into github-main
Browse files Browse the repository at this point in the history
# Conflicts:
#	CHANGELOG.md
#	README.md
#	tools/CCPLogParser/package-lock.json
  • Loading branch information
virtualgill committed Jun 20, 2023
2 parents dfc6a84 + 42265aa commit 1e76859
Show file tree
Hide file tree
Showing 3 changed files with 189 additions and 1,927 deletions.
7 changes: 6 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@ All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.5.5] - 2023-06-20
### Changed
- [README] General README clean-up

## [1.5.4] - 2023-03-30
### Added
- [powershell/Search-ContactFlows/] Downloads and searches Amazon Connect contact flows for a specified String
Expand Down Expand Up @@ -74,4 +79,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [1.0.0] - 2021-09-09
### Added
- CHANGELOG.md
- Connect Cloudwatch Dashboard
- Connect Cloudwatch Dashboard
86 changes: 38 additions & 48 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,65 +4,55 @@ This repository is a collection of code snippets for working with different part

We currently have snippets in:

* Python under [python/](python/)
* Java under [java/](java/)
* DotNet (C#) under [dotnet/](dotnet/)
* Javascript under [javascript/](javascript/)
* Go under [go/](go/)
* PowerShell [powershell/](powershell/)
* Tools [tools/](tools/)
* Python under [python/](python)
* Java under [java/](java)
* DotNet (C#) under [dotnet/](dotnet)
* Javascript under [javascript/](javascript)
* Go under [go/](go)
* PowerShell [powershell/](powershell)
* Tools [tools/](tools)

Feel free to add more languages. Please follow the requirements in each subdirectory README.

## Snippets

| Name | Description | Links |
| ---- | ----------- | ----- |
| Outbound Dial | Uses the [StartOutboundVoiceContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartOutboundVoiceContact.html) API to call a number. | [Java](java/OutboundExample) [DotNet](dotnet/OutboundExample) [Go](go/StartOutboundVoiceContact) |
| Holiday Check | Can be used to check for holidays in a contact flow | [Python](python/holidaycheck) |
| Sync Instance User Data | Can be used to sync basic user information from one instance to another instance | [Python](python/syncinstances) |
| Lex Default Intent Function | pass the utterance used in Lex on default intent to a contact attribute in connect | [Python](python/LexDefaultIntentUtterance) |
| Get Available Agents | Uses the [GetCurrentMetricData](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetCurrentMetricData.html) API to get all available agents in a queue | [Go](go/GetQueueAvailableAgents) |
| Add Connect User | Add a new user to Amazon Connect | [PowerShell](powershell/New-ConnectUser) |
| Multi Account / Multi Instance Metric Collection | Collect metrics from multiple accounts | [Python](python/multiaccountmetrics/multi_account_metrics.py) |
| Restrict Deskphone in CCP | Enforce deskphone settings with javascript in the CCP | [Javascript](javascript/restrict-deskphone-in-ccp) |
| Remote Control Center | Centrally manage prompts and routing configurations in DynamoDB | [Python](python/remote-control-center) |
| Contact Flow Helper | A single AWS Lambda function which provides a set of basic math and text tools to help manipulate data in contact flows | [Python](python/contactflowhelper)|
| Create Tasks Programmatically | CloudFormation template to enable you to programmatically create an Amazon Connect Task | [Javascript](javascript/programmatically-create-task-example) |
| Amazon Connect Reg-Ex Patterns | For use in Cloudformation templates | [Tools](tools/)|
| Amazon Connect Draw.io Objects | Contact flow blocks that can be imported into Draw.io | [Tools](tools/)|
| Check Time Left | This snippet helps make a routing decision whether to add a new contact to the queue or take another action (like terminating the call) based on the queue length and the business hours for that day. | [Python](python/CheckTimeLeft/) |
| Name | Description | Links |
|--------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|
| Outbound Dial | Uses the [StartOutboundVoiceContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartOutboundVoiceContact.html) API to call a number. | [Java](java/OutboundExample) [DotNet](dotnet/OutboundExample) [Go](go/StartOutboundVoiceContact) |
| Holiday Check | Can be used to check for holidays in a contact flow | [Python](python/holidaycheck) |
| Sync Instance User Data | Can be used to sync basic user information from one instance to another instance | [Python](python/syncinstances) |
| Lex Default Intent Function | pass the utterance used in Lex on default intent to a contact attribute in connect | [Python](python/LexDefaultIntentUtterance) |
| Get Available Agents | Uses the [GetCurrentMetricData](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetCurrentMetricData.html) API to get all available agents in a queue | [Go](go/GetQueueAvailableAgents) |
| Add Connect User | Add a new user to Amazon Connect | [PowerShell](powershell/New-ConnectUser) |
| Multi Account / Multi Instance Metric Collection | Collect metrics from multiple accounts | [Python](python/multiaccountmetrics/multi_account_metrics.py) |
| Restrict Deskphone in CCP | Enforce deskphone settings with javascript in the CCP | [Javascript](javascript/restrict-deskphone-in-ccp) |
| Remote Control Center | Centrally manage prompts and routing configurations in DynamoDB | [Python](python/remote-control-center) |
| Contact Flow Helper | A single AWS Lambda function which provides a set of basic math and text tools to help manipulate data in contact flows | [Python](python/contactflowhelper) |
| Create Tasks Programmatically | CloudFormation template to enable you to programmatically create an Amazon Connect Task | [Javascript](javascript/programmatically-create-task-example) |
| Amazon Connect Reg-Ex Patterns | For use in Cloudformation templates | [Tools](tools) |
| Amazon Connect Draw.io Objects | Contact flow blocks that can be imported into Draw.io | [Tools](tools) |
| Check Time Left | This snippet helps make a routing decision whether to add a new contact to the queue or take another action (like terminating the call) based on the queue length and the business hours for that day. | [Python](python/CheckTimeLeft) |

## Projects

| Name | Description | Links |
|-----------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| ----- |
| Context Routing | Uses CTR processing, Lambda, and DynamoDB to track IVR task completion and return callers to incomplete tasks | [CloudFormation](projects/ContextRouting) |
| SCV-CrossAccountSMS | Uses Lambda and cross account permissions to allow Salesforce Service Cloud Voice provisioned Amazon Connect instances to utilize SNS to send SMS messages. | [CloudFormation](projects/SCV-CrossAccountSMS) |
| CallerHistory | The caller history project utilizes AWS Lambda and Amazon DynamoDB to record if an individual has contacted previously though a user defined identifier and records time of last contact. | [CloudFormation](projects/CallerHistory) |
| CrossRegionCrossAccount | This project shows how to call an AWS Lambda function that exists in a separate account or a separate region using AWS Lambda permissions. | [CloudFormation](projects/CrossRegionCrossAccount) |
| GetSetDataByID | This project expands on the CallerHistory project by implementing additional functionality to get, put, and update items in Amazon DynamoDB. | [CloudFormation](projects/GetSetDataByID) |
| LastAgentRouting | This project shows how to potentially implement last agent routing for customers using a voice channel. | [CloudFormation](projects/LastAgentRouting) |
| RoutingFeatureRouting | This project shows how to capture a routing feature and use that to dynamically route a caller in a contact flow. | [CloudFormation](projects/RoutingFeatureRouting) |
| LambdaAlias | This project shows how to provide access to an AWS Lambda function Alias from Amazon Connect. | [CloudFormation](projects/LambdaAlias) |
| ContextRouting | This project demonstrates how you can use contact trace record processing, Lambda, and DynamoDB to track a callers progress through an IVR task, such as making a payment, and return them to that task should they be disconnected. | [CloudFormation](projects/ContextRouting) |
| Rate Limiter | The rate limiter project utilizes AWS Lambda and Amazon DynamoDB dynamically to add rate limiting a caller to a Amazon Connect queue based on their phone number and/or IP address. | [CloudFormation](projects/RateLimiter) |
| CCP Log Parser | A visualisation tool to visualise CCP logs to help troubleshoot client side errors | [link](tools/CCPLogParser) |
| Connectivity Test Tool | This tool checks which web browser the agent is running, the network configuration from the client side and whether the microphone has required permissions. | [link](tools/CCPConnectivityTestTools) |
| Dynamic Contact Center | This project demonstrates how you can use persistent session attributes to develop modular, repeatable and dynamic contact flows | [CloudFormation](projects/DynamicContactCenter) |
| Connect Cloudwatch Dashboard | This project automates the creation and deployment of a Cloudwatch Dashboard to monitor critical metrics for an Amazon Connect instance | [link](tools/ConnectCloudwatchDashboard/README.md) |
| Lex v2 Lambda integration example | This folder contains examples of AWS Lambda functions for use with Amazon Lex v2 code hooks. | [link](projects/AmazonLexv2LambdaIntegrationExamples/README.md) |
| Name | Description | Links |
|------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------|
| Context Routing | Uses CTR processing, Lambda, and DynamoDB to track IVR task completion and return callers to incomplete tasks | [CloudFormation](projects/ContextRouting) |
| SCV-CrossAccountSMS | Uses Lambda and cross account permissions to allow Salesforce Service Cloud Voice provisioned Amazon Connect instances to utilize SNS to send SMS messages. | [CloudFormation](projects/SCV-CrossAccountSMS) |
| CallerHistory | The caller history project utilizes AWS Lambda and Amazon DynamoDB to record if an individual has contacted previously though a user defined identifier and records time of last contact. | [CloudFormation](projects/CallerHistory) |
| CrossRegionCrossAccount | This project shows how to call an AWS Lambda function that exists in a separate account or a separate region using AWS Lambda permissions. | [CloudFormation](projects/CrossRegionCrossAccount) |
| GetSetDataByID | This project expands on the CallerHistory project by implementing additional functionality to get, put, and update items in Amazon DynamoDB. | [CloudFormation](projects/GetSetDataByID) |
| LastAgentRouting | This project shows how to potentially implement last agent routing for customers using a voice channel. | [CloudFormation](projects/LastAgentRouting) |
| LambdaAlias | This project shows how to provide access to an AWS Lambda function Alias from Amazon Connect. | [CloudFormation](projects/LambdaAlias) |
| ContextRouting | This project demonstrates how you can use contact trace record processing, Lambda, and DynamoDB to track a callers progress through an IVR task, such as making a payment, and return them to that task should they be disconnected. | [CloudFormation](projects/ContextRouting) |
| Rate Limiter | The rate limiter project utilizes AWS Lambda and Amazon DynamoDB dynamically to add rate limiting a caller to a Amazon Connect queue based on their phone number and/or IP address. | [CloudFormation](projects/RateLimiter) |
| CCP Log Parser | A visualisation tool to visualise CCP logs to help troubleshoot client side errors | [link](tools/CCPLogParser) |
| Dynamic Contact Center | This project demonstrates how you can use persistent session attributes to develop modular, repeatable and dynamic contact flows | [CloudFormation](projects/DynamicContactCenter) |
| Connect Cloudwatch Dashboard | This project automates the creation and deployment of a Cloudwatch Dashboard to monitor critical metrics for an Amazon Connect instance | [link](tools/ConnectCloudwatchDashboard/README.md) |


## Contributions

Make sure the `.gitignore` per language is applied.
Make sure your snippet has no external dependencies.
Make sure your snippet is self contained.

### Values for variables

* `InstanceId` : `c2e9dc6f-3f69-40e2-b0ec-f78d0c62bee6`
* `ContactFlowId`: `ae4e2be3-5541-4c57-9738-217052e61eb3`
* `DestinationPhoneNumber` : `+12065550101`
* `SourcePhoneNumber` : `+12065550100`
Make sure your snippet is self-contained.
Loading

0 comments on commit 1e76859

Please sign in to comment.