Creating Lucy: Your Daily Tasks delivered with ChatGPT and Todoist Integration
Tags: ai, automation, productivity, webdev
Published: 2024-05-15 09:00:42



# Your Daily Tasks, Delivered: ChatGPT and Todoist Integration

## Tools Used:

- **iOS Shortcuts:** To trigger and manage high level automation.
- **[Make.com](http://Make.com):** For automation across multiple services.
- **ChatGPT:** To format messages.
- **Todoist:** Task management.
- **Slack:** To receive the task list via custom message. AI assistant interface.

## Step-by-Step Guide

### **Configure [Make.com](http://Make.com) automation:**

In overall this automation looks like this:

![Untitled](https://images.spr.so/cdn-cgi/imagedelivery/j42No7y-dcokJuNgXeA0ig/bdfe3af5-4cd5-4dee-8610-219f0425381f/Untitled/w=3840,quality=80,fit=scale-down)

- First setup proper webhook as entrypoint for the automation.
- Next we need to prepare the data we will use. Fetch Todoist tasks and parse the result to JSON. In Todoist block use "make api call" to `/rest/v2/tasks` and set `Query String` to `filter=today | overdue`. I’m using this to fetch only the list of tasks that are from all projects and date is overdue or today.
- Send prepared data to ChatGPT. I’m using Chat Completion here.

    Here is the System Message:

    ```json
    You are my daily task manager assistant. My name is Kuba. For the provided json list all tasks that are due today or overdue. Prepare a message informing me what is to be done today. 

    current time: {{now}}

    rules:
    - you can use emoji.
    - don't be too official
    - adjust message to the time of a day
    ```

    💡 Look at the `current time` property. There is a variable `now` from [make.com](http://make.com) to make chat aware what time we have. This way messages are more personalised to time of a day. In example sometimes it can suggest the most important task to tackle in the end of the day.

    User Message is just a JSON string prepared in previous step.

- Return the result. I’m using router here to return the result to iOS automation (for displaying notification on my phone) and to send it to the Slack. I think later I will keep slack only but right now its both.

[Find blueprint here!](https://kubaszwajka.com/posts/posts/your-daily-tasks-delivered-chatgpt-and-todoist-integration)

### **Configure iOS automation:**

This is quite straightforward.

- First call [make.com](http://make.com) webhook.
- Use `Show Result` block to show `Contents of URL` from previous block.

Adjust automation on your phone to be triggered at specific hours. I’m using 9:00am and 6:00pm to have two checks automated.

### Example results:

```txt
💡 Good morning, Kuba! ☕️ Here's what we've got on the agenda today:

1. Remind ... about the boat agreement 🚤
2. Update the training on Motivado 💡
3. Order a new wardrobe 🚪
4. Check the payment for the run 🏃‍♂️

Let's tackle these tasks to keep everything on track! Have a productive day!

Cheers, Your Assistant
```

```txt
💡 Hey Kuba! 🌟 Evenings are great for some reflection and maybe a bit of catching up, right? I see that you have a task that was due yesterday - you were supposed to "Uzupełnić trening Motivado." It seems like it's slipped by, but no worries, just consider squeezing it in tonight or setting aside time for it tomorrow. Keep up the good vibes! 💪🌙
```

As you can see it nicely formats longer lists and short ones (like one task). Also it adjusts the message to the time of a day! Another cool thing is that it understands multiple languages so my quick tasks I’m creating in polish language are also correctly translated and fit nicely in message.


Feel free to tweak and enhance the setup to fit your specific needs. If you have any questions, suggestions, or would like to share your experience, leave a comment below. Happy automating! 🚀

---

### Want to Know More?

Stay tuned for more insights and tutorials! [Visit My Blog](https://kubaszwajka.com/) 🤖