OpenClaw v2026.2 için geçerlidir | Bu makale, AI asistanının pasif yanıt yerine proaktif çalışmasını isteyen kullanıcılar için uygundur.
TL;DR: Cron zamanlanmış görevler: "cron": [{"id": "daily", "schedule": "0 9 * * *", "message": "..."}]. Webhook tetikleme: POST /webhook/your-path. Gmail Pub/Sub ile otomatik e-posta işleme. Heartbeat proaktif kontrol. Yapılandırma örnekleri: günlük sabah bülteni 0 8 * * 1-5, CI bildirimi webhook, e-posta filtresi gmail pub/sub.
Otomasyona Genel Bakış
Otomasyon Türleri
| Tür | Tetikleme Yöntemi | Kullanım Alanı |
|---|---|---|
| Cron | Zamanlanmış tetikleme | Günlük rapor, periyodik kontrol |
| Webhook | HTTP isteği | Harici sistem entegrasyonu |
| Gmail Pub/Sub | Yeni e-posta | E-posta otomasyonu |
| Heartbeat | Periyodik kontrol | Proaktif hatırlatma, öneriler |
Mimari Şema
flowchart TB
subgraph Triggers["Tetikleme Kaynakları"]
CRON[Cron Zamanlayıcı]
WH[Webhook HTTP]
GM[Gmail Pub/Sub]
HB[Heartbeat]
end
subgraph Gateway["Gateway"]
SCHED[Zamanlayıcı]
ROUTE[Yönlendirici]
AGENT[Agent]
end
subgraph Actions["Eylemler"]
MSG[Mesaj Gönder]
EXEC[Görev Yürüt]
NOTIF[Bildirim Gönder]
end
CRON --> SCHED
WH --> ROUTE
GM --> ROUTE
HB --> SCHED
SCHED --> AGENT
ROUTE --> AGENT
AGENT --> MSG
AGENT --> EXEC
AGENT --> NOTIF
Cron Zamanlanmış Görevler
Cron İfadesi
┌───────────── Dakika (0 - 59)
│ ┌───────────── Saat (0 - 23)
│ │ ┌───────────── Gün (1 - 31)
│ │ │ ┌───────────── Ay (1 - 12)
│ │ │ │ ┌───────────── Haftanın Günü (0 - 6, 0 = Pazar)
│ │ │ │ │
* * * * *
Yaygın İfadeler
| İfade | Açıklama |
|---|---|
0 9 * * * |
Her gün 9:00 |
0 18 * * 1-5 |
Hafta içi 18:00 |
*/30 * * * * |
Her 30 dakika |
0 0 1 * * |
Her ayın 1’i 0:00 |
0 9,18 * * * |
Her gün 9:00 ve 18:00 |
0 9 * * 1 |
Her Pazartesi 9:00 |
Cron Görevi Yapılandırması
{
"cron": [
{
"id": "daily-briefing",
"schedule": "0 9 * * *",
"session": "main",
"message": "Lütfen bugünkü takvimimi ve yapılacak işlerimi ver",
"enabled": true
},
{
"id": "weekly-summary",
"schedule": "0 18 * * 5",
"session": "main",
"message": "Haftalık çalışma özetini oluştur",
"enabled": true
},
{
"id": "health-check",
"schedule": "*/15 * * * *",
"session": "main",
"message": "Sistem durumunu kontrol et, anormallikleri raporla",
"enabled": true
}
]
}
Cron Yapılandırma Alanları
| Alan | Tür | Açıklama |
|---|---|---|
id |
string | Görev benzersiz tanımlayıcısı |
schedule |
string | Cron ifadesi |
session |
string | Hedef oturum |
message |
string | Gönderilecek mesaj |
enabled |
boolean | Etkin mi |
timezone |
string | Zaman dilimi (varsayılan: sistem zaman dilimi) |
Cron Görev Yönetimi
# Tüm görevleri listele
openclaw cron list
# Çıktı örneği:
# ID Schedule Status Last Run
# daily-briefing 0 9 * * * enabled 2026-02-26 09:00
# weekly-summary 0 18 * * 5 enabled 2026-02-23 18:00
# health-check */15 * * * * enabled 2026-02-26 10:30
# Görevi manuel tetikle
openclaw cron run daily-briefing
# Görevi etkinleştir/devre dışı bırak
openclaw cron enable daily-briefing
openclaw cron disable daily-briefing
# Görev günlüklerini görüntüle
openclaw cron logs daily-briefing
Webhook Tetikleyicileri
Webhook Yapılandırması
{
"webhooks": [
{
"id": "github-push",
"path": "/webhook/github",
"secret": "your-webhook-secret",
"session": "main",
"handler": "github-push"
},
{
"id": "custom-alert",
"path": "/webhook/alert",
"secret": "your-webhook-secret",
"session": "main",
"message": "Uyarı alındı: {{data.message}}"
}
]
}
Webhook Uç Noktaları
POST http://your-gateway:18789/webhook/github-push
POST http://your-gateway:18789/webhook/alert
GitHub Webhook Örneği
{
"webhooks": [
{
"id": "github-push",
"path": "/webhook/github",
"secret": "${GITHUB_WEBHOOK_SECRET}",
"session": "work",
"handler": "github-push"
}
]
}
Handler betiği:
// ~/.openclaw/handlers/github-push.js
module.exports = async (payload, session) => {
if (payload.ref === 'refs/heads/main') {
const commits = payload.commits.map(c => c.message).join('\n- ');
return `Yeni push tespit edildi:\n\nDal: main\nCommitler:\n- ${commits}\n\nBir şey yapmamı ister misiniz?`;
}
return null;
};
Özel Webhook İşleme
{
"webhooks": [
{
"id": "monitoring-alert",
"path": "/webhook/alert",
"methods": ["POST"],
"session": "main",
"message": "🚨 Uyarı Bildirimi\n\nSeviye: {{data.level}}\nServis: {{data.service}}\nBilgi: {{data.message}}\nZaman: {{data.timestamp}}"
}
]
}
Webhook gönderme:
curl -X POST http://localhost:18789/webhook/alert \
-H "Content-Type: application/json" \
-H "X-Webhook-Secret: your-secret" \
-d '{
"level": "critical",
"service": "api-server",
"message": "CPU kullanımı %90 üzerine çıktı",
"timestamp": "2026-02-26T10:30:00Z"
}'
Webhook Güvenliği
{
"webhooks": [
{
"id": "secure-webhook",
"path": "/webhook/secure",
"secret": "your-secret-key",
"signatureHeader": "X-Signature",
"signatureAlgorithm": "sha256",
"ipWhitelist": ["192.168.1.0/24"]
}
]
}
Gmail Pub/Sub Entegrasyonu
Gmail Pub/Sub Yapılandırması
{
"gmail": {
"pubsub": {
"enabled": true,
"projectId": "your-project-id",
"subscription": "gmail-subscription",
"credentials": {
"type": "service_account",
"project_id": "your-project-id",
"private_key_id": "...",
"private_key": "...",
"client_email": "..."
},
"filters": [
{
"from": "[email protected]",
"session": "main",
"message": "Önemli e-posta alındı:\nGönderen: {{sender}}\nKonu: {{subject}}"
}
]
}
}
}
Gmail Pub/Sub Kurulumu
- Google Cloud projesi oluşturun
- Gmail API’yi etkinleştirin
- Pub/Sub konusu oluşturun
- Servis hesabı oluşturun
- Gmail watch yapılandırın
# Gmail watch yapılandır
openclaw gmail watch --email [email protected]
Gmail Filtreleri
| Filtre Koşulu | Açıklama |
|---|---|
from |
Gönderen e-posta |
to |
Alıcı e-posta |
subject |
Konu anahtar kelimeleri |
hasAttachment |
Ek var mı |
label |
Gmail etiketi |
{
"filters": [
{
"from": "[email protected]",
"session": "work",
"message": "GitHub bildirimi alındı: {{subject}}"
},
{
"from": "[email protected]",
"hasAttachment": true,
"session": "main",
"message": "Stripe belgesi alındı, lütfen işleyin"
}
]
}
Heartbeat Proaktif Kontrol
Heartbeat Yapılandırması
{
"heartbeat": {
"enabled": true,
"interval": 3600000,
"session": "main",
"message": "Heartbeat: Dikkatimi çekmem gereken bir konu var mı kontrol et"
}
}
Heartbeat Kullanım Alanları
| Kullanım | Açıklama |
|---|---|
| Proaktif Hatırlatma | Kullanıcıya düzenli hatırlatma |
| Durum Kontrolü | Sistem veya servis durumunu kontrol etme |
| Görev Önerileri | Bağlama dayalı öneriler sunma |
| Bağlam Bakımı | Oturumu aktif tutma |
Heartbeat Örneği
{
"heartbeat": {
"enabled": true,
"interval": 1800000,
"conditions": [
{
"type": "time",
"start": "09:00",
"end": "18:00"
},
{
"type": "active",
"session": "main"
}
],
"message": "Mevcut zamana göre aşağıdaki konuları kontrol etmenizi öneririm:\n1. Bugünkü yapılacaklar\n2. E-posta hatırlatmaları\n3. Takvim planı"
}
}
Otomasyon Uygulama Örnekleri
Örnek 1: Günlük Sabah Bülteni
{
"cron": [
{
"id": "morning-briefing",
"schedule": "0 8 * * 1-5",
"session": "main",
"message": "Günaydın! Lütfen bugünkü bülteni hazırlayın:\n1. Hava durumu\n2. Bugünkü takvim\n3. Yapılacak işler\n4. Önemli e-posta özeti"
}
]
}
Örnek 2: CI/CD Bildirimi
{
"webhooks": [
{
"id": "ci-failure",
"path": "/webhook/ci",
"session": "dev",
"message": "⚠️ CI Başarısız\n\nProje: {{data.repository}}\nDal: {{data.branch}}\nCommit: {{data.commit}}\nHata: {{data.error}}\n\nAnaliz etmemi ister misiniz?"
}
]
}
Örnek 3: Otomatik E-posta İşleme
{
"gmail": {
"pubsub": {
"filters": [
{
"from": "[email protected]",
"hasAttachment": true,
"session": "main",
"message": "Fatura e-postası alındı, işleniyor...\nLütfen eki finans klasörüne kaydedin"
}
]
}
}
}
Örnek 4: Sistem İzleme
{
"cron": [
{
"id": "system-monitor",
"schedule": "*/5 * * * *",
"session": "main",
"message": "Sistem durumunu kontrol et",
"skills": ["system-monitor"]
}
]
}
Sorun Giderme
Cron Görevi Çalışmıyor
# Görev durumunu kontrol et
openclaw cron list
# Günlükleri kontrol et
openclaw logs --filter cron
# Manuel tetikleme ile test et
openclaw cron run task-id
Webhook Yanıt Vermiyor
# Webhook uç noktasını kontrol et
curl -X POST http://localhost:18789/webhook/test \
-H "Content-Type: application/json" \
-d '{"test": true}'
# Günlükleri görüntüle
openclaw logs --filter webhook
Gmail Pub/Sub Çalışmıyor
# Abonelik durumunu kontrol et
openclaw gmail status
# Yeniden yapılandır
openclaw gmail setup
# İzinleri kontrol et
openclaw gmail check-permissions
Özet
Otomasyon, OpenClaw’u pasif yanıttan proaktif çalışmaya dönüştürür:
- Cron: Zamanlanmış görev yürütme
- Webhook: Harici olay tetikleme
- Gmail Pub/Sub: E-posta otomasyonu
- Heartbeat: Proaktif hatırlatma ve öneriler
Güncelleme Geçmişi:
- 2026-02-26: İlk sürüm yayınlandı
Seri Navigasyonu:
- ← Önceki: Mobil Erişim
- → Sonraki: Uygulama: Kişisel Bilgi Yönetimi Asistanı Oluşturma