Email from IFTTT

Today I've got an email from IFTTT:

Hi dial,
Your IF Recipe ID 21606xxx has been automatically turned off.
Trigger
Spark - Monitor your device status
Action
Twitter - Post a tweet
Description
If core#1 is Online, then post a tweet to @dialThatNumber
Created
March 22, 2015 at 02:52AM
The Recipe's fields may point to stale information or use Channels that need to be reactivated. For more information, visit your Recipe Logs.
If you'd like to disable these automated alerts, head over to settings.
— The IFTTT Team

I had no idea what was going on, because said core is offline.
Of course, I have a bunch of recipes running, 2 for each of my cores.
They all send me a tweet to indicate a change of their status, e.g. if they are switched on or off.
Simple as that, nothing sophisticated. What was going on here?

A quick look into the logs of the recipes revealed that something really bad has happened.
All my recipes have dozens of entries like this:

Spark
Twitter
Spark Trigger Error 38 minutes ago
An error with Spark prevented your Recipe from working. Edit the Spark Channel or try again. If errors persist, visit the Help page for support.
Spark
Twitter
Spark Trigger Error about 1 hour ago
An error with Spark prevented your Recipe from working. Edit the Spark Channel or try again. If errors persist, visit the Help page for support.
Spark
Twitter
Spark Trigger Error about 1 hour ago
An error with Spark prevented your Recipe from working. Edit the Spark Channel or try again. If errors persist, visit the Help page for support.
Spark
Twitter
Spark Trigger Error about 1 hour ago
An error with Spark prevented your Recipe from working. Edit the Spark Channel or try again. If errors persist, visit the Help page for support.
Spark
Twitter
Spark Trigger Error about 2 hours ago
An error with Spark prevented your Recipe from working. Edit the Spark Channel or try again. If errors persist, visit the Help page for support.
Spark
Twitter
Spark Trigger Error about 2 hours ago
An error with Spark prevented your Recipe from working. Edit the Spark Channel or try again. If errors persist, visit the Help page for support.
Spark
Twitter
Spark Trigger Error about 2 hours ago
An error with Spark prevented your Recipe from working. Edit the Spark Channel or try again. If errors persist, visit the Help page for support.

The web-page with graphics looks even worse.

However, they asked me to log in again with my Sark credentials and it occured to me: How about the access-token?
I know that IFTTT creates its own tokens automatically.
A simple 'curl' was all I had to do to clarify the situation:

 {
   "token": "8cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx6f5",
   "expires_at": "2015-05-06T16:38:11.696Z",
   "client": "ifttt-5545"
 },
  {
   "token": "1cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx6f5",
    "expires_at": "2015-08-10T19:04:57.309Z",
    "client": "ifttt-5545"
  },

One token expired, one new created. Problem solved, at least on my side.

However, there are aspects in my recipes beyond my control.
Why is a recipe triggered about 3 times per hour once a token is void, even if the core is offline?
This makes no sense, and causes a lot of unnecessary actions, which then finally causes IFTTT to drop out.
In my case that circulations in a dead-end-situation lasts for almost a week.

And why does IFTTT not note that a token is void and hence a channel is dead? A simple notification from IFTTT that a token is about to expire would have been satisfying. Now I have got an email as well, but too late and it introduced kind of a bad attitude.

But as it was easily solved, a more general approach could solve it for everybody:
Maybe an automated extension of the old-style 90-days tokens would be permissible for users on the IFTTT-website, at least as an explicit option.

Hi @dial,

Good question! When IFTTT creates tokens using oauth they also get a refresh token. This refresh token gives them the ability to create new tokens over time. In theory, if IFTTT is using oauth properly, they should be refreshing their user tokens to avoid this scenario. I’m a little confused about your fix / the issues you saw, would you mind direct messaging me and we could setup a time next week (after maker faire) to chat briefly about it? That would help me when I bring this up with the IFTTT api team.

Thanks!
David