Zum Inhalt springen
Developer Guide

HookTap in Minuten integrieren

Sende HTTP-POST-Anfragen an deine persönliche URL und empfange sie als Echtzeit-Push-Notifications auf deinem iPhone.

Überblick

Was ist HookTap?

HookTap verwandelt dein iPhone in einen Echtzeit-Webhook-Empfänger. Jede HTTP-POST-Anfrage an deine persönliche URL wird sofort als Push-Notification auf dein Gerät weitergeleitet – kein Server, kein Polling, kein Setup.

Schritt 1

Webhook erstellen

01

App installieren

Lade HookTap aus dem App Store. Beim ersten Start wird automatisch ein anonymer Account erstellt – ohne E-Mail oder Passwort.

→ App Store
02

URL kopieren

Deine persönliche Webhook-URL wird sofort in der App angezeigt. Kopiere sie und verwende sie überall, wo HTTP-Anfragen möglich sind.

Deine persönliche Webhook-URL

https://hooks.hooktap.me/webhook/YOUR_ID

Keine Registrierung. Kein Passwort. Sofort einsatzbereit.

Schritt 2

Erstes Event senden

Sende einen JSON-Payload an deine Webhook-URL. Das Event kommt innerhalb von Sekunden auf deinem iPhone an.

curl -X POST https://hooks.hooktap.me/webhook/YOUR_ID \
  -H "Content-Type: application/json" \
  -d '{
    "type":  "build",
    "title": "CI succeeded",
    "body":  "Staging deploy is live"
  }'

Payload-Felder

typeEvent-Label – beliebiger String, z. B. "build", "deploy", "alert"
titleBenachrichtigungstitel auf dem Sperrbildschirm
bodyBenachrichtigungstext
CLI

Offizielles Kommandozeilen-Tool

Installiere die HookTap CLI, um Events aus Skripten zu senden, eine Terminal UI zu öffnen, Profile zu verwalten und bei fertigen Commands benachrichtigt zu werden.

Installation

Mit einem Befehl installieren

Nutze den curl Installer für macOS und Linux oder installiere über den Homebrew Tap.

# macOS / Linux
curl -fsSL https://hooktap.me/install.sh | sh

# Homebrew
brew install HookTap/tap/hooktap

Setup

Per Pairing-Code verbinden

Erzeuge in der iPhone-App einen einmaligen Code und starte setup. Manuelle Webhook-IDs und benannte CI-Profile funktionieren weiter.

# Guided setup
hooktap setup --code 123456

# Manual setup
hooktap setup

# Non-interactive setup
hooktap setup --name ci --hook https://hooks.hooktap.me/webhook/YOUR_ID --type push

Terminal UI

Aus einer Fullscreen-UI senden

Öffne HookTap im Terminal, um Events zu schreiben, Profile zu prüfen, Snippets anzusehen und Diagnosen auszuführen.

# Open the terminal UI
hooktap
hooktap tui

# Keyboard
# 1-4 switch screens · Tab moves inputs · Ctrl+T cycles type · Ctrl+S sends

Watch

Benachrichtigen, wenn Commands fertig sind

Umschließe Builds, Deploys, Migrationen und Skripte. Die Ausgabe läuft normal weiter, der Exit Code bleibt erhalten.

# Notify when a command exits
hooktap watch -- npm run build

# Custom title
hooktap watch --title "Production deploy" -- make deploy

Sende dein erstes Event

# Save your webhook id once
hooktap config set hook_id YOUR_ID

# Send an event (push is the default)
hooktap send "Build finished"

# Pipe any command's output straight to your phone
make deploy | hooktap send "Deploy" --type push

# Check the service is reachable
hooktap ping
→Liest von stdin — leite die Ausgabe jedes Befehls an dein iPhone
→Benannte Profile für mehrere Webhooks
→Shell-Completions für zsh, bash & fish
CLI auf GitHub ansehen
Field Mapping

Jeden Dienst direkt anbinden

Dienste wie GitHub, Stripe oder Grafana senden ihr eigenes JSON-Format. Mit Field Mapping zeigst du HookTap einfach auf den richtigen Pfad im Payload – kein Wrapper-Skript oder Middleware nötig.

Einfache Dot-Notation

Extrahiere einen Wert aus einem verschachtelten JSON-Pfad per Dot-Notation.

// Incoming JSON (sent by GitHub)
{
  "repository": { "full_name": "acme/backend" },
  "workflow_run": {
    "name":        "Deploy to production",
    "conclusion":  "success",
    "head_branch": "main"
  }
}

// fieldMapping – set on the webhook document in Firestore
{
  "title": "workflow_run.name",
  "nody":  "workflow_run.conclusion",
  "type": "push"
}

// → Notification
//   Title: "Deploy to production"
//   Body:  "success"

Template-Syntax

Schließe Pfade in {geschweifte Klammern} ein, um statischen Text, Emojis und mehrere Felder in einem String zu kombinieren.

// fieldMapping with template syntax
// Anything inside {…} is resolved as a dot-notation path.
// Everything outside is treated as a literal.
{
  "title": "🚀 {repository.full_name}",
  "body":  "{workflow_run.conclusion} on {workflow_run.head_branch}",
  "type": "push"
}

