A custom connector for integrating Genesys Cloud with third-party CRM systems, enabling seamless data exchange and interaction management.
The gc-custom-crm-connector is a lightweight solution designed to bridge Genesys Cloud with CRM platforms, facilitating real-time interaction handling, call disposition, and callback scheduling. It provides a flexible framework for developers to customize integrations based on specific CRM requirements.
- Real-Time Interaction Sync: Syncs call data (e.g., conversation ID, participant ID) with CRM records.
- Call Disposition: Allows agents to set dispositions using customizable dropdowns.
- Callback Scheduling: Supports scheduling callbacks with UTC-formatted timestamps and timezone offsets.
- Custom Attributes: Enables setting custom attributes for conversations and participants.
- WebSocket Integration: Communicates with Genesys Cloud via WebSocket for event handling.
-
Clone the Repository:
git clone https://github.com/uvaizm/gc-custom-crm-connector.git cd gc-custom-crm-connector -
Install Dependencies: Ensure Node.js is installed. Run:
npm install
-
Set Up Web Server: Host the application using a local server (e.g.,
http-serveror Nginx). For development:npm install -g http-server http-server . http-server -p 9090 . - to run on any specific port
-
Access the Web Interface: Open the application in a browser (e.g.,
http://localhost:8080). -
Dial a Number: Enter a phone number in the "Dial" section and click "Dial" to initiate a call via Genesys Cloud.
-
Set Disposition: In the "Disposition" section, select conversation, participant, and communication IDs from dropdowns, then click "Disposition".
-
Schedule Callback: Use the datetime picker in the "Callback" section to schedule a callback. The time is converted to UTC with the local timezone offset (e.g.,
2025-10-09T08:30:00.000+04:00for UAE). -
Disconnect or Set Attributes: Use the respective sections to disconnect calls or set custom attributes by providing required IDs.
- Client ID:
Update the PKCE grant based OAUTH client id created in Genesys cloud org in
config.jsfile. - Organization ID:
Update the Genesys cloud organization id in
config.jsfile. - Redirect URI: Update the url endpoint based on the hosted server domain name.
- Genesys Cloud Region:
Update the Genesys cloud region of the organization in
config.jsfile. eg:mec1.pure.cloud, usw2.pure.cloud, mypurecloud.ie, etc - defaultCallQueueId:
Configure the queue id in
config.jsfile where the agent should make outbound call such as click to dial feaure. - Dropdown Options:
Customize the dropdown values in the "Disposition" section by editing the
<select>elements inindex.html.
Contributions are welcome! To contribute:
- Fork the repository.
- Create a feature branch:
git checkout -b feature/your-feature. - Commit changes:
git commit -m 'Add your feature'. - Push to the branch:
git push origin feature/your-feature. - Open a pull request.
Please include a CONTRIBUTING.md file in your fork for detailed guidelines.
This project is licensed under the MIT License. See the LICENSE file for details.
For issues or feature requests, open an issue on GitHub or contact the repository owner.
© 2025 uvaizm
