Todoist for Remote Workers When the Smartest Features Break Everything

Todoist for Remote Workers When the Smartest Features Break Everything

Working remotely with teammates scattered across time zones, Todoist feels like a lifeline — until it suddenly acts like a really organized ghost that rearranges your tasks without warning. I’ve used Todoist every day since I realized Slack wasn’t going to help me remember who I owed meeting notes from three days ago. And while I still love it, there are days where a simple recurring task resets itself three times in one morning, and nobody knows why.

Some of this might be browser sync quirks. Some of it might be how my phone and laptop raced each other to update a task and someone won. Either way, if you’re about to jump into Todoist as a remote worker, this is the messy, mostly-working, sometimes-strange reality.

1. Setting up a shared project without making it chaotic

You can create a new project in Todoist in about 3 seconds. You click “+ Add Project,” enter a name — maybe “Content Calendar” or “Client Tasks,” — and you’re done. The problem starts when two or more remote teammates jump in and use it differently.

Let’s say I make a shared project for the marketing team. Everyone’s async, so timing matters. I used section headers like “This Week,” “Next Week,” and “In Progress,” thinking everyone would drop tasks underneath those. But… one person started assigning due dates instead and ignored section headers. Another made a recurring Monday checklist with sub-tasks that were invisible to people without filter views turned on.

We spent two days guessing where the missing design task went. (It was inside an unshared label filter that doesn’t work across accounts. Yep.)

Here’s what helped stabilize things:

  • Name sections by outcome, not days (e.g., “Needs Feedback,” “Waiting on Client”)
  • Ban unlabeled subtasks unless they’re under a clearly visible parent
  • Default to due dates instead of just ordering task lists — or people will reorder stuff for fun
  • Use shared filters instead of private ones — which are often not really shared
  • Set a naming convention for recurring tasks (e.g., always start with the team name)

Once we had some ground rules, the chaos slowed down — until someone accidentally assigned a task to the wrong workspace again. So it goes.

2. Recurring tasks sound simple until three duplicate notifications appear

Todoist lets you quickly write due dates in plain English. You can type “every other Monday” or “every 3rd Thursday,” and it usually just works. Unless you change the time later, and the next Notificationpocalypse begins .

What happened to me once:
– I had a recurring “Publish blog post” task every Friday at 10am.
– I moved it to 2pm. Simple.
– Then I marked it complete from my phone (offline).
– My desktop syncs later, sees the 10am version still pending, and thinks it’s a new task.
– Next Friday, both the 10am *and* 2pm versions fire. Yay.

If someone else was assigned to the original one, this results in two notifications: one from their device, another from mine. Not ideal. We had multiple people doing redundant work because Todoist stayed silent about the duplication — to keep things “clean,” apparently.

The only way I’ve found to prevent this is making sure:
– You don’t edit recurring tasks in the middle of their cycle
– You fully sync before marking any of them as done on multiple devices
– You check if Todoist quietly created a replacement task (which it sometimes does)

It’s subtle — because it doesn’t yell at you when this happens. But trust me, if your team gets an extra “Send Weekly Report” ping and duplicates it, you’ll lose trust in recurring tasks real fast ¯\_(ツ)_/¯.

3. Using filters and labels to rescue what you forgot to assign

Filters are the secret sauce in Todoist, especially for remote work. You can write ridiculously good queries like:

`@waiting & !@urgent & overdue` (Translation: stuff I’m waiting on people for, not marked urgent, and past due)

But the syntax isn’t quite natural, and unless your teammates understand how to read filters, they’re often useless to others. I once had a brilliant filter to show “Client tasks due in the next 5 days, without sub-tasks, created by someone else” — but nobody else could understand why it hid certain tasks. Turns out it filtered out tasks that had a comment thread. Why? No idea. Todoist doesn’t document filter behavior around threaded comments.

Also, filters break weirdly if you rename a label.

I had @clients renamed to @client-tasks, and two saved filters literally stopped working with zero indication. The UI showed them as active filters, but their result count dropped to 0. I had to retype the label manually in the filter editor. Wild.

Here’s one trick: if a team member forgets to assign a task or drops it into limbo, I use this cleanup filter every Friday:

`no assignee & !@archive & !@done & created before: -3 days`

Basically, catch everything older than 3 days that no one wants to admit exists 😅. It’s saved us from more missing handoffs than I’d like to admit.

