{"id":14064701,"url":"https://github.com/jango/todoist-email-tasks","last_synced_at":"2026-01-17T06:50:00.451Z","repository":{"id":48052488,"uuid":"39231278","full_name":"jango/todoist-email-tasks","owner":"jango","description":"Python scripts to generate tasks from starred (gmail) or flagged (outlook) emails.","archived":false,"fork":false,"pushed_at":"2022-12-08T02:03:18.000Z","size":15,"stargazers_count":11,"open_issues_count":5,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-08-14T07:07:23.992Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jango.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-07-17T02:37:30.000Z","updated_at":"2024-07-12T14:48:31.000Z","dependencies_parsed_at":"2023-01-25T03:00:30.716Z","dependency_job_id":null,"html_url":"https://github.com/jango/todoist-email-tasks","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jango%2Ftodoist-email-tasks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jango%2Ftodoist-email-tasks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jango%2Ftodoist-email-tasks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jango%2Ftodoist-email-tasks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jango","download_url":"https://codeload.github.com/jango/todoist-email-tasks/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228040800,"owners_count":17860211,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-13T07:04:01.683Z","updated_at":"2024-12-04T03:31:21.364Z","avatar_url":"https://github.com/jango.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# todoist-email-tasks\nTwo Python scripts that will generate a task for each starred (Gmail) or flagged (Outlook) email in [Todoist].\n\n## Motivation\nI am a big fan of Todoist and use it as my sole task management system. When I review personal or work email often there are messages that require follow up that I can not afford to do right away. I used to flag those emails and eventally add them to Todoist one by one, but every message takes time. I did not want to use forwarding feature of Todoist either, because I do not want the content of my emails to be included in the task's note.\n\nThese two scripts are now setup to run every few minutes to create a task for any email that I have flagged and clear the email flag. This way I can continue using Todoist as my primary task management system and avoid doing \"double entry\". I hope that someone else may find it useful, too.\n\n## Setup - Both Scripts\nAs a general suggestion, before scheduling either of the scripts, make sure that you are able to run them through the command line.\n\nStart by renaming `todoist.sample.conf` to `todoist.conf` and specify the Todoist API key (can be found under your account settings) and Project IDs (can be found in the URL when you open any of your project folders in the browser window).\n\nAfter that, install requirements in `requirements.txt` via `pip`.\n\n## Setup - Gmail\nIn order to access Gmail from python, you need to [generate] `client_secret.json` for your Gmail account and drop it into the project folder (follow the list of steps under `Step 1: Enable the Gmail API` only).\n\nI run the Gmail script on Linux, so the cron setup looks like this for me:\n```cron\n# Runs Todoist Task Creator.\n* * * * * python /opt/scripts/todoist-email-tasks/todoist.gmail.py\n```\n\n## Setup - Outlook\nBesides dependencies, you may need to install [Outlook Interop Aseembly References].\n\nYou can create a Windows Scheduler task to run a batch file that will run the Outlook script:\n```sh\npython C:\\todoist-email-tasks\\todoist.outlook.py\n```\nYou can then use this cool [trick] to make the command Window invisible when the script runs.\n\nLicense\n----\n\nMIT\n\n[Todoist]:https://todoist.com\n[trick]:http://superuser.com/questions/62525/run-a-batch-file-in-a-completely-hidden-way\n[Outlook Interop Aseembly References]:https://www.microsoft.com/en-ca/download/details.aspx?id=3508\n[generate]:https://developers.google.com/gmail/api/quickstart/python\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjango%2Ftodoist-email-tasks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjango%2Ftodoist-email-tasks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjango%2Ftodoist-email-tasks/lists"}