Bandejas de Entrada

Cada agente obtiene su propia bandeja de entrada con una dirección de email única. Las bandejas de entrada son la unidad fundamental en AgentSend.

Descripción General

Una bandeja de entrada es una dirección de email dedicada para un solo agente. Cada email que tu agente envía o recibe fluye a través de una bandeja de entrada. Puedes crear tantas bandejas de entrada como necesites — una por agente, una por cliente, una por flujo de trabajo — no hay límites.

Por defecto, las bandejas de entrada se aprovisionan en el dominio @agentsend.io. Si quieres que tus agentes envíen desde tu propio dominio (ej. agent@yourcompany.com), consulta Dominios Personalizados.

Las bandejas de entrada están aisladas entre sí. Un agente solo puede enviar y recibir email a través de su propia bandeja de entrada — no puede acceder a los mensajes de otra bandeja.

Crear una Bandeja de Entrada

POST /inboxes

Crea una nueva bandeja de entrada enviando una solicitud POST. Ambos campos del cuerpo son opcionales — si omites displayName, la bandeja se crea sin uno. Si omites domainId, la dirección se aprovisiona en @agentsend.io.

javascript
const res = await fetch("https://api.agentsend.io/inboxes", {
  method: "POST",
  headers: {
    "x-api-key": process.env.AGENTSEND_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    displayName: "Support Agent",   // optional
    domainId: "dom_abc123",         // optional — omit for @agentsend.io
  }),
});

const inbox = await res.json();
console.log(inbox.address); // e.g. a1b2c3@agentsend.io
console.log(inbox.id);      // e.g. inb_7x9kQm2Np...

La respuesta incluye el objeto completo de la bandeja de entrada, incluyendo la address generada automáticamente que puedes empezar a usar inmediatamente.

Propiedades de la Bandeja de Entrada

Cada objeto de bandeja de entrada tiene los siguientes campos:

Propiedad Tipo Descripción
id string (uuid) Identificador único de la bandeja de entrada. Úsalo en todas las llamadas API.
address string (email) La dirección de email completa asignada a esta bandeja de entrada, e.g. a1b2c3@agentsend.io.
displayName string | null Etiqueta legible de la bandeja de entrada. Se muestra como nombre del remitente en los encabezados de email saliente.
domainId string | null El ID de un dominio personalizado asociado a esta bandeja de entrada. null for default @agentsend.io addresses.
status string Estado actual de la bandeja de entrada: active, suspended, or deleted. Solo las bandejas active pueden enviar y recibir.
dailySendLimit number Número máximo de emails que esta bandeja puede enviar en una ventana de 24 horas.
sendsToday number Número de emails enviados en la ventana actual de 24 horas. Se reinicia a medianoche UTC.
totalSent number Conteo acumulado de todos los emails enviados desde esta bandeja desde su creación.
bounceCount number Número de rebotes duros registrados para esta bandeja. Las tasas altas de rebote pueden provocar suspensión.
complaintCount number Número de quejas de spam registradas para esta bandeja.
createdAt string (ISO 8601) Marca de tiempo de cuándo se creó la bandeja de entrada.

Dominios Personalizados

Por defecto, cada bandeja de entrada obtiene una dirección en @agentsend.io. If you want your agents to send from your own domain — for example agent@support.yourcompany.com — puedes conectar un dominio personalizado y pasar el domainId al crear una bandeja de entrada.

💡

Los dominios personalizados mejoran la entregabilidad y la confianza de marca. Consulta la guía de Dominios para agregar y verificar tu dominio, luego regresa aquí para crear bandejas de entrada en él.

Listar Bandejas de Entrada

GET /inboxes

Recupera una lista paginada de todas las bandejas de entrada en tu cuenta. Usa limit y offset para paginar los resultados.

javascript
const res = await fetch(
  "https://api.agentsend.io/inboxes?limit=20&offset=0",
  {
    headers: { "x-api-key": process.env.AGENTSEND_API_KEY },
  }
);

const { data, total } = await res.json();
// data  — array of inbox objects
// total — total count across all pages

for (const inbox of data) {
  console.log(inbox.address, inbox.status, inbox.sendsToday);
}
Parámetro Type Description
limit number Número de resultados a devolver. Defaults to 20, max 100.
offset number Número de resultados a omitir. Defaults to 0.

Eliminar una Bandeja de Entrada

DELETE /inboxes/{id}

Elimina permanentemente una bandeja de entrada y todos los mensajes, hilos y webhooks asociados.

Esta acción es permanente y no se puede deshacer. Todos los mensajes, hilos y suscripciones de webhook pertenecientes a la bandeja se eliminan inmediatamente. La dirección de email de la bandeja se libera y puede ser reasignada.

javascript
await fetch(`https://api.agentsend.io/inboxes/${inboxId}`, {
  method: "DELETE",
  headers: { "x-api-key": process.env.AGENTSEND_API_KEY },
});
// Returns 204 No Content on success

Límites de Envío

Cada bandeja de entrada tiene un dailySendLimit que limita cuántos emails puede enviar en una ventana de 24 horas. El campo sendsToday te dice cuántos envíos se han usado en la ventana actual.

Si una bandeja de entrada alcanza su límite, las solicitudes de envío posteriores devuelven un error 429 Too Many Requests. La ventana se reinicia a medianoche UTC.

Monitorea sendsToday antes de enviar ráfagas de alto volumen. Si tu agente necesita enviar más de lo que permite el límite predeterminado, contacta a soporte para solicitar un aumento para tu cuenta.

javascript
const inbox = await fetch(
  `https://api.agentsend.io/inboxes/${inboxId}`,
  { headers: { "x-api-key": process.env.AGENTSEND_API_KEY } }
).then(r => r.json());

const remaining = inbox.dailySendLimit - inbox.sendsToday;
if (remaining <= 0) {
  console.log("Daily send limit reached. Try again after midnight UTC.");
} else {
  console.log(`${remaining} sends remaining today`);
}