Open-source implementation of OpenAI’s Tasks feature

Let LLMs schedule tasks and reminders for you and itselfImage generated by Google ImagenOpenAI introduced a featured called Tasks to schedule tasks directly in ChatGPT.At the first glance, it might seem to be a ground-braking feature, but it’s nothing …


This content originally appeared on Level Up Coding - Medium and was authored by Yusuf Sarıgöz

Let LLMs schedule tasks and reminders for you and itself

Image generated by Google Imagen

OpenAI introduced a featured called Tasks to schedule tasks directly in ChatGPT.

At the first glance, it might seem to be a ground-braking feature, but it’s nothing more than function calling, so I just wanted to implement my own with Gemini –in fact it can be ported to any LLM that supports function calling.

How it works?

It has two separate functions defined to schedule one-time or recurring tasks. The configured LLM is supposed to call one of them when it thinks that it needs to set a reminder for itself.

In order to set a one-time reminder, the LLM is supposed to pass the firing time in addition to the reminder name and tasks instruction as an argument to the function. Then, it is scheduled with APScheduler by using a DateTrigger.

It has access to another function to get the current date and time so that it can call the function above with the correct date and time expression.

To set a recurring reminder, it should pass a cron expression instead of a date string, and this time it is schedule with CronTrigger.

The callback function for the reminders receives the task instructions and metadata, and it makes a new call to the LLM with these information injected in the prompt.

Implementation Details

I designed the agent to act as an “AI chief of staff to the CTO,” and I’m planning to really use it as a part of the team at my upcoming startup after adding more capabilities. It can currently do web or news search with DuckDuckGo –easily replaceable with other search providers-, create documents and send me emails, and schedule tasks to be performed later and/or repeatedly. I didn’t want to introduce dependencies on projects such as Langchain and CrewAI to make it really hackable, and I implemented all the tools and agentic workflow myself.

  • You can see and modify the system prompts in prompts.py.
  • See tools.py for the functions used by the LLM.
  • agent.py hosts the main agent.

Future work

I’m planning to connect it to the whole knowledge base of my startup, giving more tools to do research, and enable interaction with the team on Slack. I also have some experimental ideas with sub-agents and multimodal interaction, so stay tuned for more info.

Usage

If you would like to give it a try:

  1. Clone the repository: git clone https://github.com/monatis/open-tasks.git
  2. Rename .env.example to .env and fill in your Gemini API key and SMTP credentials for sending emails.
  3. Install dependencies:
  • If you Have uv installed: uv sync
  • Otherwise: pip install .
  1. Start the API: python serve.py
  2. I haven’t implemented a UI yet, so go to localhost:5000/docs to test it on the Swagger UI.
  3. Try writing a prompt such as “Remind me to call my mom 3 minutes later from now,” and wait for 3 minutes or so to get the notification.

To try something more ambitious, you can write “Collect news stories about XXX and send them with summaries and the URLs every morning at 8.”

Note: If you have any suggestion or a use case in mind, feel free to reach out to me in issues.

Fun fact

In order to test the the agent, I used the following prompt:

I want to publish a post regarding how I developed you, i.e., a Gemini-backed agent serving as the chief of staff to the CTO that can set reminders for the CTO and itself. Create a document that contains a blog post mentioning the technical stack: apscheduler, SMTP, and duckduckgo. I was inspired by OpenAI's new feature called 'Tasks'. You can use web search to gather missing information.

Then it performed several web searches, read some of the search results, created this document in examples and then scheduled a reminder for itself to follow up about it with me.


Open-source implementation of OpenAI’s Tasks feature was originally published in Level Up Coding on Medium, where people are continuing the conversation by highlighting and responding to this story.


This content originally appeared on Level Up Coding - Medium and was authored by Yusuf Sarıgöz


Print Share Comment Cite Upload Translate Updates
APA

Yusuf Sarıgöz | Sciencx (2025-02-04T16:10:15+00:00) Open-source implementation of OpenAI’s Tasks feature. Retrieved from https://www.scien.cx/2025/02/04/open-source-implementation-of-openais-tasks-feature/

MLA
" » Open-source implementation of OpenAI’s Tasks feature." Yusuf Sarıgöz | Sciencx - Tuesday February 4, 2025, https://www.scien.cx/2025/02/04/open-source-implementation-of-openais-tasks-feature/
HARVARD
Yusuf Sarıgöz | Sciencx Tuesday February 4, 2025 » Open-source implementation of OpenAI’s Tasks feature., viewed ,<https://www.scien.cx/2025/02/04/open-source-implementation-of-openais-tasks-feature/>
VANCOUVER
Yusuf Sarıgöz | Sciencx - » Open-source implementation of OpenAI’s Tasks feature. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2025/02/04/open-source-implementation-of-openais-tasks-feature/
CHICAGO
" » Open-source implementation of OpenAI’s Tasks feature." Yusuf Sarıgöz | Sciencx - Accessed . https://www.scien.cx/2025/02/04/open-source-implementation-of-openais-tasks-feature/
IEEE
" » Open-source implementation of OpenAI’s Tasks feature." Yusuf Sarıgöz | Sciencx [Online]. Available: https://www.scien.cx/2025/02/04/open-source-implementation-of-openais-tasks-feature/. [Accessed: ]
rf:citation
» Open-source implementation of OpenAI’s Tasks feature | Yusuf Sarıgöz | Sciencx | https://www.scien.cx/2025/02/04/open-source-implementation-of-openais-tasks-feature/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.