# Formulareinträge als Push aufs Handy

> Ein Push pro Kontakt- oder Angebotsanfrage: aus WordPress mit dem Plugin Honk Me, von Formular-Diensten über Make, Zapier und n8n oder von deiner Website.

Source: https://honk-me.app/de/anleitungen/formulare-aufs-handy

Ein Kontaktformular, das dir nur eine E-Mail schickt, übersieht man leicht. Willst du eine Anfrage innerhalb einer Stunde beantworten, ist sie einen Push wert: wer geschrieben hat, worum es geht und jedes ausgefüllte Feld.

Das geht mit jedem Formular, denn Honk braucht nur eine HTTPS-Anfrage. Diese Anleitung zeigt die drei üblichen Fälle: ein Formular-Plugin für WordPress, einen Formular-Dienst und ein Formular auf deiner eigenen Website.

## Voraussetzungen

- Ein Honk-Konto. Honk gibt es vorerst nur auf Einladung: [Zugang anfragen](https://honk-me.app/de/zugang-anfragen).
- Ein Projekt für deine Website mit Ingest-Schlüssel: Öffne in der Web-App das Projekt, dann **Schlüssel**.

In allen Code-Beispielen unten bekommt jeder Eintrag eine **eigene Gruppe**. Schreiben zwei Leute gleichzeitig, bekommst du zwei Mitteilungen statt einer Gruppe mit Zähler. Und ein erneuter Versuch schickt denselben Eintrag nie doppelt.

## WordPress: das Plugin Honk Me

Das Plugin Honk Me für WordPress erkennt Contact Form 7, WPForms, Gravity Forms, Elementor Pro Forms, Fluent Forms und Ninja Forms automatisch. Jeder Eintrag kommt mit dem Namen des Formulars als Titel, und jedes Formular hat in Honk seine eigene Gruppe. Installiere und verbinde das Plugin, wie es die [WooCommerce-Anleitung](https://honk-me.app/de/anleitungen/woocommerce-bestellungen-push) zeigt; es funktioniert auch ohne WooCommerce.

Klicke unter **Einstellungen ▸ Honk ▸ Ereignisse ▸ Formulare** bei deinem Formular-Plugin auf **Details**, um festzulegen, ob die Mitteilungen die Eingaben enthalten. Bei Contact Form 7, WPForms und Gravity Forms kannst du außerdem einzelne Felder weglassen, Formular für Formular. Die Eingaben sind personenbezogene Daten und werden nur gesendet, solange **Kundennamen und E-Mail-Adressen mitsenden** eingeschaltet ist.

### Ohne das Plugin

Das Plugin wird gerade für das WordPress-Plugin-Verzeichnis geprüft. Bis es dort steht oder wenn du es nicht installieren willst, reichen ein paar Zeilen in einem Must-Use-Plugin. Trag zuerst den Schlüssel in `wp-config.php` ein und leg `wp-content/mu-plugins/honk.php` mit der Hilfsfunktion `honk_send()` an, wie in der [WooCommerce-Anleitung](https://honk-me.app/de/anleitungen/woocommerce-bestellungen-push). Danach fügst du den Hook für dein Formular-Plugin hinzu.

Contact Form 7, nachdem die E-Mail des Formulars verschickt wurde:

```php
// Contact Form 7: every sent form becomes a push with all of its fields.
add_action('wpcf7_mail_sent', function ($form) {
    $submission = WPCF7_Submission::get_instance();
    if (!$submission) {
        return;
    }
    $lines = [];
    foreach ($submission->get_posted_data() as $field => $value) {
        $lines[] = $field . ': ' . (is_array($value) ? implode(', ', $value) : $value);
    }
    $id = $form->id() . '-' . $submission->get_meta('timestamp');
    honk_send([
        'title' => 'New message: ' . $form->title(),
        'message' => implode("\n", $lines),
        'severity' => 'light',
        'priority' => 'high',
        'category' => 'customers',
        'source' => 'contact-form-7',
        'group_key' => 'forms/' . $id, // one group per submission
    ], 'cf7-' . $id);
});
```

WPForms, nachdem der Eintrag gespeichert wurde:

```php
// WPForms: the same, after the entry is saved.
add_action('wpforms_process_complete', function ($fields, $entry, $form_data, $entry_id) {
    $lines = [];
    foreach ($fields as $field) {
        if ($field['value'] !== '') {
            $lines[] = $field['name'] . ': ' . $field['value'];
        }
    }
    honk_send([
        'title' => 'New entry: ' . $form_data['settings']['form_title'],
        'message' => implode("\n", $lines),
        'severity' => 'light',
        'priority' => 'high',
        'category' => 'customers',
        'source' => 'wpforms',
        'group_key' => 'forms/wpforms-' . $form_data['id'] . '-' . $entry_id,
    ], 'wpforms-' . $form_data['id'] . '-' . $entry_id);
}, 10, 4);
```

Der Push zeigt den Namen des Formulars als Titel und alle Felder in der Nachricht. Auf iPhones mit Apple Intelligence hebt Honk außerdem die wichtigsten Angaben einer Anfrage hervor, etwa Budget und Frist, und kann eine Antwort zum Kopieren entwerfen. Das alles passiert auf dem Gerät.

## Formular-Dienste: Make, Zapier oder n8n

Formular-Dienste schicken Webhooks in ihrem eigenen Format, mit dem Honk nichts anfangen kann. Schalte deshalb ein Workflow-Tool dazwischen: Es empfängt den Eintrag und schickt Honk die Felder, die du willst.

In Make ist das letzte Modul **HTTP ▸ Make a request**:

```text
Make scenario
  1. Your form tool ▸ Watch responses (or Webhooks ▸ Custom webhook)
  2. HTTP ▸ Make a request
       URL:           https://honk-me.app/v1/messages
       Method:        POST
       Headers:       Authorization = Bearer honk_…
       Body type:     Raw
       Content type:  JSON (application/json)
       Request content:
         {
           "title": "New form entry: {{1.form_name}}",
           "message": "{{1.name}} <{{1.email}}>: {{1.message}}",
           "severity": "light",
           "priority": "high",
           "category": "customers",
           "group_key": "forms/{{1.id}}"
         }
```

In Zapier geht das genauso mit **Webhooks by Zapier ▸ POST** (Payload Type `json`, dieselben Datenfelder und der Header `Authorization`), in n8n mit dem [Honk-Node](https://honk-me.app/de/integrationen/n8n). Leg den Schlüssel wenn möglich in den Zugangsdaten oder Verbindungseinstellungen des Tools ab, nicht in einem einfachen Textfeld.

## Deine eigene Website

Hat deine Website ein Backend, sende die Anfrage von dort, sobald der Eintrag gespeichert ist. Die [Anleitung zu Kundenanfragen](https://honk-me.app/de/anleitungen/kundenanfragen-aufs-handy) zeigt das in Laravel, und jede [Bibliothek](https://honk-me.app/de/integrationen) zeigt dasselbe Beispiel für Node.js, Go, Swift, Kotlin, Java und Rust. Ruf Honk nie aus dem Browser auf: Dann könnte jeder den Schlüssel im Quelltext der Seite lesen.

## Ruhig bleiben

- **Eine Gruppe pro Eintrag** in den Code-Beispielen, damit jede Anfrage gepusht wird. Das Plugin hat stattdessen eine Gruppe pro Formular. Wird ein Formular mit Spam geflutet, ergänze im Formular selbst ein Honeypot-Feld oder ein Captcha.
- **Priorität Hoch** sorgt dafür, dass eine Anfrage auch dann gepusht wird, wenn du deine Push-Schwelle auf Hoch gestellt hast, damit Routineereignisse still bleiben.
- **Ruhezeiten** halten Anfragen über Nacht zurück. Morgens bekommst du eine einzige Zusammenfassung, es sei denn, du legst es anders fest.
- **Personenbezogene Daten**: Schick nur, was du zum Antworten brauchst. Nachrichten bleiben für die Aufbewahrungsdauer deines Tarifs gespeichert, also 3, 14 oder 30 Tage.