4. Misunderstood priorities mess up async communication

Todoist uses four priority levels — P1 through P4 — represented by red, orange, blue, no color. But what’s actually high priority in one team might be background noise in another. I used to mark blog post drafts as “P1” because my writing queue was top priority. The designers saw those tasks and thought something was on fire.

Our workaround was defining P-levels as a shared vocabulary:

  • P1 = Blocks other team members (suppressive)
  • P2 = Needs review soon (before Friday)
  • P3 = It’ll be fine by EOW
  • P4 = Good intentions, no deadline

This saved us more than once: especially during month-end reporting when someone would prioritize a branding refresh over a client renewal task. We literally had to pin a comment in our #todoist Slack channel that said “P1 means it blocks others. Not just you.”

Also — red tasks (P1) pull more attention on mobile than desktop. On Android, they appear at the top automatically in Today view. On desktop, they just sit in the mix. That difference messes with people’s urgency sense more than you’d expect.

5. When Todoist and Slack integration pretend to sync but don’t

I wanted our team to be able to drop a task into Todoist right from Slack. Todoist has a native integration. It says things like “Use /todoist add Send doc to client.” And it does work… the first few times.

The issue was, recurring tasks added via Slack don’t behave normally.

One of my teammates added a task via Slack that said “Follow up on proposal every Monday.” Woo, fancy. Except it only created a non-recurring task that read “every Monday.”

So… the next week nothing showed up. We lost track of it until the client pinged us.

Turns out, the Slack-to-Todoist command doesn’t parse recurring dates unless you use specific phrasing **and** quotation marks. So this works:

`/todoist add “Follow up on proposal” every Monday`

But this does not:

`/todoist add Follow up on proposal every Monday`

Even though Todoist parses natural language on its web or mobile apps, it doesn’t carry over consistently through the bot. 🤯 Official documentation doesn’t clarify this — confirmed by crawling both https://todoist.com and Zapier workflows.

And yes, we tried piping through Zapier. That created its own chaos loop: duplicate tasks for every Slack reminder, unless you check for duplication first, which the Default Zap doesn’t do.

6. Offline edits on mobile create ghost sync issues later

A classic mistake I kept making: opening Todoist on a plane, making a bunch of task adjustments (label changes, due date edits, etc.), and closing the app before it fully reconnected. Todoist looks like it saved everything. You feel powerful. Then later, you realize only some things synced.

What makes this maddening:
– There’s no alert when partial sync occurs
– If due dates were changed offline, the mobile app “wins” — even if outdated
– Comments posted during offline mode seem to queue indefinitely unless you re-open the task

It’s the re-opening that’s key. I once added six comments to a delayed client task while in airplane mode, forgot to click “Details” tab after reconnecting, and those comments just… vanished.

Eventually I figured out this habit:
– Always open any task you edited offline as soon as you’re back online
– Wait three seconds to visually confirm sync (yeah, I literally count now)
– Double-check for duplication in your Today view (it can auto-clone stale versions)

It shouldn’t be like this, but it is. Even after syncing, the timestamps can make it look like tasks were updated in the wrong order. Past-me always seems to create future-me problems :P.

7. Templates feel powerful until someone imports the wrong one mid-week

Todoist lets you export and import templates via CSV or shareable URL. If you use the web app and click on the three dots of any project, you’ll see the “Export as Template” option. It looks like a dream: copy client onboarding workflows, reuse content queues, set up sprint rituals.

But it gets out of hand fast if you don’t name your templates correctly. One week, a designer imported our “Sprint Tasks Week 14” into our current board — mid-week — assuming it just had checklist stuff for demo prep. Turns out, that template contained an entire backlog we had archived two weeks ago (dun dun dunnn).

Worse: imported templates don’t overwrite. They append. So tasks that had already been marked complete reappeared in active views, marked as due “today.”

Officially, Todoist says importing a template “copies all tasks into the new project.” Unofficially, they sometimes keep the same URIs (unique task IDs) which causes duplicate detection rules to fail in automations linked via Make.com or Zapier.

So yeah — we had checklists appear for meetings we already held. And one engineer missed an actual meeting because they thought the task that showed up was old. Because it was… but also new.

My rules now:

  • Always include the import date in the template title
  • Never import templates into live boards
  • Use a staging project during template import, then move manually
  • Teach your fast-clicking teammates to pause 🙃