Works with everything

Integrations

If it can make an HTTP request, it works with iotpush. Connect your favorite automation platforms in minutes.

n8n

Open-source workflow automation

Use the HTTP Request node in n8n to send push notifications from any workflow.

Example Workflow

Get a push notification when a new row is added to Google Sheets

Example Workflow

Monitor a website and get alerted when it goes down

HTTP Request Node Configuration

n8n — HTTP Request Node
Method:  POST
URL:     https://www.iotpush.com/api/push/my-topic

Headers:
  Authorization: Bearer {api_key}
  Content-Type:  application/json

Body (JSON):
{
  "title": "New Row Added",
  "message": "{{$json.column_name}} was added to the sheet",
  "priority": "normal"
}

💡 Tip: Use n8n expressions like {{$json.field}} to inject dynamic data from previous nodes.

Make (Integromat)

Visual automation platform

Add an HTTP > Make a request module to any Make scenario to send iotpush notifications.

Example Scenario

Get push notifications for new Shopify orders

Example Scenario

Alert when someone fills out a Typeform

HTTP Module Configuration

Make — HTTP Module
Module: HTTP > Make a request

URL:     https://www.iotpush.com/api/push/my-topic
Method:  POST

Headers:
  Authorization: Bearer {api_key}
  Content-Type:  application/json

Request content:
{
  "title": "New Shopify Order",
  "message": "Order #{{order_number}} — {{total_price}}",
  "priority": "high"
}

💡 Tip: Map fields from previous modules using Make's variable picker to create dynamic notifications.

Zapier

Connect your apps and automate workflows

Use the Webhooks by Zapier action to send a POST request to iotpush from any Zap.

Example Zap

New email in Gmail → push notification

Example Zap

New Stripe payment → push alert

Webhooks by Zapier — POST Action

Zapier — Webhooks Action
Action: Webhooks by Zapier > POST

URL:     https://www.iotpush.com/api/push/my-topic

Headers:
  Authorization: Bearer {api_key}
  Content-Type:  application/json

Data (JSON):
{
  "title": "New Payment",
  "message": "Received {{amount}} from {{customer_email}}",
  "priority": "normal"
}

Payload Type: json

💡 Tip: Use Zapier's field mapping to insert data from any trigger (Gmail, Stripe, Airtable, etc.).

Home Assistant

Open-source home automation

Define a REST command in your Home Assistant configuration, then call it from any automation. Perfect for motion sensors, door triggers, temperature alerts, and more.

Example Automation

Motion sensor triggers → push notification to your phone

Example Automation

Temperature sensor exceeds threshold → instant alert

configuration.yaml — REST Command

yaml
rest_command:
  iotpush_notify:
    url: "https://www.iotpush.com/api/push/my-topic"
    method: POST
    headers:
      Authorization: "Bearer YOUR_API_KEY"
      Content-Type: "application/json"
    payload: >
      {"title": "{{ title }}", "message": "{{ message }}", "priority": "{{ priority }}"}

Automation Example — Motion Sensor

yaml
automation:
  - alias: "Motion Alert — Front Door"
    trigger:
      - platform: state
        entity_id: binary_sensor.front_door_motion
        to: "on"
    action:
      - service: rest_command.iotpush_notify
        data:
          title: "Motion Detected"
          message: "Movement at the front door at {{ now().strftime('%H:%M') }}"
          priority: "high"

💡 Tip: Use Home Assistant templates to include sensor values, timestamps, and device states in your notifications.

cURL / Any Platform

Works with anything that can make HTTP requests

iotpush uses a simple HTTP API. If your tool, script, or platform can send an HTTP POST request, it can send push notifications.

Quick Test

bash
# Simplest possible push notification
curl -d "Hello World!" https://www.iotpush.com/api/push/my-topic

With Authentication

bash
curl -X POST https://www.iotpush.com/api/push/my-topic \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Server Alert",
    "message": "CPU usage at 95%",
    "priority": "high"
  }'

Using Headers

bash
curl -X POST https://www.iotpush.com/api/push/my-topic \
  -H "Title: Disk Space Warning" \
  -H "Priority: urgent" \
  -H "Tags: server,disk" \
  -d "Only 5% disk space remaining on /dev/sda1"

wget Alternative

bash
wget --post-data="Backup complete!" \
  https://www.iotpush.com/api/push/my-topic

Works with: Shell scripts, cron jobs, CI/CD pipelines (GitHub Actions, GitLab CI, Jenkins), monitoring tools (Prometheus Alertmanager, Grafana), IoT devices (ESP32, Raspberry Pi), and literally anything else with HTTP.

Drop-in Pushover replacement

Pushover-Compatible Integrations

These apps have built-in Pushover support. Just change the API URL to iotpush and use your topic API key.

*arr

Sonarr / Radarr / Lidarr

Media automation for TV, movies, and music

All *arr apps have native Pushover support. Configure iotpush as a custom Pushover server.

Setup Steps

  1. Go to Settings → Connect → Add → Pushover
  2. Click the wrench icon to access advanced settings
  3. Set Server to: https://iotpush.com
  4. Set API Key to your iotpush topic API key
  5. Set User Key to your topic name (e.g., sonarr-alerts)
  6. Test and save!
Sonarr/Radarr Connection Settings
Name:      iotpush
Server:    https://iotpush.com
API Key:   your-topic-api-key-here
User Key:  your-topic-name

Triggers:  ✓ On Grab  ✓ On Download  ✓ On Upgrade  ✓ On Health Issue

