Skip to content

ashleyllouise/ai-task-automation

Repository files navigation

🤖 AI Task Capture Automation

Python Version License GitHub Stars Status

Automatically extract actionable tasks from meetings, emails, Slack, and more → Create them in your task manager instantly

Stop manually entering tasks. This tool watches your meetings, emails, Slack channels, and notes - then uses AI to extract action items and automatically creates them in Asana, Notion, Linear, or your preferred task manager.

Never miss an action item again.

📖 New here? Start with the Quick Start Guide - get up and running in 15 minutes!


✨ Features

  • 🤖 AI-Powered Task Extraction - Uses Gemini, ChatGPT, or Claude to intelligently extract tasks
  • 🔌 Pluggable Task Managers - Works with Asana, Todoist, Notion, Linear, ClickUp, and more
  • 📁 Multiple Transcript Sources - Google Drive, Zoom, Otter.ai, or local folders
  • 🔄 Fully Automated - Set it and forget it
  • 🔐 Privacy-Focused - Runs locally on your machine, supports self-hosted LLMs (Ollama)
  • 📧 Email Notifications - Get notified when tasks are created
  • ⚙️ Easy Configuration - Simple YAML config file

👥 Who This Is For

This tool is designed for technical users who are comfortable with:

  • Command line / terminal
  • Environment variables and API keys
  • Python and pip
  • Git and GitHub

If that's you, you can get this running in 15 minutes. If you're not technical but want to use this tool, see below for help.


🆘 Need Setup Help?

Not comfortable with the command line? Use Claude Code to walk you through the setup step-by-step:

  1. Install Claude Code
  2. Clone this repository
  3. Ask Claude Code: "Help me set up AI Task Capture Automation"
  4. Claude will guide you through configuration, API setup, and testing

Claude Code can help you:

  • Set up API keys and credentials
  • Edit configuration files
  • Debug connection issues
  • Test your setup

🚀 Quick Start

1. Install

git clone https://github.com/ashleyllouise/ai-task-automation.git
cd ai-task-automation
pip install -r requirements.txt

2. Configure

cp config.example.yml config.yml
# Edit config.yml with your settings

3. Set Up Credentials

# Add your API keys as environment variables
export GEMINI_API_KEY="your-key-here"
export ASANA_TOKEN="your-token-here"

4. Run

python src/main.py

📖 How It Works

Meeting happens (Google Meet, Zoom, etc.)
    ↓
Transcript saved to Google Drive / Zoom cloud / local folder
    ↓
Script detects new transcript
    ↓
AI extracts tasks with due dates and context
    ↓
Tasks created in your task manager (Asana, Todoist, etc.)
    ↓
Email notification sent (optional)
    ↓
You review and adjust as needed

Time saved per meeting: 10-15 minutes Manual steps: 0


🎯 Use Cases

  • Freelancers & Consultants - Track client deliverables from discovery calls
  • Product Managers - Extract action items from stakeholder meetings
  • Team Leads - Distribute tasks from team standups or planning sessions
  • Solo Entrepreneurs - Never forget a task from a client call
  • Remote Teams - Automatically document async meeting outcomes

🔧 Supported Integrations

Task Sources

  • Google Drive (watches "meet recordings" folders, multi-account)
  • Email (Gmail API, extract requests from emails)
  • Slack (channel monitoring, slash commands)
  • Plain Text (paste notes, upload files)
  • 🚧 Zoom Cloud (coming soon)
  • 🚧 Microsoft Teams (coming soon)
  • 🚧 Otter.ai API (coming soon)

AI Providers

  • Google Gemini (free tier available!)
  • 🚧 OpenAI (ChatGPT) (coming soon)
  • 🚧 Anthropic (Claude) (coming soon)
  • 🚧 Ollama (self-hosted, privacy-focused)

Task Managers

  • Asana (teams/agencies)
  • Notion (individuals/small teams)
  • Linear (engineering teams)
  • 🚧 Todoist (template provided)
  • 🚧 ClickUp
  • 🚧 GitHub Issues
  • 🚧 Jira

Want to add support for your favorite tool? See CONTRIBUTING.md


⚙️ Configuration

Edit config.yml:

# Where your transcripts come from
transcript_source:
  type: google_drive  # or: local_folder, zoom, otter
  google_drive:
    accounts:
      - email: you@example.com
        folder_name: "meet recordings"

# Which AI to use for task extraction
llm_provider:
  type: gemini  # or: openai, claude, ollama
  model: gemini-2.5-flash-preview-05-20

# Where to create tasks
task_manager:
  type: asana  # or: todoist, notion, linear, etc.
  workspace_id: your-workspace-id
  project_id: your-project-id

# Optional notifications
notifications:
  enabled: true
  email: you@example.com
  smtp:
    server: smtp.gmail.com
    port: 587

# How often to check for new transcripts
automation:
  check_interval: 3600  # seconds (1 hour)

See examples/ for more configuration examples.


🛠️ Setup Guides

Detailed setup instructions for each integration:


🤝 Contributing

Contributions are welcome! Whether it's:

  • Adding support for a new task manager
  • Integrating a new AI provider
  • Improving documentation
  • Reporting bugs

See CONTRIBUTING.md for guidelines.

Easy Contributions for Beginners:

  • Add support for Todoist (template provided in src/task_managers/todoist.py)
  • Add support for Notion
  • Write setup guides for Windows/Linux
  • Add example configs

📝 License

MIT License - See LICENSE


🙏 Acknowledgments

Built with:


⭐ Star This Project!

If this saves you time, please star the repo and share it with others who might benefit!


📬 Contact & Support


Made with ❤️ by freelancers, for freelancers

Releases

No releases published

Packages

 
 
 

Contributors

Languages