{"id":21495672,"url":"https://github.com/deepgram/genesys-voicebot-example","last_synced_at":"2025-03-17T12:14:19.976Z","repository":{"id":200823486,"uuid":"703608097","full_name":"deepgram/genesys-voicebot-example","owner":"deepgram","description":"A minimal proof-of-concept voicebot built with Deepgram's Genesys AudioHook integration","archived":false,"fork":false,"pushed_at":"2023-10-17T17:11:29.000Z","size":6,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-23T21:51:19.441Z","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":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deepgram.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-10-11T15:00:16.000Z","updated_at":"2024-09-12T06:44:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"2e725ff9-8efc-4f95-bac6-eafe9f5302c2","html_url":"https://github.com/deepgram/genesys-voicebot-example","commit_stats":null,"previous_names":["deepgram/genesys-voicebot-example"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepgram%2Fgenesys-voicebot-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepgram%2Fgenesys-voicebot-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepgram%2Fgenesys-voicebot-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepgram%2Fgenesys-voicebot-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deepgram","download_url":"https://codeload.github.com/deepgram/genesys-voicebot-example/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244031150,"owners_count":20386534,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":"2024-11-23T16:12:49.336Z","updated_at":"2025-03-17T12:14:19.954Z","avatar_url":"https://github.com/deepgram.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# genesys-voicebot-example\nA minimal proof-of-concept voicebot built with Deepgram's Genesys AudioHook integration.\n\n## How to run\n- Install the dependencies into a virtual environment:\n    ```shell\n    python3 -m venv venv\n    source ./venv/bin/activate\n    pip install -r requirements.txt\n    ```\n- Run the Flask server:\n    ```shell\n    flask run --with-threads\n    ```\n- Run an ngrok tunnel to `http://localhost:5000`, where the Flask server is listening\n- Install Deepgram's AudioHook integration into your Genesys org following [this guide](https://developers.deepgram.com/docs/genesys-with-deepgram)\n    - Recommended settings (swapping in your ngrok URL):\n        ```json\n        {\n            \"endpointing\": 10,\n            \"callback\": \"https://YOUR-URL-HERE.ngrok-free.app/process-dg-callback/conversation/{conversation-id}\",\n            \"model\": \"nova\",\n            \"punctuate\": true\n        }\n        ```\n- Import `get_main_intent_action.json` as a Web Services Data Action in your Genesys org\n    - Swap your ngrok URL into the **Request URL Template**\n    - Make sure the Web Services Data Action is installed and activated as an Integration under **Admin \u003e Integrations**\n- Import `architect_flow.yaml` as an Inbound Call Flow in your Genesys Architect view\n- Associate the Architect Flow with a phone number under **Admin \u003e Telephony \u003e DID Numbers**\n- Call into the phone number and try out the flow!\n\n## Caveats\nThis is a minimal proof of concept to demonstrate that a low-latency voicebot can be achieved with Deepgram's AudioHook integration. It has serious flaws that must be corrected before productionizing. In particular:\n\n- It assumes the user's reply is the first `speech_final` result. In reality, the reply may be spread over multiple results, or the reply may finish before a `speech_final` is received at all. A production bot should follow Deepgram's [best practices for utterance Segmentation](https://developers.deepgram.com/docs/understand-endpointing-interim-results#best-practices-for-utterance-segmentation).\n- Its threading logic should be improved to handle load.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeepgram%2Fgenesys-voicebot-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeepgram%2Fgenesys-voicebot-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeepgram%2Fgenesys-voicebot-example/lists"}