XENON J.A.R.V.I.S is a Slack API integrated with Flask, designed to streamline the HelpDesk process and enhance user experience for the XENON International Collaboration. Report issues, get insights, and receive guidance, all within the Slack environment. In this repository we, for now, only describe how to run the application for devlopment purposes (not production).
-
Create Your Slack Application on Slack API (set-up App name and provides permissions as indicated in Configuration).
-
Set up the MongoDB
This tools requires an access to a MongoDB collection. You can set-up one for free with MongoDB Atlas.
git clone https://github.com/DonNabla/XenonJarvis.git
- Deploy your Slack API on a DigitalOcean
- Set up your environment variables during the deployement of your Application on DigitalOcean. This project requires the following:
SLACK_SIGNING_SECRET
From Slack APISLACK_BOT_TOKEN
From Slack APICHANNEL_ID
From Slack clientMONGODB_USERNAME
From MongoDB AtlasMONGODB_PASSWORD
From MongoDB AtlasMONGODB_DATABASE
From MongoDB Atlas
-
You can edit/remove/add the issues list and instructions in the instructions repository directly
-
Interact with the API through Slack and view the dashboard by navigating to the
/dashboard
route.
To run properly, your slack application needs to have Interactivity option turned on and the following permissions granted (settings in Slack API):
chat:write
chat:write.public
commands
users:read
For the Interactivity option, it will request an URL (such as https://NameOfAppSite.ondigitalocean.app/slack/interactions
) to send the HTTP POST request induced by interaction triggered by users on SLACK.
On the MongoDB side, you need to add your digitalocean machine IP address to the IP access list in MongoDB Atlas.
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to everyone who provided feedback and contributed to the project.
- Special mention to OpenAI for assistance with various components.