Heyo all –
I’ve been interested in getting notified about various things in WaniKani and I’ve finally gotten around to making something that does so - I hope some of you find this useful!
High level overview
Using this integration you can:
- Get notified when you level up
- Get notified when you have new reviews
- Get notified when you have new lessons
By “get notified” I mean that you can choose one of hundreds of apps to take some action in. For instance, you could say,
“When I level up, post to my Slack channel that I’m super awesome” - or, if you want to motivate yourself you could say,
“When I have more than 50 reviews, post to twitter that I’m a scrub who needs to work on doing reviews.“ - or, if you find that you need an email or a text message when reviews become available because you don’t want to check WaniKani all the time, you can set that up, too!
You can also restrict the above notifications to only notify you when you have a particular amount of lessons / reviews or for it to only notify you when you have a particular amount of radicals/kanji/vocab words.
More specific examples of what you might want to do:
- Post to Twitter / Slack / Discord when you level up to celebrate
- Send yourself a text message when you have more than X number of reviews
- Schedule an event in your calendar when new reviews become available so you can make sure to get them done
- Send yourself a message in Slack / Discord when you have new reviews or lessons.
- Send a friend a message when you have too many lessons so they can poke you and make sure you stay on top of things.
- Receive an email letting you know exactly how many reviews and what types of reviews you have (radicals, kanji, vocab words) quickly after they become available (rather than waiting for the WaniKani message to come in).
What is powering this (aka what is Zapier)?
Zapier is a company whose software allows you to integrate 1500+ apps together. In order to use this integration, you’ll need to sign up for a Zapier account (sorry! I know signing up for new accounts always sucks). I’ve tried my best to make sure that using this integration won’t cost any money - so signing up for the free tier will allow you to use all the features here. With the free tier, you’ll be able to get notified up to 100 times per month on these various things.
I’ve made it so the “New Review” and “New Lesson” trigger can be filtered to only notify you when you have some number of reviews / lessons or some number of radicals/kanji/vocab to help minimize the amount of notifications you get. When you get notified, you’ll be notified about all the reviews / lessons in one message.
Here’s a getting started guide for helping you to understand more about Zapier and how it works if you so desire: https://zapier.com/learn/getting-started-guide/
How to set this up
- Generate an API token in WaniKani by clicking on “Account” in the top right corner of the WaniKani page and then selecting “API Tokens” under “Settings”. From that page, you’ll press “Generate a new token” and then copy / paste that into the spot Zapier asks for later on.
- Sign up with Zapier by going here and entering your email / name into the “Get Started Free” signup box.
Pre-defined use cases
- I’ve pre-defined some common use cases that you can find by going here: https://zapier.com/apps/wanikani/integrations#zap-template-list - if you find something there that you want to use you can click “Try it” to get started. If you don’t like those options, skip to the next section.
- From there, it’ll ask you to sign in to both WaniKani and the other app you wish to connect with.
- Depending on the template you selected, you may be given the option to enter more data to customize it. You don’t need to - but for things like posting to Twitter or Slack you may want to change the message to be more “You”.
- You can press “Go to Advanced Mode” to fine tune things a bit more (such as if you want to customize the message being sent or only send notifications for X number of reviews). In that mode, the instructions will largely be similar to the “Create your own use case” instructions down below - you’ll follow the flow of things asked for you and customize things as you see fit. Note that you will be asked to “Test & Continue” after each step - you can skip those if you want but I recommend that you don’t so that you can ensure everything is working. Worth noting is that for the WaniKani step, I always have it return sample data in the editor since you may not have lessons or reviews or whatnot (don’t worry - you’ll get actual data once you turn it on).
- Once you have it to where you want, you’ll want to press “Turn on Zap”.
Create your own use case
- If you’d rather make the Zap yourself (so you aren’t limited to just the pre-defined cases I came up with) - you can do so by going to https://zapier.com and pressing the “Make a Zap” button in the top right corner.
- From there, you’ll select the app you want (WaniKani) and then you’ll select the trigger you want (New Level, New Lesson, New Review).
- After you pick that, it’ll ask you to select your WaniKani account. You’ll press the dropdown and then add your account. This is where you’ll copy that API token you generated above.
- Press “Continue” and then “Test & Continue” to pull in sample data (this will be fake since you aren’t guaranteed to have reviews or lessons).
- You’ll then be asked to select an app to take some action in. If you want to send a text message, for instance, you’d select “SMS”. If you want to post to Twitter, you’d select “Twitter”, etc etc
- Depending on the app you pick, you’ll be asked to sign in there.
- After that, you’ll follow a similar procedure to the first part of customizing what you want and eventually testing it. I’d recommend to test to make sure it’s all working.
- Once you have it as you want it, you’ll press “Turn On Zap” or hit the “On/Off” button in the top right corner.
- Here’s a gif of what it looks like to select one of the common use cases (send an email when you have new reviews): https://zappy.zapier.com/4c4b3b38d02cc55a51964cd057316b14.gif
- Here’s a gif of what it looks like to make a “Zap” without selecting one of the common use cases. In this example, I’ll send myself a direct message in Slack whenever I have more than 10 kanji to review: https://zappy.zapier.com/573c4aeda5f292914f5d09be31892b10.gif
Where the code lies
This is the first piece of open source code I’ve published so apologies if I’ve missed anything. You can find the code here: https://github.com/mikesol314/zapier-platform-app-wanikani
Due to the way this is deployed, making changes to this repo won’t immediately update the app in Zapier. If you’d like to make changes you’re welcome to submit a PR and I’ll coordinate rolling it out if I think the changes are kosher.
Missing features or experiencing bugs?
If you run into any issues with this or you want anything to be added please post here and I’ll do my best to look into it! If you are more programatically inclined, also feel free to submit a PR to the above repo and I’ll review it .
If you want help about the Zapier side of things, it’s probably best to reach out to
email@example.com as I make no promises about my response time here. That being said, I would be bummed if y’all wanted to use this but couldn’t or found it too confusing so I really do want to try and help out where I can.
Conflict of interest?
I want to be open about the fact that I do work as an engineer at Zapier - although all of this was done in my personal time. I’ve tried my best to make sure that everything here can be done with the “free” tier.
I don’t get any bonuses or kickbacks of any kind as part of this. I wanted to do this both for my own gain of having said automation but also as a way of hopefully giving back a bit to the community and WaniKani in general. I think there’s a lot of room to improve automations and connections between services in the education industry and this seemed like a good place to start.
Also, since I’ve seen this elsewhere, anything I say here is strictly my own opinions and thoughts and in no way relates to Zapier.