> ## 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 Discord

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

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

Al igual que con Slack, no hay ninguna integración nativa de Discord
integrada en Formpaste, ningún botón de "Add to Discord". Lo que existe es
un webhook genérico y firmado que se activa en cada envío entregado, y los
webhooks de Discord esperan su propia forma de cuerpo
(`{"content": "..."}`, opcionalmente `embeds`), no el envoltorio de
Formpaste. Esta es la versión honesta: cómo conectar los dos con un
relevo, sin fingir que es una integración de un clic.

## Por qué no puedes apuntar Formpaste directo a una URL de webhook de Discord

El endpoint de webhook de Discord espera algo como:

```json theme={null}
{ "content": "New form submission" }
```

El webhook de Formpaste en cambio envía su propio envoltorio versionado:

```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!" }
}
```

Discord no sabe qué hacer con `type`, `version`, o un objeto `data`
anidado, necesitas algo intermedio para transformar uno en el otro.

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

1. **Obtén una URL de webhook de Discord.** En tu servidor de Discord, ve
   al canal objetivo → **Integrations → Webhooks**, crea uno, y copia su
   URL.
2. **Crea un flujo de automatización** (Zapier, Make, Pipedream, o n8n)
   que comience con un paso de **Catch Webhook / Webhook trigger**. Esto
   te da una URL, eso es lo que llamará Formpaste.
3. **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. Conserva el secreto de firma `whsec_…` que te
   muestra.
4. **(Recomendado) Verifica la firma en la automatización** antes de hacer
   cualquier otra cosa, verifica `X-Formpaste-Signature` contra el
   secreto, de la misma forma que en el [snippet de verificación de
   webhook](/docs/es/features/webhooks#verifying-the-signature), para que no
   estés relevando POSTs arbitrarios a tu canal de Discord.
5. **Agrega un paso HTTP/webhook que envíe un POST a tu URL de webhook de
   Discord**, con un cuerpo JSON construido a partir de los campos `data`
   del payload entrante:

```json theme={null}
{
  "content": "**New submission** on {{form_id}}\n**From:** {{data.name}} <{{data.email}}>\n**Message:** {{data.message}}"
}
```

(La sintaxis de referencia de campos varía según la plataforma, usa el
selector de campos en Zapier/Make, o referencia el payload del disparador
directamente en un paso de código de Pipedream/n8n.)

6. **Pruébalo.** Envía tu formulario una vez y confirma que el mensaje
   aparece en el canal de Discord en unos pocos segundos.

## Qué se activa, y qué no

El webhook solo se activa para envíos **entregados, que no sean spam**, el
mismo conjunto que activa una notificación por correo. Un envío que
llega a [cuarentena](/docs/es/features/quarantine) no activa el webhook y no
llegará a Discord; revisa la pestaña Spam del panel para esos.

## Free vs. Pro

Esta receta necesita [Pro](/docs/es/features/pro-plan), los webhooks no están
disponibles en Free:

| 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 Slack" icon="slack" href="/docs/es/guides/slack-notifications">
    La misma receta, para Slack.
  </Card>
</CardGroup>
