iotPush × Android

Android taps back too.

No, Android doesn't have a Shortcuts app. It has something arguably better: buttons that live anywhere — the Quick Settings shade, the home screen, a 30-cent NFC tag — and they're all one import away. Plus the full two-way approval loop, in Tasker.

01 The one-tap pack

Runs on the free, open-source HTTP Shortcuts app — the standard "buttons for HTTP" tool on Android. Our packs import into it with one tap.

  1. Install HTTP Shortcuts Free on the Play Store, no account, no ads.
  2. Tap an import button below — on your phone The pack opens straight in the app and asks to import. Accept.
  3. Point it at your topic The pack ships against the public demo-alerts topic so it works instantly. Open a shortcut → tap the URL → change the last path segment to your own topic name. A private topic also needs a header: Authorization: Bearer <your topic key>.
  4. Put buttons where you live Long-press the home screen → Widgets → HTTP Shortcuts, or long-press any shortcut in the app → Place on home screen.
⬇ Add the Basics pack (4 buttons) ⬇ Add the Ask-Me pack (prompts, then sends)
🏡

I'm Home

One tap from the Quick Settings shade, a widget, or an NFC tag by the door.

pre-wired as your Quick Settings tile
🚗

On My Way

Home screen button for the car. Or write it to a tag on the dashboard.

📣

Heads Up

The generic ping. Rename it, reword it, multiply it.

🚶

Left the Office

Pair with MacroDroid's location trigger for the zero-tap version.

✍️

Ping the Team

Asks what to say every time you tap it, then sends exactly that.

Import didn't open the app?

Download the raw file instead — basics.json · askme.json — then in HTTP Shortcuts: ⋮ menu → Import/Export → Import from file.

02 The Quick Settings tile — Android's Action Button

  1. Import the Basics pack first "I'm Home" arrives pre-marked as the tile shortcut.
  2. Swipe down twice → tap the pencil ✏️ That's the tile editor.
  3. Drag the HTTP Shortcuts tile into your active tiles Done. Swipe-down → tap → the push is sent. Works from the lock screen.

03 NFC tags — better on Android than anywhere

Android reads NFC tags in the background with no extra app. Each shortcut you imported has a fixed deep link — write it to a tag and tapping the tag fires the push.

  1. Grab any NTAG213/215 sticker About 30 cents each online.
  2. Install the free NFC Tools app
  3. Write → Add a record → Custom URL/URI Paste the deep link for the button you want, from the table below.
  4. Approach tag → Write Stick it on the door, the dashboard, the fridge. Tap to fire — HTTP Shortcuts handles the link and sends the request.
ButtonTag payload (deep link)
🏡 I'm Home http-shortcuts://11b01fc7-e065-585e-8400-729996eab9eb
🚗 On My Way http-shortcuts://f0daff58-3672-5601-bb7c-45bd51dc5076
📣 Heads Up http-shortcuts://dae28003-0e40-5f8f-91b0-85acd44d61c2
🚶 Left the Office http-shortcuts://225da31c-7e37-58a3-a9ac-9b69941649d3
✍️ Ping the Team http-shortcuts://a41fd7cf-397a-5118-afc5-b4afb061c4db

04 Tasker — including the full two-way loop

Tasker speaks HTTP natively, so plain sends need no plugin and no import. And because Tasker has real control flow, it can do what the one-tap pack can't: ask a human and block until they answer.

A plain send (six taps)

  1. Tasks tab → + → name it Send iotpush
  2. + → Net → HTTP Request
  3. Method: POST · URL: https://www.iotpush.com/api/push/demo-alerts Keep the www — the bare domain answers with a redirect.
  4. Headers: Content-Type: application/json
  5. Body:
    { "title": "Tasker", "message": "Sent from my automation 🤖" }
  6. Back → play ▶ to test Attach it to any Tasker profile: time, location, wifi connect, app open, battery level, whatever you automate.

Ask → wait → act (the approval loop)

Works on every plan (Free includes 20 approvals a month — see pricing) and needs an account API key (Settings → API keys, scopes questions:ask + questions:read). Tasker parses JSON responses natively — %http_data.question_id just works.

  1. HTTP Request — ask POST https://www.iotpush.com/api/v1/questions · Headers: Authorization: Bearer iop_live_… and Content-Type: application/json
    { "topic": "demo-alerts", "kind": "confirm", "timeout_s": 300,
      "question": "Tasker wants to run the night routine. OK?" }
  2. Variable Set: %qid → %http_data.question_id
  3. Task → Wait: 2 seconds (politeness beat before the first poll)
  4. HTTP Request — wait GET https://www.iotpush.com/api/v1/questions/%qid/wait?timeout=25 · same Authorization header · Timeout (in the action settings): 35 seconds.
  5. If %http_data.status ~ pending → Goto step 4 Loop until someone answers. The question expires server-side after 5 minutes, so the loop always terminates.
  6. If %http_data.answer.action_id ~ approve → do the thing Else stop. Branch on action_id, not the label — labels can be reworded, ids can't.
MacroDroid instead?

Same shape, friendlier editor: Action → HTTP Request → POST, same URL, same JSON body. MacroDroid's location / wifi / bluetooth triggers make the zero-tap templates ("Left the Office", "Parked") one macro each.

Where's the native app in all this?

These surfaces work today with the iotpush you already have. Native Android actions — a widget pack in the iotpush app itself, and App Functions so Gemini can ask your topics questions — are on the roadmap, and everything on this page keeps working when they land.

Get the iotPush app