Back
Popular

Your Applets just got a memory: introducing DataStore

By The IFTTT Team

April 20, 2026

Your Applets just got a memory: introducing DataStore

Most automations are built to forget. They fire, they do their thing, and they move on with no record of what happened, no awareness of what came before. That works fine for simple tasks, but the more you build, the more you start running into its limits.

What if your Applet could remember the last time it ran? What if one automation could leave a note that another one picks up later? What if your whole setup could behave less like a collection of separate tools and more like one system that actually thinks?

That's exactly what DataStore makes possible. And today, it's available for IFTTT Pro+ users.

Start trial

What is DataStore?

DataStore gives your Applets a shared memory, a place to store information that sticks around between runs and can be read by any of your Applets.

Think of it like a sticky note that lives inside your IFTTT account. One Applet can write something on it. Another Applet can read it later. And unlike a Google Sheet workaround, DataStore is built directly into the platform. It's faster, simpler, and works seamlessly with your existing Applets.

Once a value is stored in DataStore, it shows up as an ingredient you can drop into any Action or Query field, the same way you'd use any other piece of data from a trigger.

Why does this matter?

Here's a real example. Say you have an Applet that auto-posts new articles from an RSS feed to your Twitter account. Simple enough. But what happens when that feed publishes five articles in an hour?

Without any memory, your Applet fires five times. Your followers see five posts back-to-back. Not ideal.

With DataStore, your Applet can remember the last time it posted. If it hasn't been long enough, it holds back. Your audience gets a steady, considered stream, and you never have to touch it manually.

That's the power of memory. Not just doing things, but doing them intelligently, based on what's already happened.

What can you store?

DataStore works with a simple key-and-value system. You give your stored piece of information a name (the key), and you set what it contains (the value).

For example:

  • Key: myHomeLocationStatus → Value: "entered" or "exited"
  • Key: lastRunTimestamp → Value: "2025-04-10T08:00:00"
  • Key: postCount → Value: 3

You can have as many keys as you need, up to 4KB of total storage per account. Values can be text, numbers, true/false flags, or more complex data, anything that can be represented as standard data.

How it works

DataStore works in two ways: through Filter Code for setting and reading values programmatically, and directly as an ingredient in any Action or Query field, no code required. In the ingredient picker, DataStore shows up just like any other service in the dropdown. If a value hasn't been set yet when the Applet runs, it'll simply be treated as empty.

For the Filter Code side, here's a plain-English breakdown of the four things you can do:

  • Save or update a value — stores something for later. The first time it runs, it creates it. Every run after that, it updates it.

  • Read a stored value — pulls the value back so your Applet can use it in its logic.

  • Delete a value — wipes it clean when you no longer need it.

  • Use a value to make a decision — this is where the real magic happens. Your Applet checks what's stored and decides whether to run, skip, or do something different based on it.

Two examples to get you started

Example 1: Only get alerts when you're away from home

The problem: Your security camera sends you a phone call every time it detects motion. Useful, but not when you're sitting on the couch.

The solution: Two Applets working together.

  • Applet 1 tracks whether you've entered or left your home area using the Location service. It writes "entered" or "exited" to DataStore.myHomeLocationStatus.

  • Applet 2 checks that value when motion is detected. If it says "entered" (you're home), it skips the call. If it says "exited", the call goes through.

Example 2: Space out Your social posts

The problem: A busy RSS feed triggers your Applet five times in an hour, flooding your X (Twitter) timeline.

The solution: One Applet with a built-in cooldown.

Each time a new feed item appears, the Applet checks DataStore.lastRunTimestamp. If less than 6 hours have passed since the last post, it skips. If enough time has passed, it posts and updates the timestamp.

The key line that makes this work is just:

DataStore.lastRunTimestamp = Feed.newFeedItem.EntryPublished;

That single line is what gives your Applet its memory. Everything else is just checking it and deciding what to do.

When should you use DataStore?

DataStore earns its place any time your Applet needs to remember something between runs. A few common situations:

  • Tracking state — Is a device on or off? Are you home or away?

  • Rate limiting — Has enough time passed since the last run?

  • Counting — How many times has this happened today?

  • Coordinating multiple Applets — Sharing information between automations that need to work together

If you've ever thought "I wish this Applet knew what happened last time," DataStore is the answer.

A few things to know

  1. Key names can be up to 100 characters. Use descriptive names so you remember what they're for — myHomeLocationStatus is much easier to read later than s1.
  2. Total storage is limited to 4KB per account across all keys.
  3. Values must be standard data types: text, numbers, true/false, arrays, or objects. Storing a function won't work and will return an error.
  4. If you try to read a key that hasn't been set yet, it returns an empty value — so it's safe to check without crashing your Applet.

Ready to try it?

DataStore is available now. Head into any Applet's Filter Code section and start with something simple, even just storing a timestamp or a status flag. Once you see your Applets start talking to each other, you'll wonder how you worked without it.

Start trial