extensions
extensions copied to clipboard
[Todoist] NLP (Natural Language Processing) task creation
Extension – Todoist
Author: @thomaslombart
NLP (Natural Language Processing) task creation, just like when creating a task inside of Todoist.
Describe the feature and the current behavior/state.
The input Buy milk tomorrow at 3pm #personal @chores
would create a task:
Task: Buy milk
Due date: 3pm tomorrow
Project: personal
Label: chores
Who will benefit with this feature? Anyone who uses Todoist and is used to the easy frictionless task input/creation.
Any Other info.
I'm pasting the same thing that I wrote in Slack for history purposes:
Thanks for the suggestion! It's true that the task creation form is a bit cumbersome to use.
So, Todoist exposes two APIs to work with:
- The REST API (the one I'm using in the extension)
- The Sync API (the one that's more suited for web and mobile applications)
Unfortunately, the REST API doesn't provide a way to use natural language processing (NLP) to "quick add" an item. However, the Sync API does. This is not a blocker per se, but I'd need to do additional setup and work to see if it's possible to use both APIs in order to provide great feature support.
I have a few ideas in mind to improve the task creation:
- Use the Sync API quick add endpoint. This would support exactly what you just said but the UX wouldn't be great as of now since Todoist provides visual feedback for these elements. I don't think it's possible to reproduce the same thing in Raycas and I'm also not sure how to validate the task content.
- The REST API provides a field called
due_string
for a task date making use of NLP. This could at least improve the date creation (and provide support for a recurring task as well). However, I'm not sure how to validate the format of the date string and if Todoist provides utils for that. - Wait for the Raycast team to add arguments to commands. This would at least allow to pre-fill the task creation form with some fields like the content, the description, the date, etc.
Also pasting this from Slack for history purposes:
Thanks! I think using the Sync API sounds like the best idea to me. The arguments in commands also sounds interesting. I think eventually a combination of the two could be an ideal solution.
Something like this, with the tab-able input boxes like Raycast script inputs as was mentions in the GitHub issue you linked.
“Task [due date]
[project]
[labels]
”
“Buy milk tomorrow at 3pm
#personal
@chores
”
Thanks for your feedback! I'll need to take a closer look at that and figure out the best trade-off and solution.
I have a lot on my plate right now so I can't promise this will be shipped in the next days or weeks. But be sure that I have it in mind and I'll get to it sooner or later 🙂
This issue/pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs in the next 7 days to keep our backlog clean. Thanks for your contributions.
Not stale, just haven't had the time to get back to the Todoist extension lately 🙂
This issue/pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs in the next 7 days to keep our backlog clean. Thanks for your contributions.