"Todoist Zero"

I’m looking for a way to automatically beemind a particular filter in Todoist (ideally, but could be a tag or due date if necessary) and record how many tasks are in it. (Goal is to have 0 tasks in that filter by the end of the day.)

Any ideas??

5 Likes

I’d love to have this, especially for the inbox or “overdue”!

5 Likes

Hmm… So maybe there’s no way to do this? Maybe there’s a workaround or a different way to go about it… Here’s what I’m trying to do…

I want to track output and whether I accomplish the tasks I set out to do for that day, but I use Todoist in a way that keeps me from simply tracking the number of tasks completed. A typical todoist task for me looks like “Project Name – Action Item”. So the task isn’t checked off until the project is complete. When an action item is complete, I edit the task to replace the completed action item with the next one and change its due date. The system works really well for me generally because I don’t lose track of projects and don’t have to review a separate project list.

However, it keeps me from any Beeminder integration that would automatically track whether I got today’s tasks done, which I’d really like. Does anyone have any ideas on how I might accomplish any sort of automatic Beeminding of task completion?

2 Likes

I’m fairly certain you could do this using Integromat. They integrate with both Beeminder and Todoist. Integromat is a fantastic tool when you need something fancier than the basic integration or IFTTT can get you.

2 Likes

Oh, thanks! I’ll look into it!!

1 Like

I’ve played around with make.com (formerly Integromat) and this is easily accomplished. However, the free plan of make.com only allows two scenarios, and I need three for Beeminder alone (Inbox + Work and Home projects.) The cheapest paid plan is 9 USD/month, so more than 100 USD per year which is more than I can afford/accept.

Does anyone know of a similar solution that has a lower cost? I’ve been looking into Node-Red, but it seems that requires a lot more programming knowledge.

1 Like

I have a script that I use on my Mac to manage my “Things Zero” goal. Something similar might work for Todoist or anything that has an AppleScript interface.

#!/bin/sh

# send the number of items in the Things today list to Beeminder

applescript=$(cat <<END

tell application "Things3"
	set todoCount to 0
	repeat with itemToDo in to dos of list "Today"
		set todoCount to todoCount + 1
	end repeat
	return todoCount
end tell

END
)
count=$(echo "$applescript" | /usr/bin/osascript)


MEMORY=$HOME/src/bmndr/.thingszero.lastcount
TODAY=$HOME/src/bmndr/.today.date

# make a midnight comparison file
/usr/bin/touch -t $(/bin/date +%m%d)0000 "$TODAY"

if [ "$MEMORY" -nt "$TODAY" ] ; then
  # exists and is from today - check value
  lastcount=$(cat "$MEMORY")
  if [ $count -eq $lastcount ] ; then
    # no update required
    exit 0
  fi
fi

# send to Beeminder and (if successful) remember the last sent value
$HOME/bin/bmndr thingszero $count && echo $count > "$MEMORY"

I run this regularly during the day via cron — used to use the newfangled launchd but misplaced the files when I got a new machine and cron feels like less faff for simple things.

14,29,44,59 8-19 * * * ~/src/bmndr/thingszero.sh >> ~/tmp/crontab.log

2 Likes

Hi Philip

Thanks for the input. I’m leaning towards a similar solution, i.e. writing a script that pulls and pushes data via the API’s and scheduling it with cron. I just need to actually get my linux server (old laptop) operational instead of sitting on a shelf.