Otomasyon & Webhook'lar
TodoMore'u Slack, n8n, Zapier veya kendi servisinize bağlayın. Olay temelli webhook akışı.
Son güncelleme:
TodoMore içindeki olayları başka bir sisteme akıtmanın iki yolu var: webhook (gerçek zamanlı POST) ve API polling (yakında, 2027 Q1).
Genel API ve token bazlı kimlik doğrulama 2027 Q1’de geliyor. Şu an webhook ile başlayabilirsiniz; aynı endpoint’leriniz API çıktıktan sonra da çalışacak.
Webhook nedir?
Workspace’inizde bir olay olduğunda (yeni görev, durum değişikliği, dosya yükleme) TodoMore sizin belirlediğiniz URL’e bir JSON POST gönderir. Sizin endpoint’iniz bu POST’u dinler ve yapacağı işi tetikler.
TodoMore ──── POST ────► Sizin URL'iniz
│ │
olay JSON gövde
Hızlı kurulum
Workspace ayarlarına gidin
Ayarlar → Geliştirici → Webhook’lar. Sağ üstten + Yeni webhook butonuna basın.
URL’inizi girin
HTTPS bir endpoint olmalı. Örnek:
https://api.benim-servisim.com/todomore. Test için webhook.site kullanabilirsiniz.Hangi olayları dinleyeceksiniz?
project.*tüm proje olaylarını,task.createdsadece yeni görevi dinler. Hepsini seçmeniz gerekmez.Test edin & kaydedin
Webhook listesinde “Test gönder” butonuna basın, endpoint’inizin 200 döndüğünü görün, ardından kaydedin.
Olay listesi
| Olay | Tetiklendiği zaman |
|---|---|
project.created | Yeni proje oluşturulduğunda |
project.updated | Proje alanı değiştiğinde |
project.archived | Proje arşivlendiğinde |
task.created | Yeni görev eklendiğinde |
task.updated | Görev güncellendiğinde (atama, durum, vb.) |
task.completed | Görev tamamlandı işaretlendiğinde |
task.commented | Göreve yorum eklendiğinde |
file.uploaded | Dosya yüklendiğinde |
file.deleted | Dosya silindiğinde |
crew.member_added | Workspace’e yeni üye eklendiğinde |
billing.plan_changed | Plan yükseltme/düşürme olduğunda |
Olay yükü (payload)
Her olay bu şekilde gelir:
{
"id": "evt_01HK4...",
"type": "task.created",
"createdAt": "2026-05-11T14:23:00Z",
"workspace": {
"id": "ws_01HJ...",
"name": "Anadolu Reklam"
},
"data": {
"task": {
"id": "tsk_01HK...",
"title": "Anasayfa hero görseli",
"projectId": "prj_01HJ...",
"assignees": ["usr_01HJ..."],
"due": "2026-05-13",
"status": "todo"
}
}
}
Güvenlik
Her POST’ta X-TodoMore-Signature header’ı bulunur. Webhook
secret’ınızla HMAC-SHA256 doğrulaması yapmadan endpoint’inizi
işletmeyin — saldırgan istek atabilir.
Doğrulama örneği (Node.js):
import crypto from "node:crypto";
function verify(req: Request, secret: string): boolean {
const sig = req.headers.get("x-todomore-signature");
const raw = await req.text();
const expected = crypto
.createHmac("sha256", secret)
.update(raw)
.digest("hex");
return sig === expected;
}
Yeniden deneme & sıralama
- 200 dönmezseniz: 1 sn, 5 sn, 30 sn, 2 dk, 10 dk aralıklarla 5 kez yeniden deneriz.
- Tüm denemeler başarısızsa: olay loglanır, panelde “Başarısız webhook” uyarısı gösterilir.
- Sıralama garantili değildir. İki olay farklı sırada gelebilir; her
payload’da
createdAtveidile sıralayın.
Pratik kullanım örnekleri
task.updated → kanala 'X kişisine yeni görev atandı' mesajı.
Hafta sonu task.completed olaylarını toplayıp PDF gönder.
file.uploaded → aynı dosyayı Google Drive'a kopyala.
project.archived → müşteriye 'Projeniz tamamlandı' e-postası.