This is a server application that syncs data between Todoist and Airtable. It uses the Todoist webhook API to listen for events and then updates the corresponding data in Airtable.
- Listens for Todoist webhook events
- Verifies the HMAC signature of incoming requests
- Handles different types of Todoist events
- Provides an endpoint for Todoist to send webhook events to
- Provides an endpoint to get tasks from Todoist
- Provides an endpoint to authorize the application with Todoist
- Clone the repository
- Install the requirements using
pip install -r requirements.txt - Set up your environment variables in a
.envfile. You will need the following variables:CLIENT_ID: Your Todoist client IDCLIENT_SECRET: Your Todoist client secretVERIFICATION_TOKEN: Your Todoist verification tokenREDIRECT_URI: Your redirect URI for Todoist OAuthDOMAIN: The domain where your server is hostedPORT: The port where your server is running
- Build the Docker images using
docker-compose build - Run the Docker containers using
docker-compose up
Once the server is running, you can send webhook events to http://<your-domain>:<your-port>/webhook. You can also get tasks from Todoist by sending a GET request to http://<your-domain>:<your-port>/tasks with your Todoist token as a query parameter.
To authorize the application with Todoist, send a GET request to http://<your-domain>:<your-port>/authorize. This will return a URL that you can visit to authorize the application.
Contributions are welcome! Please feel free to submit a pull request.
This project is licensed under the MIT License - see the LICENSE file for details