Détails des webhooks

Fais entrer des tâches dans TwoDoo depuis d’autres outils et renvoie les victoires terminées vers l’extérieur.

Webhook entrant des todos

Utilise ce webhook pour envoyer des tâches depuis Jira, Make, Zapier ou ton propre système vers TwoDoo.

Point de terminaison

Méthode : POST. URL : ton propre endpoint généré /api/webhooks/todos/{token} depuis les paramètres. Le token est unique par utilisateur.

Comportement

Si externalTaskId correspond à un todo hebdo actif existant, TwoDoo met cet élément à jour. Sans externalTaskId, chaque requête crée un nouveau todo hebdo. Les appels en double avec le même externalTaskId sont ignorés pendant environ 10 secondes.

Limites et conditions

Le mode Todos hebdo doit être activé. Le webhook entrant est limité à 30 requêtes par minute et 200 par jour et par utilisateur. Des abus répétés peuvent le désactiver temporairement ou définitivement.

Champs acceptés

title

Obligatoire. Le titre du todo. Maximum 140 caractères.

priority

Optionnel. Une valeur parmi : high, normal, low. La valeur par défaut est normal.

description

Optionnel. Description en texte brut. Maximum 1000 caractères.

descriptionUrlEncoded

Optionnel. Texte de description encodé en URL. Utile pour Jira quand une description brute casserait le JSON.

descriptionBase64

Optionnel. Texte de description encodé en Base64. Utile pour les outils qui savent encoder mais pas échapper le JSON proprement.

plannedForDate

Optionnel. Date prévue au format YYYY-MM-DD.

externalTaskId

Optionnel mais recommandé pour les synchronisations. ID de tâche externe du système source. Maximum 255 caractères.

Exemple simple

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

Exemple adapté à Jira

Si les descriptions brutes de Jira cassent le JSON, envoie la description comme descriptionUrlEncoded au lieu de description.

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

Webhook sortant de statut du todo

Ce webhook envoie un payload JSON à ton URL chaque fois qu’un Doo est terminé.

Destination

Définis jusqu’à 3 URL http ou https valides dans les paramètres avancés. TwoDoo enverra le payload de fin à chacune d’elles après qu’un todo passe à done, gratitude, scheduled, delegated ou eliminated. Chaque cible peut aussi avoir un secret optionnel et un modèle JSON personnalisé.

En-tête

TwoDoo envoie l’en-tête X-TwoDoo-Event: todo.status_changed avec un corps JSON. Si un secret webhook est défini, TwoDoo envoie aussi X-Automation-Webhook-Token pour des outils comme Jira.

Champs sortants

event

Toujours todo.status_changed.

userId

L’ID utilisateur TwoDoo.

userEmail

L’adresse e-mail enregistrée de cet utilisateur.

todoId

L’ID de l’instance de todo terminée.

sourceUserTodoId

L’ID du todo hebdo / élément de bibliothèque si ce Doo venait de la liste hebdo. Sinon null.

externalTaskId

La externalTaskId enregistrée sur le todo hebdo, si elle existe.

title

Le titre du todo terminé.

description

La description enregistrée sur ce todo, si elle existe.

status

Une valeur parmi : done, gratitude, scheduled, delegated, eliminated.

taskDate

Le jour TwoDoo où la fin a eu lieu, au format YYYY-MM-DD.

plannedForDate

La date prévue optionnelle portée par le todo hebdo.

completedAt

Horodatage de fin au format ISO 8601.

isDefault

True si l’élément terminé venait d’une clé de tâche par défaut / simple.

Exemple 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
}

Créé avec ❤️ par Sam Steiner