IFTTT

IFTTT stands for "If This Then That" and can serve as glue for setting up a makeshift integration between Beeminder and anything that IFTTT connects to.

What can I beemind with IFTTT?

Possibly literally (well, maybe not literally) anything, but it depends on IFTTT's partnerships. They have hundreds of different channels you can use to send information to a Beeminder goal. If the app you want isn't supported, you might even be able to use its notifications, emails, or digests as the trigger instead.

How do I make an IFTTT goal?

First, make sure you know what type of data IFTTT will send — this has implications on the Beeminder goal type you want to use. Do More and Do Less goals are by far the most common, but there are use cases for the other types as well.

You'll need to create a regular Beeminder goal with the correct goal type first (e.g. Do More), then create or enable an existing IFTTT applet to send data to that goal (check out a step-by-step example). Once your applet is set up, Beeminder should receive a datapoint the next time your trigger is triggered.

Can I start sending IFTTT data to an existing goal?

Probably! If the existing goal is already using a Beeminder autodata integration, contact support first so we can remove the current configuration.

If your existing goal has a different type than the one you want to use with IFTTT, it may not be possible to convert the goal cleanly and retain its history. It's most likely simpler to start a new goal, but you can contact support to check.

Why can't I enter manual data on the website anymore?

When we first receive a datapoint from IFTTT, we change the Data Source in your goal settings to indicate that it's been picked up as an IFTTT goal. Removing the entry boxes on the site makes it a little more difficult to enter non-automatic datapoints, since they should be coming only from your IFTTT applet... right?

However, if you don't like this setting, or if your applet fails to run and you need to input missing information, you can switch that setting back to Manual and the entry boxes will appear again. (And we won't switch it back on you anymore!)

If you change your mind and want to stick to automatic data, you can switch it back again via the same radio buttons.

IFTTT is sending data in a format Beeminder doesn't recognize.

Bethany did some super nifty coding to parse what IFTTT sends and translate it into something Beeminder understands. Odds are it's covered in that list, but if you have a new idea, let us know in support!

  • TOD[] : Say you want to use the time-of-day part of a full DateTime string, such as the AwokeAt Ingredient from Fitbit's "New Sleep Logged" Trigger (the very-popular "Do Less oversleeping" goal).
    • How to Use: In the Add Datapoint Action's "Value" field, wrap the Trigger Ingredient with TOD[], so e.g., TOD[{{AwokeAt}}].

      When Beeminder sees the string TOD[May 12, 2015 at 06:30AM], it will throw away the rest of the date portion and use only the time (6:30) and submit that to Beeminder just as when you submit 6:30 through the web interface (since Beeminder interprets it as 6.5).
  • HMS[] : IFTTT Triggers also sometimes provide a duration value — in the case of Fitbit sleep again, we have TimeAwake, which is the duration of the time Fitbit figures you were actually awake, despite being in sleep mode. This is typically a string that looks like "30m", or "6h 23m".
    • How to Use: In the Add Datapoint Action's "Value" field, wrap the Trigger Ingredient with HMS[], e.g., HMS[{{AwakeTime}}].

      When Beeminder sees HMS[6h 23m] submitted from IFTTT, it gets rid of the d, h, m, or s part & turns it into a value that Beeminder recognizes: 6h 23m => 6:23 => 6 + 23/60 => 6.38333.
  • NUM[] : Say you have Goodreads autotweeting your page number and you want to send that to Beeminder. But the tweet is something like "Bethany is on page 54 of 512 of...." You want to grab just that first "54".
    • How to Use: In the Add Datapoint Action's "Value" field, wrap the Trigger Ingredient for the tweet text in NUM[] like NUM[{{Text}}].
  • SUM[] : If you wrap a Trigger Ingredient in SUM[], then we'll parse out all the numbers and sum them up and send that along to Beeminder!
  • PROD[] : Same as SUM[], but multiplies rather than adds.
  • WORDCOUNT[] : Counts the words between []. So WORDCOUNT[Alpha, Beta, Gamma, Delta, Epsilon] would count 5 words.
  • CHARCOUNT[] : Same as WORDCOUNT[] but counts all the characters.

I did my goal right before the deadline, but IFTTT sent my data too late and I derailed.

This is an atypical integration in that IFTTT sends us data, rather than us requesting the data from them. So unfortunately this happens sometimes, as we can't ask for the data before derailing you. You can call not legit by replying to the legitimacy check email, and the support team will sort things out!

I'm doing my goal, but Beeminder isn't showing any new datapoints.

Check your applet activity in your IFTTT account settings to be sure that the trigger is being recognized and acted on appropriately. We receive data from IFTTT; if we don't understand it, you'll get an email from us explaining the failure with suggestions on what might fix it. If we don't receive anything, we don't know that there's been a problem!

If the applet says anything about an error on our end, we definitely want to hear about that. Let us know what's going on with a copy of the error message, so that we can take a look!

Can I see an example?

We've got you covered! This example uses a pre-created applet, but you can also create your own using any supported IFTTT trigger and the Beeminder Add Datapoint action. Create the goal in Beeminder, select the goalname to send data to in the applet, double-check that the right value will be submitted, and your goal is ready to go!


Keywords: autodata integrations, meta-integrations, productivity, automation, see also Zapier

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us