---
title: "Campañas salientes"
description: "Sube una lista de contactos y deja que un agente la gestione, con ventanas de llamadas, reintentos y progreso en tiempo real."
---

Las campañas marcan una lista de contactos en tu nombre: elige un agente, carga un
CSV, define cuándo se permiten las llamadas y ThunderPhone recorre la lista
— reintentando las llamadas sin respuesta y los mensajes de voz según el horario que elijas. Encuéntralas en **Interacción → Campañas** (`/dashboard/campaigns`).

Para llamadas programáticas puntuales, usa la
[API de llamadas salientes](/es/guides/place-outbound-calls).

## Requisitos previos

- Un agente de voz implementado.
- Un número de teléfono habilitado para llamadas salientes. Los números VoIP de clientes
  siguen siendo compatibles con las campañas. Los números de ThunderPhone comienzan solo para llamadas entrantes; un administrador de la organización puede
  solicitar llamadas salientes desde la página Números de teléfono. ThunderPhone revisa
  cada solicitud manualmente, y los números aprobados pueden ejecutar campañas. Consulta
  [Conectar un proveedor de VoIP](/es/guides/voip-providers).
- Contactos como un archivo CSV (o JSON pegado) con una columna `phone` o
  `phone_number`. **Hasta 5,000 filas por carga**, codificado en UTF-8.
  Las nuevas cargas de JSON deben ser planas: los valores adicionales pueden ser cadenas, números,
  valores booleanos o `null`. Las filas que contienen arreglos u objetos anidados se rechazan
  individualmente con un mensaje de validación; las filas válidas se siguen importando. Las celdas CSV
  son cadenas. Las columnas adicionales aceptadas se conservan como variables por contacto en los
  registros de contactos de la campaña y se proporcionan automáticamente a cada marcación. ThunderPhone también
  clasifica el prompt del agente guardado antes de cada llamada saliente para decidir si
  el agente debe navegar un menú telefónico. Los encabezados como `name` y `account_id`
  coinciden con `{{name}}` y `{{account_id}}` en el prompt del agente guardado. La asignación de nombres también puede combinar columnas en `name`. Consulta
  [variables por llamada](/es/guides/call-variables) para los valores predeterminados, las reglas de nomenclatura,
  el límite de objeto de 32 KB y los valores devueltos en los webhooks de finalización.

Los registros de contacto antiguos pueden contener metadatos anidados de cargas JSON anteriores.
Esos metadatos permanecen en el contacto almacenado. Cada marcación omite los valores no escalares de
su carga útil de variables y registra los nombres de las claves ignoradas para ese intento, sin
registrar valores. Los reintentos usan el mismo filtrado.

## Crea una campaña

