Hey everyone! I built a workflow for a problem that was driving me crazy: important tasks hiding in unread emails.
What it does: Gmail Trigger → Information Extractor (the LLM pulls out has_todos + a list of tasks with optional due dates) → IF → Split Out → Todoist “Create Task”. Emails without tasks get a Gmail label instead, so nothing gets lost.
A few things I learned building it:
- With Gmail “Simplify” enabled you won’t get the full body — turn it off and use
textAsHtml - “Generate from JSON example” makes every field required, which made the model hallucinate due dates when none existed. Switching to a JSON schema with an optional
duefield fixed it - Pinning the trigger output saves a lot of LLM calls while building
Workflow JSON (free download): https://drive.google.com/file/d/1pajGERUTskYFZTjHZhkic3UQzLJfOzPg/view?usp=sharing
I also recorded a 7-minute walkthrough building it from scratch (German audio, English subtitles available): https://www.youtube.com/watch?v=fVOsRm7_1Lk
Happy to answer questions — and curious how others handle the “no due date” case. Do you default to today, leave it empty, or something smarter?