Congratulates you every evening by email for all the Wunderlist tasks that you checked during the day.
After deploying and setting up this script to your favorite server (e.g. a Heroku instance), the run.js
script is meant to be run daily, and will:
- Find out all the tasks you checked today, from you Wunderlist account;
- Send you an email containing this list of tasks.
I wrote this script to measure my day-to-day productivity, and also to motivate myself to keep checking many tasks every day.
- Clone this repository locally, then
npm install
; - Create a Wunderlist developer account;
- Create a Wunderlist app => fill your app's client ID and client Secret in the
run.sh
file; - Generate an access token by clicking the corresponding button, near your Wunderlist app => also fill it in the
run.sh
file; - Create a Sendgrid account => fill the API key the
run.sh
file, when provided; - Then, fill the
EMAIL_FROM
andEMAIL_TO
fields ofrun.sh
; - Finally, run
run.sh --dry-run
to make sure that everything works => you should see a lineEMAIL =>
followed by a JSON object that lists the tasks that you checked today. - When the test works, run
run.sh
(without the--dry-run
argument) => you should receive an email within 5 minutes, given your Sendgrid account was provisionned. - Now you can push all that to your favorite web server or hosting service, and configure it so that
run.sh
is run every day, at the time of your choice. If, like me, you decide to use Heroku, you can use the Scheduler addon. Otherwise, acron
script should work.
WUNDERLIST_CLIENT_ID
: 20-char-long hexadecimal string, provided by Wunderlist developer console after creating an appWUNDERLIST_CLIENT_SECRET
: 60-char-long hexadecimal string, provided by Wunderlist developer console after creating an appWUNDERLIST_USER_TOKEN
: 60-char-long hexadecimal string, provided by clicking on "Create access token", from your Wunderlist developer console (or after usingauth.js
)SENDGRID_API_KEY
: API key provided by Sendgrid after creating your accountEMAIL_FROM
: Email address from which daily emails will be sentEMAIL_TO
: Email address of the recipient (i.e. you, I guess)