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
.env
file. 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