> ## Documentation Index
> Fetch the complete documentation index at: https://formpaste.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Enviar envíos a Slack

> Enruta los envíos de formulario a un canal de Slack usando el webhook de Formpaste - Pro.

<Info>**Pro** - esta receta depende de [webhooks](/docs/es/features/webhooks), que son exclusivos de Pro.</Info>

No hay ninguna integración nativa de Slack en Formpaste, ningún botón de
"Connect to Slack" en el panel. Lo que sí es real es un webhook genérico y
firmado que se activa en cada envío entregado, y el formato de webhook
entrante propio de Slack es lo bastante distinto (`{"text": …}` frente al
envoltorio JSON versionado de Formpaste) que los dos no pueden hablar
directamente. Esta guía es la versión honesta: cómo conectarlos tú mismo
con un pequeño relevo, usando una plataforma de automatización para que no
tengas que alojar nada.

## Por qué no puedes apuntar Formpaste directo a Slack

Un webhook entrante de Slack espera un cuerpo como `{"text": "hello"}`. El
webhook de Formpaste en cambio envía su propio envoltorio:

```json theme={null}
{
  "type": "submission.received",
  "version": 1,
  "id": "sub_...",
  "form_id": "frm_...",
  "created_at": 1720700000000,
  "data": { "name": "John Smith", "email": "john@example.com", "message": "Hello!" }
}
```

Slack rechazará esa forma directamente. Algo en medio necesita
transformarla, ese es el relevo.

## La receta: plataforma de automatización como relevo

El camino más rápido es una herramienta de automatización sin código
(Zapier, Make, Pipedream, o n8n) situada entre los dos:

1. **Crea un Zap/escenario/flujo** que comience con un paso de **Catch
   Webhook** / **Webhook trigger**. La plataforma te da una URL única para
   esto, eso es lo que llamará Formpaste.
2. **Apunta el webhook de Formpaste a esa URL.** En el
   [panel](https://app.formpaste.com), abre tu formulario → **Settings** →
   **Webhooks**, pega la URL de la plataforma de automatización en
   `webhook_url`, y guarda. Copia el secreto de firma `whsec_…` que te
   muestra.
3. **(Recomendado) Verifica la firma dentro de la automatización.** La
   mayoría de estas plataformas admiten un paso de código (JS en
   Pipedream/n8n, un paso "Code by Zapier" en Zapier), úsalo para
   verificar `X-Formpaste-Signature` de la misma forma que lo hace el
   [snippet de verificación de webhook](/docs/es/features/webhooks#verifying-the-signature),
   antes de actuar sobre el payload. Esto confirma que la solicitud
   realmente vino de Formpaste y no de algo que adivina tu URL de relevo.
4. **Agrega un paso de Slack.** Usa la acción integrada de Slack de la
   plataforma (publicar mensaje en canal), y mapea los campos que quieras
   del payload entrante, `data.name`, `data.email`, `data.message`, etc.,
   al texto del mensaje de Slack.
5. **Actívalo y envía una prueba.** Envía tu formulario una vez; deberías
   ver el mensaje llegar a Slack en unos pocos segundos.

Una plantilla de mensaje mínima:

```
New submission on {{form_id}}
From: {{data.name}} <{{data.email}}>
Message: {{data.message}}
```

(La sintaxis exacta de plantillas depende de la plataforma, Zapier/Make
usan su propio selector de campos, Pipedream/n8n te dejan referenciar
`steps.trigger.event.body.data.name` etc. directamente en JS.)

## Qué se activa, y qué no

Solo los envíos **entregados, que no sean spam** activan el webhook, los
mismos que generan una notificación por correo. Un envío enrutado a
[cuarentena](/docs/es/features/quarantine) nunca activa el webhook, así que nunca
llega a Slack tampoco; revisa la pestaña Spam del panel para esos.

## Free vs. Pro

Los webhooks, y por lo tanto toda esta receta, requieren
[Pro](/docs/es/features/pro-plan). Un formulario del plan Free no puede guardar un
`webhook_url`:

| Código             | HTTP | Significado                        |
| ------------------ | ---- | ---------------------------------- |
| `upgrade_required` | 403  | Esta función requiere un plan Pro. |

<CardGroup cols={2}>
  <Card title="Webhooks" icon="webhook" href="/docs/es/features/webhooks">
    Forma completa del payload, firma, reintentos, y el registro de entregas.
  </Card>

  <Card title="Notificaciones de Discord" icon="discord" href="/docs/es/guides/discord-notifications">
    La misma receta, para Discord.
  </Card>
</CardGroup>
