This Python Flask application is designed to showcase the practical use of the monday code platform by integrating various monday app functionalities. It's an essential resource for developers looking to leverage Monday Code features through a Python environment.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
You need to have Python and pip installed on your machine. You can download Python from here and pip is included in Python 3.4 and later versions.
You can use venv to create a virtual environment and install the required packages.
To install the project, follow these steps:
- Clone the repository
- Navigate to the project directory
- Install the required packages using pip:
pip install -r requirements.txtTo run the application, use the following command in the project directory:
python main.pyThe application will start running at http://0.0.0.0:8080.
This app showcases how to use various Monday app functionalities, including:
- Using Monday apps Storage and Secure Storage
- Using Monday apps Secrets and Environment variables
- Using Monday apps Queue
- Using Monday code Logger
- Implementing OAuth process
- Authenticating with JWT (JSON Web Tokens)
- Creating custom actions and triggers
- Implementing an integration recipe
- Deploying the app to Monday code
Follow the instructions listed in the SETUP.md file
This project is only a demonstration of how to use various Monday Code app functionalities.
It is not intended for production use without further modifications.
Please ensure to review and update the code as necessary to fit your specific needs and requirements
Remember to keep your OAuth credentials secure and do not expose them in your code or version control system. Use environment variables or other secure methods to handle sensitive data.
sequenceDiagram
participant User
participant Monday
participant App
participant Monday SDK API
User->>Monday: Adds recipe from automation center
Monday->>App: Sends request to app's authorization URL
App->>User: Redirects user to Monday's OAuth authorization page (if not yet authorized)
User->>Monday: Logs in and authorizes the app
Monday->>App: Sends user back to app's callback URL with an authorization code
App->>Monday: Requests access token using the authorization code
Monday->>App: Sends access token
App->>Monday SDK API: Saves the access token using StorageAPI
App->>User: Redirects user back to the first-received redirect URL (recipe page)
- A user adds your recipe from the automation center.
- Monday sends a request to your app's authorization URL as configured in
Feature Details. - If the user has not yet authorized the app, the app redirects the user to Monday's OAuth authorization page.
- The user logs in and authorizes the app.
- Monday sends a request to the app's callback URL with an authorization code.
- The app exchanges with Monday the authorization code for an access token, This token is then used for subsequent requests to the server.
- The app saves the access token using Monday's StorageAPI.
- The app redirects the user back to the first-received redirect URL, in this case, the recipe page.
sequenceDiagram
participant User
participant Monday
participant App
participant Monday SDK API
User->>Monday: Uses the custom action in their workflows
Monday->>App: Sends a request when the custom action should be executed
App->>Monday SDK API: Gets the access token from StorageAPI, using the user's context
App->>Monday SDK API: Sends the requested action to the Worker Queue
App->>Monday: Responds that the action has been received and will be processed
- The user can now use the custom action in their workflows.
- The app receives a request from Monday when the custom action should be executed.
- The apps gets the access token from Monday Code StorageAPI, using the user's context.
- The apps sends the requested action to Monday Code Worker Queue, to be executed asynchronously.
- The app sends a response to Monday, indicating that the action has been received and will be processed.
sequenceDiagram
participant App
participant Monday SDK API
Monday SDK API->>App: Worker queue sends a request to the app to process the action
App->>App: Processes the action and sends an email
- The worker queue sends a request to the app to process the action.
- The app processes the action and sends an email.