{"id":21406419,"url":"https://github.com/yakitrak/ticktick-alfred-workflow","last_synced_at":"2025-07-06T07:08:25.942Z","repository":{"id":205642795,"uuid":"710003143","full_name":"Yakitrak/ticktick-alfred-workflow","owner":"Yakitrak","description":"Alfred Workflow to interact with your TickTick tasks and lists","archived":false,"fork":false,"pushed_at":"2024-12-26T11:33:26.000Z","size":17817,"stargazers_count":16,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T20:21:28.831Z","etag":null,"topics":["alfred","alfred-workflow","alfred5","productivity","ticktick"],"latest_commit_sha":null,"homepage":"","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/Yakitrak.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-25T20:08:45.000Z","updated_at":"2025-03-24T12:08:36.000Z","dependencies_parsed_at":"2024-04-17T18:53:50.477Z","dependency_job_id":null,"html_url":"https://github.com/Yakitrak/ticktick-alfred-workflow","commit_stats":null,"previous_names":["yakitrak/ticktick-alfred-workflow"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/Yakitrak/ticktick-alfred-workflow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yakitrak%2Fticktick-alfred-workflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yakitrak%2Fticktick-alfred-workflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yakitrak%2Fticktick-alfred-workflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yakitrak%2Fticktick-alfred-workflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Yakitrak","download_url":"https://codeload.github.com/Yakitrak/ticktick-alfred-workflow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yakitrak%2Fticktick-alfred-workflow/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263861996,"owners_count":23521357,"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":["alfred","alfred-workflow","alfred5","productivity","ticktick"],"created_at":"2024-11-22T16:39:42.937Z","updated_at":"2025-07-06T07:08:25.923Z","avatar_url":"https://github.com/Yakitrak.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TickTick Alfred Workflow\n\nThis workflow allows you to search, open, add, and complete tasks in [TickTick](https://ticktick.com/)\n\n\u003cimg src=\"/docs/main.gif\" width=\"500\" height=\"400\" alt=\"TickTick Alfred Workflow\" /\u003e\n\n[View in Alfred Forums](https://www.alfredforum.com/topic/21114-ticktick-workflow-interact-with-your-tasks-and-lists/)\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Setup](#setup)\n- [Usage](#usage)\n  - [Lists](#lists)\n    - [List Search](#list-search-tls-query)\n    - [Create List](#create-list-tln-list-name)\n  - [Tasks](#tasks)\n    - [Task Search](#task-search-tts-query)\n    - [Complete Task](#complete-task)\n    - [Create Task](#create-task-ttn-task-name-due-date)\n  - [Sync](#sync-tsync)\n  - [Calendar](#calendar)\n    - [Calendar (Day)](#calendar-day-tcd)\n    - [Calendar (Week)](#calendar-week-tcw)\n    - [Calendar (Month)](#calendar-month-tcm)\n- [Current Limitations](#current-limitations)\n- [Contributing](#contributing)\n- [Acknowledgements](#acknowledgements)\n- [License](#license)\n\n## Installation\n\nClick [here](https://github.com/yakitrak/ticktick-alfred-workflow/releases/latest) to download the latest version of the workflow.\nOr you can build it yourself by cloning this repo into your Alfred workflows directory. To run this workflow,\nyou will need to have the [Alfred Powerpack](https://www.alfredapp.com/powerpack/) and python3 installed.\n\nLibraries such as python3 and parsedatetime are included in the workflow, so you don't need to install them yourself.\n\nPlease note, this workflow is not an official TickTick product and is not affiliated with TickTick in any way.\n\n## Setup\n\n1. Go to [https://developer.ticktick.com/manage](https://developer.ticktick.com/manage) and\n   create a new app with any name you want. You'll be asked for a redirect url, please enter in `http://localhost`.\n2. Now you should have a \"Client ID\" and \"Client Secret\". Copy these values.\n3. Here it also asks for \"OAuth redirect URL\", please enter `http://localhost` and save.\n4. Go to \"Configure Workflow\" button on this workflow on Alfred, paste the \"Client ID\" and \"Client Secret\"\n5. Using Alfred, type in `tsetup1` and authorise the workflow, you'll be redirected to\n   `http://localhost?code=xxxxx`. Please copy the code from the url.\n6. Using Alred, type in `tsetup2` followed by the code from the step 1 (e.g. `tsetup2 xxxxx`). You are now ready to use the workflow!\n\n## Usage\n\n### Lists\n\n#### List Search `tls \u003cquery\u003e`\n\nSearch for a list in TickTick. Pressing enter will open the list in TickTick.\n\n\u003cimg src=\"/docs/list_search.png\"  width=\"500\" alt=\"List Search\" /\u003e\n\n#### Create List `tln \u003clist-name\u003e`\n\nCreate a new list in TickTick with the given name.\n\n\u003cimg src=\"/docs/create_list.png\"  width=\"500\" alt=\"Create List\" /\u003e\n\n### Tasks\n\n#### Task Search `tts \u003cquery\u003e`\n\nSearch for a task in TickTick. Pressing enter will open the task in TickTick.\n\n\u003cimg src=\"/docs/task_search.png\"  width=\"500\" alt=\"Task Search\" /\u003e\n\nYou can search for tasks in a few different ways:\n\n- `tts` - Search for all tasks\n- `tts \u003ctask-name\u003e` - Search for tasks with the given name\n- `tts \u003clist-name\u003e` - Search for tasks in the given list\n- `tts @today` or `tts @tod` - Search for tasks due today\n- `tts @tomorrow` or `tts @tom` - Search for tasks due tomorrow\n- `tts @thisweek` or `tts @tw` - Search for tasks due this week\n\nAs mentioned in the [Current Limitations](#current-limitations) section, you cannot search for tasks in Inbox at the moment.\n\n#### Complete Task\n\nYou can complete a task by pressing `cmd + enter` when selecting a task in the search results from the [Task Search](#task-search-tts-query) command.\n\n#### Create Task `ttn \u003ctask-name\u003e, \u003cdue-date\u003e`\n\nCreate a new task in TickTick with the given name.\n\n\u003cimg src=\"/docs/create_task.png\" width=\"500\"   alt=\"Create Task\" /\u003e\n\nYou can add an optional comma at the end and include a due date using natural language:\n\n- `ttn Do laundry`\n- `ttn Do the laundry, tomorrow at 5pm`\n- `ttn Do the laundry, next week`\n- `ttn Do the laundry, monday`\n\nAs mentioned in the [Current Limitations](#current-limitations) section, you can only add tasks to the Inbox list at the moment.\n\n### Sync `tsync`\n\n\u003cimg src=\"/docs/sync.png\" width=\"500\" alt=\"sync\" /\u003e\n\nSync your TickTick account with the workflow by clearing the cache and fetching your latest lists and tasks. This is done automatically when:\n\n- You search for a list or task, and it's been more than 5 minutes since the last sync\n- You create a new list or task\n- You complete a task\n\nOnce you run this command, please wait a moment for the sync to complete before searching for a list or task. This can take a few seconds if you have a lot of lists.\n\n### Calendar\n\n\u003cimg src=\"/docs/calendar.png\" width=\"500\" alt=\"Calendar\" /\u003e\n\n#### Calendar (Day) `tcd`\n\nOpen the calendar in TickTick, in the day view.\n\n#### Calendar (Week) `tcw`\n\nOpen the calendar in TickTick, in the week view.\n\n#### Calendar (Month) `tcm`\n\nOpen the calendar in TickTick, in the month view.\n\n## Current Limitations\n\n- Task search can take a while to load if you have a lot of lists - this is a limitation of the TickTick API as it requires a separate request for each list. Although once loaded it should be cached.\n- You cannot search for tasks in Inbox - this is a limitation of the TickTick API.\n- You cannot add tasks to any list other than Inbox - this is a limitation of the TickTick API.\n\nAs the TickTick API is quite new, I'm hoping these limitations will be fixed in the future.\n\n## Contributing\n\nIf you have any issues or feature requests, please open an [issue](https://github.com/yakitrak/ticktick-alfred-workflow/issues/new/choose) or a [pull request](https://github.com/Yakitrak/ticktick-alfred-workflow/pulls).\n\n## Acknowledgements\n\n- [TickTick API](https://developer.ticktick.com/api#/openapi) - The TickTick API used to build this workflow.\n- [ualfred](https://github.com/ischaojie/ualfred) \u0026 [Alfred Workflow](https://github.com/deanishe/alfred-workflow) - The python3 library fork and the Alfred workflow library used to build this workflow.\n- [parsedatetime](https://github.com/bear/parsedatetime/) - Used to parse natural language dates and times for creating tasks.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyakitrak%2Fticktick-alfred-workflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyakitrak%2Fticktick-alfred-workflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyakitrak%2Fticktick-alfred-workflow/lists"}