IFTTT recipes for multiple devices

If I have, say, 30 devices and I want to create an IFTTT recipe that will log a certain event type from any of them into a google sheet, how do I do that?

At the moment, it appears that the only way to do that is to create 30 different IFTTT recipes.

Is this really the case? Is there no other solution? If not, is this an oversight or by design?

IMO you are right: IFTTT applets can only be setup on a per-device basis.

Why use IFTTT, then?

What about each device triggering a web hook that logs direct to Google Sheets?

Correct me if I’m wrong, but I think what you are proposing is:

  1. Create a Particle Product, which I will add those 30 Electrons to
  2. Create a webhook integration for this product that points to a custom Google Apps Script that I would write that would insert incoming publish data into a google sheet

Is that right?

I like this idea except that:

  1. You cannot create a Particle Product Webhook Integration that will forward all events from all devices in the product AFAIK. I think have to specify a specific publish event string to match the webhook. So for example, setting this webhook up for the event “transaction” would not work for “database” events. It is my understanding that I could, however set up a webhook that would work on nested/hierarchical naming strategies. So for example, I could have an event called “a/trans” and “a/dbase” that would both trigger the same webhook if that webhook was configured to fire on incoming “a/” events. Right?

  2. I have no experience writing Google Apps Scripts, so would likely have to invest a day or two of work into getting this up and running.

Good suggestion though! Any one else have any easier solutions?

There are other API for data collection if Google is too much overhead.

…Equally developing an internet connected device means some level of development at both ends, your endpoint has to know how to interpret your particle event which could be complex with several types of data inside the payload string. It is ambitious to anticipate some kind of magical catch all program that can automatically catch your events and store them in a useful manner. However a sheet of “eventname”,“payload” is absolutely possible both with Losant or by subscribing your own server to the event stream. However that seems rather useless, its little more at that point than a log stream of everything that happened, which might as well have one event name.

Understood. I’m the Electron guy and we have contracted out the server side development work to a web dev company. Just looking for a temporary way to view all data being generate by our fleet for the next 2 weeks until our own server is ready.

In the meantime I think I’ve found a workable solution:

  • OTA flash new firmware to our fleet that changes the Particle.publish() naming convention for all my app’s event names to have “e/” prepended to them
  • Configure a single webhook that fires on events starting with “e/” that points to a ThingSpeak channel
  • When I want to see the publish log, I can download the historical data for the ThingSpeak channel

I feel like having some sort of easily accessible solution built into the Particle ecosystem (accessible via the console) would be extremely useful to my work flow. It could just be the existing event stream, only you could keep scrolling down (back in history). I realize such a feature would entail Particle needing to add more overhead, but I think this would be a feature that many Particle users would be willing to pay for, especially if they could do so on a short time-scale (monthly rate to enable feature?)

This is good feedback @jaza_tom — your approach is a good one. Prepending the event names will do the trick to ensure that you’ll get the entire product firehose sent via webhooks.