# Custom Zeno Alerts with Android Automate

**URL:** <https://forum.beeminder.com/t/custom-zeno-alerts-with-android-automate/7688>\
**Category:** Tech\
**Created:** [January 12, 2021, 3:10pm UTC](https://forum.beeminder.com/t/custom-zeno-alerts-with-android-automate/7688 "2021-01-12T15:10:33Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![narthur](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/narthur/32/5113_2.png) [@narthur](https://forum.beeminder.com/u/narthur)\
**Post date:** [January 12, 2021, 3:10pm UTC](https://forum.beeminder.com/t/custom-zeno-alerts-with-android-automate/7688/1 "2021-01-12T15:10:33Z")

</div>

I have a a lot of Beeminder goals. As a result, I’ve come to view Beeminder’s zeno alerts as basically useless, since they result in so many notifications, most of which I can ignore, resulting in me ignoring them altogether.

A while back, I created my own zeno alert system using Android Automate, but it got pretty complicated and recently broke. So I decided to rebuild it, while trying to keep it as simple as possible, and share some of the details here.

My new zeno system has the following attributes:

- It only notifies me for the very next goal that is due.
- It notifies me via an Android notification and a text-to-speech alert.
- It otherwise follows the zeno schedule by scheduling the next notification for half the time remaining on that goal.
- If I’ve completed the goal before the scheduled notification fires, at the previously-scheduled time it notifies me for the new next goal, and then schedules a new notification for that goal on its own zeno schedule.
- It uses exponential back-off in the case of a failure, usually due to poor network connectivity.
- As a bonus, it texts my wife my notifications, too. (I can be pretty absent minded, so this has saved me from derailing many times!)

Below is an image of the flow. Click it to see the full-size image. This leaves out quite a bit of detail. If you’d like to try something like this for yourself, let me know and I can add some images of the configurations of the important blocks.

[![Beeminder Zeno Simple](https://us1.discourse-cdn.com/flex019/uploads/beeminder/original/2X/9/95b4279da46462f337bab20c6c359aa1198a2283.jpeg)](https://forum.beeminder.com/uploads/short-url/lml7CiCEKYDhpIczA6n5vTGgHT5.jpeg)

---

<div class="post-metadata">

**Author:** ![lancemcdoogal](https://avatars.discourse-cdn.com/v4/letter/l/ed8c4c/32.png) [@lancemcdoogal](https://forum.beeminder.com/u/lancemcdoogal)\
**Post date:** [February 11, 2022, 8:40pm UTC](https://forum.beeminder.com/t/custom-zeno-alerts-with-android-automate/7688/2 "2022-02-11T20:40:33Z")

</div>

I’m on iOS so I guess I can’t do anything like this, but I have the same problem when I have too many beeminder goals set up.

On the other hand, when I’m using any task manager app I’m like, “What, only one reminder? I have to schedule the rest”

---

<div class="post-metadata">

**Author:** ![bizzle](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/bizzle/32/4723_2.png) [@bizzle](https://forum.beeminder.com/u/bizzle)\
**Post date:** [February 17, 2022, 5:34pm UTC](https://forum.beeminder.com/t/custom-zeno-alerts-with-android-automate/7688/3 "2022-02-17T17:34:53Z")

</div>

How did you get the beeminder information on the goals and whether they were due/how much time left? Thanks

---

<div class="post-metadata">

**Author:** ![narthur](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/narthur/32/5113_2.png) [@narthur](https://forum.beeminder.com/u/narthur)\
**Post date:** [February 25, 2022, 11:44am UTC](https://forum.beeminder.com/t/custom-zeno-alerts-with-android-automate/7688/4 "2022-02-25T11:44:55Z")

</div>

I think this is what you’re looking for:

> [@Using Beeminder with Android Automate](https://forum.beeminder.com/t/using-beeminder-with-android-automate/6401):
>
> I’ve been playing around with the Android app [Automate](https://play.google.com/store/apps/details?id=com.llamalab.automate&hl=en), and it seems pretty slick. Anyway, I found a pretty neat way to use it to post datapoints to Beeminder, so I thought I’d share. Step 1: Create your Beeminder Service flow Create a flow that your other flows will use to post a datapoint to Beeminder. I called mine “Beeminder Service.” Here’s a screenshot of the flow: The “Log” block is optional, but nice for debugging. The block that does all the work is the “HTTP r…
