# Formularios de tu web, directos a tu teléfono

> Recibe un aviso por cada formulario de contacto o de presupuesto, desde WordPress (con el plugin Honk Me), Make, Zapier, n8n o tu propia web.

Source: https://honk-me.app/es/guias/formularios-al-movil

Un formulario de contacto que solo avisa por correo se pasa por alto con facilidad. Si una consulta merece respuesta antes de una hora, también merece una notificación: quién escribe, qué quiere y todos los campos que rellenó.

Cualquier formulario puede hacerlo, porque a Honk le basta con una solicitud HTTPS. Esta guía cubre los tres casos habituales: un plugin de formularios de WordPress, un servicio de formularios alojado y un formulario en tu propia web.

## Antes de empezar

- Una cuenta de Honk. Por ahora, Honk funciona solo con invitación: [solicita acceso](https://honk-me.app/es/solicitar-acceso).
- Un proyecto para tu web, con una clave de ingesta: en la app web, abre el proyecto y entra en **Claves**.

En los ejemplos de código de esta guía, cada envío tiene su **propio grupo**. Si dos personas escriben a la vez, recibes dos notificaciones, no un grupo con un recuento, y un reintento nunca envía el mismo formulario dos veces.

## WordPress: el plugin Honk Me

El plugin Honk Me para WordPress detecta por sí solo Contact Form 7, WPForms, Gravity Forms, Elementor Pro Forms, Fluent Forms y Ninja Forms. Cada envío llega con el nombre del formulario como título, y cada formulario tiene su propio grupo en Honk. Instala y conecta el plugin como explica la [guía de WooCommerce](https://honk-me.app/es/guias/notificaciones-pedidos-woocommerce); también funciona sin WooCommerce.

En **Ajustes ▸ Honk ▸ Eventos ▸ Formularios**, haz clic en **Detalles** debajo de tu plugin de formularios para elegir si las notificaciones incluyen las respuestas del formulario. Con Contact Form 7, WPForms y Gravity Forms también puedes quitar campos concretos, formulario por formulario. Las respuestas de un formulario son datos personales, así que solo se envían mientras **Incluir nombres y correos electrónicos de los clientes** está activado.

### Sin el plugin

El plugin aún está pendiente de aprobación en el directorio de plugins de WordPress. Hasta que aparezca, o si prefieres no instalarlo, basta con unas líneas en un plugin imprescindible (must-use). Primero pon la clave en `wp-config.php` y crea `wp-content/mu-plugins/honk.php` con la función auxiliar `honk_send()`, como en la [guía de WooCommerce](https://honk-me.app/es/guias/notificaciones-pedidos-woocommerce). Después añade el hook de tu plugin de formularios.

Con Contact Form 7, después de que se envíe el correo del formulario:

```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);
});
```

Con WPForms, una vez guardada la entrada:

```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);
```

La notificación muestra el nombre del formulario como título y todos los campos en el mensaje. En los iPhone con Apple Intelligence, Honk también extrae los datos clave de la consulta, como el presupuesto y el plazo, y puede redactarte una respuesta para que la copies. Todo ocurre en el dispositivo.

## Formularios alojados: Make, Zapier o n8n

Los servicios de formularios alojados envían webhooks en su propio formato, y Honk no puede leerlos tal cual. Pon en medio una herramienta de automatización que reciba el envío y mande a Honk los campos que quieras.

En Make, el último módulo es **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}}"
         }
```

En Zapier se hace igual con **Webhooks by Zapier ▸ POST** (Payload Type `json`, los mismos campos de datos y la cabecera `Authorization`), y en n8n, con el [nodo de Honk](https://honk-me.app/es/integraciones/n8n). Siempre que puedas, guarda la clave en las credenciales o en los ajustes de conexión de la herramienta, no en un campo de texto cualquiera.

## Tu propia web

Si tu web tiene backend, envía la solicitud desde ahí después de guardar el envío. La [guía de solicitudes de clientes](https://honk-me.app/es/guias/solicitudes-clientes-al-movil) lo explica con Laravel, y cada [biblioteca](https://honk-me.app/es/integraciones) tiene la misma receta para Node.js, Go, Swift, Kotlin, Java y Rust. Nunca llames a Honk desde el navegador: cualquiera podría leer la clave en la página.

## Sin ruido de más

- **Un grupo por envío** en los ejemplos de código, así que cada consulta te avisa. El plugin, en cambio, usa un grupo por formulario. Si un formulario empieza a recibir spam, añade al propio formulario un campo trampa (honeypot) o un captcha.
- **La prioridad Alta** hace que cada consulta te avise, aunque hayas subido el umbral de push a Alta para que los eventos rutinarios no suenen.
- **Las horas de silencio** retienen las consultas durante la noche y te dan un solo resumen por la mañana, salvo que decidas otra cosa.
- **Datos personales**: envía solo lo que necesitas para responder. Los mensajes se guardan durante el periodo de conservación de tu plan: 3, 14 o 30 días.
