{"id":38604768,"url":"https://github.com/amazon-connect/voicemail-express-amazon-connect","last_synced_at":"2026-01-17T08:36:59.368Z","repository":{"id":233069167,"uuid":"785862248","full_name":"amazon-connect/voicemail-express-amazon-connect","owner":"amazon-connect","description":null,"archived":false,"fork":false,"pushed_at":"2025-11-03T21:55:56.000Z","size":28217,"stargazers_count":53,"open_issues_count":3,"forks_count":24,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-11-03T23:24:42.800Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amazon-connect.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-04-12T19:34:33.000Z","updated_at":"2025-11-03T21:56:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"07607271-1fc4-4362-a212-93e7f1100e26","html_url":"https://github.com/amazon-connect/voicemail-express-amazon-connect","commit_stats":null,"previous_names":["amazon-connect/voicemail-express-amazon-connect"],"tags_count":0,"template":false,"template_full_name":"amazon-archives/__template_Apache-2.0","purl":"pkg:github/amazon-connect/voicemail-express-amazon-connect","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amazon-connect%2Fvoicemail-express-amazon-connect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amazon-connect%2Fvoicemail-express-amazon-connect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amazon-connect%2Fvoicemail-express-amazon-connect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amazon-connect%2Fvoicemail-express-amazon-connect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amazon-connect","download_url":"https://codeload.github.com/amazon-connect/voicemail-express-amazon-connect/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amazon-connect%2Fvoicemail-express-amazon-connect/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28504370,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T06:57:29.758Z","status":"ssl_error","status_checked_at":"2026-01-17T06:56:03.931Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-17T08:36:59.291Z","updated_at":"2026-01-17T08:36:59.357Z","avatar_url":"https://github.com/amazon-connect.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e [!IMPORTANT]  \n\u003e **2025/11/05** - an issue has been identified in some regions that impacts how views are processed with dynamic code. If you are using the Guided Flow experience, and suddenly the media player bar is missing or greyed out, please [follow the steps here](./Docs/vmx_media_player_fix.md) to resolve. Once the corrected flow is added to the templates and validated, this message will be removed. \n\n# Voicemail Express V3\nVoicemail Express is designed to provide basic voicemail functionality to Amazon Connect. It has been designed to work seamlessly behind the scenes, providing voicemail options for all agents and queues by default. It is an evolution of the Voicemail Express solution that was created specifically for Service Cloud Voice customers by the AWS team that worked with Salesforce to develop Service Cloud Voice. That solution has been cloned and included with Service Cloud Voice, and is now used at scale by customers on that offering. This version removes the Salesforce-centric options, providing the same easy-to-deploy-and-use voicemail option for standard Amazon Connect customers. Typically speaking, Voicemail Express can be deployed and validated in less than 15 minutes. \n\n![Voicemail Express Architecture](Docs/Img/vmx3_20250912.png)\n\n## What's new in VMX3 (2025.09)\n### New Features\n**New Recording Process**\n\nSwitched to built-in Amazon Connect IVR recording. KVS is no longer used or required. Removes the costs and complexities of the KVS solution. Built-in IVR recording provides a faster, more scalable option. New VMXT3-Voicemail-Timestamper Lambda function marks the time that voicemail recording started so that the solution still works in environemnts where 100% IVR recording is also in use. \n\n**Generative AI Summary Option**\n\nProvides the option to generate a summary of the voicemail using generative AI. This helps users more quickly identify who called, why, and how to get in touch with them. Option can be toggled on a call by call basis, and also set as an instance default. Default model for all regions except GovCloud is Nova Lite. GovCloud uses Claude Sonnet.\n\n**Better Direct Agent Routing**\n\nUses the preferred agent routing criteria option instead of using agent personal queues. This makes it easier for managers to re-allocate voicemail in the event of an agent being unavailble for extended periods, and also preserves queue reporting data, while still allowing for personal engagement for agents with direct customer relationships. \n\n**Deploy to Govcloud**\n\nWith the change from KVS, all solution components are now available in GovCloud.\n\n**Added In Queue Voicemail Option**\n\nProvided example flows and added in-queue voicemail option to the main test flow.\n\n-  **Security Enhancements**: \n   -  Support for bucket versioning\n   -  Validated operation with customer-managed KMS keys. Documented setup changes.\n-  **Performance Validation**:\n   -  Validated functionality for voicemails up to 25 minutes long, including generative summary\n   -  Load tested voicemail capabilities up to 2000 voicemails per hour\n-  **Example Flows**:\n   -  Sample queue flow demonstrating how to cleanly do an uninterruptable voicemail while in a queue flow\n   -  Sample agent whisper flow which removes the voicemail flag when an agent is connected to a caller who was leaving a voicemail\n-  **Documentation Updates**: \n   -  Documented changes needed to support voicemail messages \u003e5 minutes\n   -  Documented configuration allowing for voicemail self-service\n   -  Documented configuration for in-queue voicemails\n-  **Fixes/Improvements:**\n   -  Truncating voicemail transcripts longer than 2048 bytes ensure task compatability\n   -  Additional filtering for better performance in high volume environments\n   -  Updated keys for recordings and transcripts to make files easier to find\n   -  Updated all functions to Python 3.13\n   -  Updated logging and error handling in functions\n   -  Updated view for agent guide\n   -  Updated HTML layout for email delivery\n   -  Updated packager function code to modularize key capabilities\n   -  Added tags to all taggable resources fior better administration and monitoring\n   -  Added tagging to voicemail contacts to provide more controlled access to tasks in self-service modes\n   -  Standardized formatting across Lambda functions\n   -  Fixed MIME type on wav files to allow for playing within browser when clicking presigned URL links\n\n## How it works\nWith Voicemail Express, customers can have the option to leave a voicemail for an individual agent or an Amazon Connect Queue. Once the voicemail is recorded, a series of processes take place in the following order:\n1. Voicemail recording is extracted and stored in S3 as a .wav file\n1. The recording is transcribed using Amazon Transcribe\n1. (If necessary) A presigned URL is generated that provides access to the voicemail recording without the need for further authentication\n1. The voicemail is packaged for delivery, including the transcription, optional generative AI summary, presigned URL, and contact data. It is then delivered as an Amazon Connect Task, Guided Task, or via email using Amazon Simple Email Service (SES), depending on your configuration.\n\nVoicemail presigned URLs are configured for a maximum length of 7 days. After 7 days, the presigned URL is no longer valid. A seperate timeframe is configured for the recordings, which are lifecycled as desired once that timeframe is met. During deployment, you have the option to configure the lifecycle window, if desired. Additionally, you have the option to keep, archive, or delete voicemail recordings. \n\n## Deployment and Management\n### How to deploy\nTo deploy Voicemail Express, you will need to complete the following:\n1. Complete the [Voicemail Express Prerequisites](Docs/vmx_prerequistes.md)\n1. Complete the [Voicemail Express Installation](Docs/vmx_installation_instructions.md) (all regions EXCEPT GovCloud)\n1. Complete the [Voicemail Express Installation](Docs/vmx_govcloud_deployments.md) (For GovCloud)\n\n### How to upgrade\nTo upgrade Voicemail Express, follow the [Upgrade Your Installation](Docs/vmx_upgrade.md) instructions.\n\n### How to uninstall\nTo remove Voicemail Express follow the instructions below:\n1.  [Removing/Uninstalling Voicemail Express](Docs/vmx_uninstall.md)\n\n## Using Voicemail Express\nOnce Voicemail Express has been deployed, you can learn more about the core functions and additional options by reading the documentation below.\n\n### Core Capabilities\n-  [High-level overview of the Voicemail Express solution](Docs/vmx_core.md)\n-  [More about the Amazon Connect Guided Tasks delivery mode](Docs/vmx_guided_tasks.md)\n-  [More abnout the Amazon Connect Tasks delivery mode](Docs/vmx_tasks.md)\n-  [More abnout the email delivery mode](Docs/vmx_email.md)\n\n### Additional Options\n-  [Allow agents to self-service voicemails](Docs/vmx_selfserve.md)\n-  [Present voicemail options to customers in queue](Docs/vmx_inqvm.md)\n-  [Give customers more time to leave voicemail messages](Docs/vmx_longer_messages.md)\n-  [Configure customer-managed KMS keys for buckets and streams](Docs/vmx_cmkms.md)\n\n## Troubleshooting, Support, and Changelog\n-  [Troubleshooting Common Voicemail Issues](Docs/vmx_troubleshooting.md)\n-  [How to get support](Docs/vmx_support.md)\n-  [View the change log](Docs/vmx_changelog.md)\n\n## Roadmap\nThe following items are currently planned for future releases. Changes to roadmap depend on feedback, however one overarching tenet of Voicemail Express is to keep the solution lightweight, with a minimal number of required services and administration, and to replace functionality with native Amazon Connect features as soon as they become available. \n\n-  Reduce dependence on services external to Amazon Connect\n-  Move to Contact Lens-generated transcriptions once available with IVR recordings\n-  Include recordings as attachments to Tasks once available, removing the need for presigned URLs on task-based voicemails\n\n## Current Published Version\n### 2025.09.13\nThis is the published version of the code and templates that has been deployed to our S3 buckets and will be used during a normal deployment.\n\n## Acknowledgements\nWhile the code and documentation has been predominantly pushed by [Jason Douglas](https://github.com/dougjaso), this is largely due to internal team processes. This version of Voicemail Express 3 has been built and tested by a number of people including:\n\n-  [Jason Douglas](https://github.com/dougjaso): Base solution design, roadmap, feature management, brute force Python developer, nitpicker.\n-  [Steve Earl](https://github.com/SteveEarl-AWS): (Converted) Python code developer, (Formerly) NodeJS code developer, KVS processing magician, remodeler of cabins.\n-  [Rob Pittfield](https://github.com/robpittfield2): Load testing mastermind, community relations, professional-grade sanity checker, herder of cats.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famazon-connect%2Fvoicemail-express-amazon-connect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famazon-connect%2Fvoicemail-express-amazon-connect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famazon-connect%2Fvoicemail-express-amazon-connect/lists"}