This project automatically updates a GitHub Gist with your Todoist productivity stats using GitHub Actions.
🌟 250 Karma Points
🌙 1 tasks completed tonight
❄️ 7 tasks completed this week
✅ 7 tasks completed so far
🔥 1-night streak
See it live: My Gist
- Fetches your Todoist completed stats (karma, today, week, total, streak)
- Updates a Gist with beautiful, vibrant, and relevant emoji stats
- Runs automatically every hour, on push, or manually
- No secrets or tokens are stored in code
- Works with plain text or Markdown Gists
- Go to gist.github.com
- Create a new public Gist (plain text or Markdown)
- Copy the Gist ID from the URL (e.g.
a69a6866ee53ca5367154074b5cc328b)
- Go to Todoist Settings > Integrations
- Copy your API token
- Go to GitHub Tokens
- Create a token with the
gistscope - Copy the token (you'll use it as
GH_TOKEN)
In your repo, go to Settings > Secrets and variables > Actions and add:
TODOIST_API_KEY— your Todoist API tokenGIST_ID— your Gist ID (from step 2)GH_TOKEN— your GitHub token (from step 4)
- The workflow in
.github/workflows/todoist-gist.ymlruns every hour, on push, or manually - It fetches your Todoist stats and updates your Gist with vibrant, readable stats
- Edit
update-gist.jsto change the emoji, formatting, or add more stats - You can use Markdown or plain text in your Gist
npm install
npm startSet your environment variables in your shell before running locally:
export TODOIST_API_KEY=your_todoist_token
export GIST_ID=your_gist_id
export GH_TOKEN=your_github_token
npm startPull requests and suggestions are welcome! Open an issue or PR to get started.
MIT License