💡 Works the same for Sonarr, Radarr, Lidarr, Readarr, and Prowlarr.

Prometheus Alertmanager

Metrics alerting for Kubernetes and beyond

Alertmanager supports Pushover natively. Configure iotpush as the receiver.

alertmanager.yml

yaml
receivers:
  - name: 'iotpush'
    pushover_configs:
      - user_key: 'your-topic-name'
        token: 'your-topic-api-key'
        # Override Pushover URL to use iotpush
        http_config:
          proxy_url: ''
        # Custom API URL (requires Alertmanager 0.25+)
        api_url: 'https://iotpush.com/api/1/messages.json'
        
        title: '{{ .Status | toUpper }}: {{ .CommonLabels.alertname }}'
        message: '{{ .CommonAnnotations.summary }}'
        priority: '{{ if eq .Status "firing" }}1{{ else }}0{{ end }}'

route:
  receiver: 'iotpush'
  group_by: ['alertname']
  group_wait: 30s

Note: If your Alertmanager version doesn't support api_url, use a webhook receiver instead pointing to https://iotpush.com/api/push/your-topic

UptimeRobot / Healthchecks.io

Uptime and cron job monitoring

UptimeRobot

  1. Go to My Settings → Alert Contacts
  2. Add new contact → Pushover
  3. API Token: your iotpush topic API key
  4. User Key: your topic name
  5. For the server URL, use webhook instead with: https://iotpush.com/api/push/your-topic

Healthchecks.io

  1. Go to Integrations → Pushover
  2. Since healthchecks.io doesn't allow custom URLs, use Webhook instead
  3. URL: https://iotpush.com/api/push/your-topic
  4. Method: POST
  5. Add header: Authorization: Bearer YOUR_API_KEY
Webhook URL for monitoring services
POST https://iotpush.com/api/push/uptime-alerts

Headers:
  Authorization: Bearer your-topic-api-key
  Content-Type: application/json

Body:
{
  "title": "$MONITORNAME is $ALERTTYPE",
  "message": "$MONITORURL - $ALERTDETAIL",
  "priority": "high"
}

SABnzbd / qBittorrent / Transmission

Download managers and torrent clients

SABnzbd

  1. Go to Config → Notifications
  2. Enable Pushover notifications
  3. API Key: your iotpush topic API key
  4. User Key: your topic name
  5. SABnzbd doesn't allow custom URLs, so use the script method below

Post-Processing Script (Universal)

bash
#!/bin/bash
# save as: iotpush-notify.sh
# Add to your download client's post-processing scripts

TOPIC="downloads"
API_KEY="your-topic-api-key"
TITLE="Download Complete"
MESSAGE="$1 has finished downloading"

curl -s -X POST "https://iotpush.com/api/push/$TOPIC" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"title\": \"$TITLE\", \"message\": \"$MESSAGE\"}"

💡 Works with any download client that supports post-processing scripts.

openHAB / Domoticz

Open-source home automation platforms

openHAB (pushover binding)

text
# In services/pushover.cfg, openHAB's Pushover binding 
# doesn't support custom URLs. Use HTTP binding instead:

# things/http.things
Thing http:url:iotpush "iotpush" [
    baseURL="https://iotpush.com/api/push/home-alerts",
    authMode="BASIC",
    username="",
    password="your-topic-api-key"
]

# rules/notify.rules
rule "Motion Alert"
when
    Item MotionSensor changed to ON
then
    sendHttpPostRequest(
        "https://iotpush.com/api/push/home-alerts",
        "application/json",
        '{"title":"Motion","message":"Motion detected!","priority":"high"}',
        newHashMap("Authorization" -> "Bearer YOUR_API_KEY")
    )
end

Domoticz

text
# Setup → Settings → Notifications → Pushover

# Domoticz doesn't support custom Pushover URLs.
# Use Custom HTTP/Action instead:

# Setup → More Options → Events → Create dzVents script:

return {
    on = { devices = { 'Motion Sensor' } },
    execute = function(domoticz, device)
        if device.state == 'On' then
            domoticz.openURL({
                url = 'https://iotpush.com/api/push/domoticz',
                method = 'POST',
                headers = { 
                    ['Authorization'] = 'Bearer YOUR_API_KEY',
                    ['Content-Type'] = 'application/json'
                },
                postData = {
                    title = 'Motion Alert',
                    message = device.name .. ' triggered',
                    priority = 'high'
                }
            })
        end
    end
}

🔄 Migrating from Pushover?

For any app with Pushover support, the migration is simple:

1️⃣

Change URL

api.pushover.net
iotpush.com

2️⃣

Use Topic API Key

Your iotpush topic API key
goes in the token field

3️⃣

Topic Name

Your topic name goes in
the user field

Pushover → iotpush Migration
# Before (Pushover)
curl -s --form-string "token=PUSHOVER_APP_TOKEN" \
       --form-string "user=PUSHOVER_USER_KEY" \
       --form-string "message=Hello" \
       https://api.pushover.net/1/messages.json

# After (iotpush) — just change URL and credentials!
curl -s --form-string "token=YOUR_IOTPUSH_TOPIC_API_KEY" \
       --form-string "user=your-topic-name" \
       --form-string "message=Hello" \
       https://iotpush.com/api/1/messages.json

Coming Soon: Native Integrations

We're building native nodes and apps for popular automation platforms. No more HTTP configuration — just drag, drop, and push.

Zapier AppSoon
n8n NodeSoon
Make AppSoon
Home Assistant Add-onSoon

Ready to automate?

Create a free account and start pushing in under a minute.