Detalles de los webhooks

Trae tareas a TwoDoo desde otras herramientas y envía fuera las victorias completadas.

Webhook entrante de todos

Usa este webhook para enviar tareas desde Jira, Make, Zapier o tu propio sistema a TwoDoo.

Endpoint

Método: POST. URL: tu propio endpoint generado /api/webhooks/todos/{token} en Ajustes. El token es único para cada usuario.

Comportamiento

Si externalTaskId coincide con un todo semanal activo existente, TwoDoo actualiza ese elemento. Sin externalTaskId, cada solicitud crea un nuevo todo semanal. Las llamadas duplicadas con el mismo externalTaskId se ignoran durante unos 10 segundos.

Límites y requisitos

El modo Todos semanales debe estar activado. El webhook entrante está limitado a 30 solicitudes por minuto y 200 por día por usuario. El abuso repetido puede desactivarlo temporal o permanentemente.

Campos aceptados

title

Obligatorio. El título del todo. Máximo 140 caracteres.

priority

Opcional. Uno de: high, normal, low. El valor por defecto es normal.

description

Opcional. Descripción en texto plano. Máximo 1000 caracteres.

descriptionUrlEncoded

Opcional. Texto de descripción codificado en URL. Útil para Jira cuando la descripción sin procesar rompería el JSON.

descriptionBase64

Opcional. Texto de descripción codificado en Base64. Útil para herramientas que pueden codificar pero no escapar JSON con seguridad.

plannedForDate

Opcional. Fecha planificada en formato YYYY-MM-DD.

externalTaskId

Opcional pero recomendable para sincronizaciones. ID externo de la tarea del sistema emisor. Máximo 255 caracteres.

Ejemplo básico

{
  "title": "Plan launch email",
  "priority": "high",
  "description": "Imported from Make.com",
  "plannedForDate": "2026-03-19",
  "externalTaskId": "make-12345"
}

Ejemplo para Jira

Si las descripciones sin procesar de Jira rompen el JSON, envía la descripción como descriptionUrlEncoded en lugar de description.

{
  "title": "{{issue.summary.left(138)}}",
  "priority": "normal",
  "descriptionUrlEncoded": "{{issue.description.urlEncode()}}",
  "externalTaskId": "{{issue.id}}"
}

Webhook saliente de estado del todo

Este webhook envía un payload JSON a tu URL cada vez que se completa un Doo.

Adónde va

Configura hasta 3 URL http o https válidas en Ajustes avanzados. TwoDoo enviará el payload de completado a cada una después de que un todo cambie a done, gratitude, scheduled, delegated o eliminated. Cada destino también puede tener un secreto opcional y una plantilla JSON personalizada.

Cabecera

TwoDoo envía la cabecera X-TwoDoo-Event: todo.status_changed junto con un cuerpo JSON. Si se configura un secreto de webhook, TwoDoo también envía X-Automation-Webhook-Token para herramientas como Jira.

Campos salientes

event

Siempre todo.status_changed.

userId

El ID de usuario de TwoDoo.

userEmail

La dirección de correo guardada de ese usuario.

todoId

El ID de la instancia de todo completada.

sourceUserTodoId

El ID del todo semanal / elemento de biblioteca si este Doo vino de la lista semanal. Si no, null.

externalTaskId

La externalTaskId guardada en el todo semanal, si existe.

title

El título del todo completado.

description

La descripción guardada en ese todo, si existe.

status

Uno de: done, gratitude, scheduled, delegated, eliminated.

taskDate

El día de TwoDoo en que ocurrió la finalización, en formato YYYY-MM-DD.

plannedForDate

La fecha planificada opcional del todo semanal.

completedAt

Marca temporal de completado en formato ISO 8601.

isDefault

True cuando el elemento completado venía de una clave de tarea por defecto/simple.

Ejemplo de payload

{
  "event": "todo.status_changed",
  "userId": 12,
  "userEmail": "sam@example.com",
  "todoId": 481,
  "sourceUserTodoId": 93,
  "externalTaskId": "jira-12345",
  "title": "Plan launch email",
  "description": "Imported from Jira",
  "status": "done",
  "taskDate": "2026-03-22",
  "plannedForDate": "2026-03-23",
  "completedAt": "2026-03-22T15:18:04+00:00",
  "isDefault": false
}

Creado con ❤️ por Sam Steiner