<Steps>
  <Step title="Haz clic en Nueva campaña">
    Ponle un nombre, selecciona el **agente de voz** y elige el **número de origen**
    (uno de tus números habilitados para llamadas salientes).
  </Step>
  <Step title="Sube el CSV de contactos">
    Las filas con un número de teléfono o variables no válidos se rechazan individualmente y
    se informan con sus números de fila; las demás se importan sin problemas.
  </Step>
  <Step title="Configura la ventana de llamadas">
    Elige una **zona horaria** y una ventana de **inicio/fin diario**; la campaña
    solo marca dentro de ella. La zona horaria se basa inicialmente en la zona de tu número de origen
    (su código de área en EE. UU. y Canadá, su país en otros lugares) o, para
    números que abarcan varias zonas, como los números gratuitos, en la de tu
    navegador. La sugerencia debajo del campo indica cuál se utiliza. La ventana predeterminada
    es de 9:00 a 17:00. Una ventana que comienza antes de las 8:00 o termina después de las 21:00 muestra una
    advertencia: las llamadas fuera de ese horario pueden incumplir las reglas sobre horarios de llamadas, como
    las de la TCPA. Un fin anterior al inicio cruza la medianoche: 22:00 →
    02:00 marca desde las 22:00 hasta las 2:00 del día siguiente, con una advertencia. La
    ventana se ejecuta en la zona horaria de la campaña, no en la de cada contacto, así que divide los
    contactos por zona horaria cuando estén repartidos entre ellas.
    Opcionalmente, establece un **inicio programado** para programar el lanzamiento y un
    **fin programado** después del cual la campaña se completa automáticamente.
  </Step>
  <Step title="Ajusta el ritmo y los reintentos">
    - **Llamadas simultáneas** — cuántas llamadas realiza esta campaña a la vez
      (1–10, 3 de forma predeterminada). Las campañas no inician llamadas nuevas mientras tu
      organización tenga 10 llamadas salientes en curso, por lo que las campañas
      paralelas comparten esa capacidad. Cada llamada también cuenta para el
      [límite de llamadas simultáneas](/api-reference/introduction#call-limits) de tu organización
      (20 de forma predeterminada, entre llamadas entrantes, salientes, web y de prueba).
      Cuando se alcanza ese límite, o se llamó al mismo número en los
      últimos 10 segundos, el contacto simplemente espera un ciclo posterior; sus
      intentos no se consumen.
    - **Máximo de intentos** — cuántas veces se puede marcar a cada contacto
      (1–10, 2 de forma predeterminada).
    - **Intervalo entre reintentos (minutos)** — la espera antes de un reintento (al menos 30,
      60 de forma predeterminada).
    - **Reintentar en** — qué resultados activan un reintento: **sin respuesta**,
      **buzón de voz**, **fallida** (todos activados de forma predeterminada).

    ¿Necesitas más intentos o intervalos más cortos? Contacta a soporte: el personal puede
    aumentar ambos límites para tu organización.
  </Step>
  <Step title="Crea el borrador y luego inícialo">
    Las campañas se crean como borradores; los contactos solo se pueden agregar mientras una
    campaña sea un borrador. Iniciar una campaña requiere un consentimiento explícito
    para los cargos de llamadas. Con un **inicio programado** futuro, pasa a estar
    *programada*; de lo contrario, comienza a *ejecutarse* de inmediato.
  </Step>
</Steps>

<Note>
  Las campañas guardadas antes de estos límites continúan ejecutándose exactamente como se configuraron.
  Sus intentos e intervalos se mantienen como se guardaron aunque se realicen otras ediciones.
</Note>

## Cómo funcionan los resultados y los reintentos

Después de cada llamada, el contacto recibe un resultado: las llamadas exitosas se
marcan como completadas; una llamada clasificada como sin respuesta, detectada como
buzón de voz o fallida se reintenta si ese resultado está en tu lista de **reintentar en** y al
contacto le quedan intentos. Los contactos que se quedan sin intentos se marcan como
*agotados*; los errores que no se pueden reintentar se marcan como *fallidos*.

<Note>
  La marcación se pausa automáticamente mientras el saldo de tu cuenta no esté al
  corriente y se reanuda cuando lo esté. Mantén activada la
  [recarga automática](/es/guides/billing-and-topups) para campañas largas.
</Note>

## Supervisa y controla

Cada tarjeta de campaña muestra su estado y progreso (por ejemplo, "173 de 248
finalizadas"). Abre una campaña para ver el desglose de estados, los resultados por
contacto y las llamadas recientes; cada una enlaza con la transcripción y grabación
completas en el historial de llamadas.

- **Pausar / reanudar** — al pausar se detienen las nuevas marcaciones; las llamadas que ya están
  en curso terminan de forma natural. Las campañas pausadas se pueden editar y reanudar.
- **Cancelar** — detiene permanentemente la campaña.
- Una campaña se completa por sí sola cuando cada contacto alcanza un estado final
  o pasa la hora de **finalizar a las**.

Estados de campaña: `draft`, `scheduled`, `running`, `paused`,
`completed`, `cancelled`. Estados de contacto: `pending`, `scheduled`,
`calling`, `completed`, `failed`, `exhausted`.

## Siguientes pasos

<CardGroup cols={2}>
  <Card title="Ve las llamadas en vivo" icon="tower-broadcast" href="/es/guides/monitor-live-calls">
    Escucha las llamadas de la campaña mientras ocurren.
  </Card>
  <Card title="API de llamadas salientes" icon="phone-arrow-up-right" href="/es/guides/place-outbound-calls">
    Realiza llamadas individuales mediante programación.
  </Card>
</CardGroup>