// Same GitHub payload as above
// → Notification
//   Title: "🚀 acme/backend"
//   Body:  "success on main"

Tiefe Pfade

Beliebige Verschachtelungstiefe wird unterstützt – nützlich für Stripe, Grafana oder eigene Webhook-Payloads.

// Incoming JSON (sent by Stripe)
{
  "type": "payment_intent.succeeded",
  "data": {
    "object": {
      "amount":   4900,
      "currency": "eur",
      "receipt_email": "user@example.com"
    }
  }
}

// fieldMapping
{
  "title": "{type}",
  "body":  "€{data.object.amount} · {data.object.receipt_email}",
  "type": "feed"
}

// → Notification
//   Title: "payment_intent.succeeded"
//   Body:  "€4900 · user@example.com"

Deep-Link (optional)

Das optionale Deep-Link-Feld nimmt einen Dot-Notation-Pfad zu einer URL in deinem Payload entgegen. Beim Tippen auf die Benachrichtigung oder das Event wird diese URL direkt geöffnet. Beispiel: pull_request.html_url.

// Incoming JSON (sent by GitHub)
{
  "action": "opened",
  "pull_request": {
    "title": "Fix memory leak",
    "html_url": "https://github.com/acme/repo/pull/42"
  }
}

// fieldMapping
{
  "title": "PR {action}: {pull_request.title}",
  "deepLink": "pull_request.html_url"
}

// → Action
//   Tapping the notification opens:
//   "https://github.com/acme/repo/pull/42"
Referenz

So werden Events zugestellt

Jeder eingehende Webhook wird gleichzeitig über alle drei Kanäle verarbeitet.

push

Push-Notification

Erscheint sofort auf dem Sperrbildschirm und als Banner. Funktioniert auch wenn die App im Hintergrund oder geschlossen ist.

feed

Event-Log

Chronologisch im In-App-Feed gespeichert – mit vollständigem Payload, Zeitstempel und Lesestatus.

widget

Widget-Update

Das neueste Event aktualisiert dein Homescreen- und Sperrbildschirm-Widget (Pro).

Status & Farben

Automatische Farberkennung

HookTap erkennt automatisch den Status deiner Events anhand von Keywords im Body oder Title und passt die Farbe der Live Activities an.

Live Activity Design (Keywords)

Grün

success · passed · completed · deployed · ok · healthy · 200 · erfolgreich · abgeschlossen · bestanden · fertig · bereit · gesund

Rot

error · failed · failure · critical · down · crash · 500 · urgent · dringend · exception · alert · fehler · fehlgeschlagen · kritisch · absturz · ausgefallen

Orange

warning · pending · timeout · slow · degraded · 401 · 403 · important · wichtig · warnung · ausstehend · zeitüberschreitung · langsam · beeinträchtigt

Blau

started · running · triggered · queued · info · gestartet · läuft · ausgelöst · warteschlange

Dringliche Zustellung (Time-Sensitive)

Events mit folgenden Keywords werden als 'Time-Sensitive' markiert. Sie durchbrechen den Fokus-Modus und werden priorisiert zugestellt:

error · fehler · failure · failed · fehlgeschlagen · exception · critical · kritisch · down · crash · 500 · ausgefallen · absturz · urgent · dringend · alert · warning · warnung · timeout · zeitüberschreitung · degraded · beeinträchtigt · 401 · 403 · important · wichtig

Plattformen

Auf allen deinen Geräten

HookTap läuft auf dem iPhone und erweitert sich über native Mac- und Windows-Apps auf den Desktop.

Free & Pro

iOS

Die Haupt-App. Empfängt Webhook-Events, zeigt Push-Notifications an, verwaltet deine URLs und zeigt den Event-Feed.

iPhone · iOS 16+

Pro

macOS

Native Mac-App, die sich per 6-stelligem Code mit deiner iPhone-App verbindet. Zeigt Events in Echtzeit mit macOS-Systembenachrichtigungen.

macOS 13 Ventura+ · .dmg Download

Pro

Windows

Native Windows-App mit demselben Echtzeit-Event-Display und Systembenachrichtigungen. Verbindet sich in Sekunden mit der iPhone-App.

Windows 10 / 11 · .exe Download

Integrationen

Fertige Rezepte für deinen Stack

Copy-paste-Beispiele für Tools, die du schon verwendest. Kein Extra-Setup nötig.

GitHub Actions

Benachrichtigungen bei CI-Erfolg/-Fehler, Deploys und Releases.

GitLab CI

Pipeline-Benachrichtigungen mit einem einzigen Job-Snippet.

Python

Zero-Dependency-Helper, requests-Beispiele, Exception-Decorator.

Node.js / TypeScript

CommonJS- und ESM-Helper, withNotification()-Wrapper.

Shell / cron

Beliebige Befehle wrappen, Disk-Alerts, bashrc-Hilfsfunktion.

Docker

Compose Health Checks, Container-Lifecycle-Events.

Go · PHP · Ruby

Stdlib-only-Snippets, direkt in jedes Projekt einfügbar.

Zapier · Make · n8n

No-Code-Automatisierung mit Schritt-für-Schritt-Anleitungen.

Monitoring

Uptime-Checks, CPU-Alerts, Sentry- und Grafana-Integration.

Alle Integrationen auf GitHub ansehen