Dokümantasyon / Entegrasyonlar
E-posta ve sohbet
ivralo ürettiği çıktıyı e-postayla gönderebilir, Telegram'a ya da Slack'e kısa bir mesaj atabilir. İkisi de siz yapılandırana kadar kapalıdır ve her gönderimi siz onaylarsınız.
İki araç, tek kural
| Araç | Ne gönderir | Yetki |
|---|---|---|
send_email | çalışma alanındaki dosyaları ekleyerek bir e-posta | mail.send |
send_message | yapılandırdığınız Telegram ya da Slack sohbetine kısa bir mesaj | message.send |
Çalışma alanınızı okuyan bir asistanı dışarıya açılan bir kapıya çeviren tek yetenek göndermektir. Bu yüzden iki araç da aynı kurala uyar: her çağrı sizin onayınızı bekler ve bu beklemeyi hiçbir şey kaldırmaz.
Gönderim işi Courier'ın uzmanlığıdır: mail ve notify skill'lerini kullanan courier preset'i. Courier ekipte yalnızca bir e-posta altyapısı ya da bir sohbet kanalı yapılandırılmışsa yer alır. Ana ajan ekibin yetkilerini taşıdığı için bu iki aracı o da çağırabilir; onay kuralı aynıdır.
Her gönderimde onay istenir
Diyalogda dışarı çıkacak her şey görünür; e-posta için bunlar alıcılar, konu, ekler ve gövdedir. Gönderim yüksek riskli olarak işaretlenir: y gönderir, Enter hiçbir şey yapmaz. Daha geniş cevaplar (tur için a, oturum için s, kural için p) gönderimde sunulmaz.
Başında kimsenin olmadığı bir çalıştırmada, örneğin ivralo ask'te, bir pipe'ta ya da bir job'da, iki araç da reddedilir; çünkü onaylayacak kimse yoktur. Tek istisna, bu iş için oluşturulmuş bir zamanlamadır:
ivralo schedule add morning-report --every "weekdays 08:30" "Build the daily error report as a PDF" --mail-to ops@example.com --notify
--mail-to, zamanlamanın e-posta gönderebileceği adresleri belirler; bu adresler zamanlama oluşturulurken IVRALO_MAIL_ALLOWED'a göre denetlenir. --notify ise sohbetinize mesaj atmasına izin verir. Başında kimse yokken bunların dışında hiçbir şey gönderilmez. Ayrıntılar Zamanlamalar sayfasında.
Bir soruyu cevaplamak için açılan instance bu iki araçtan hiçbirini almaz.
E-posta
Bir altyapı ve bir gönderen adresi tanımladığınızda Courier ekibe katılır.
| Değişken | Varsayılan | Ne işe yarar |
|---|---|---|
IVRALO_MAIL | tanımsız | smtp ya da resend; tanımsızsa e-posta gönderilmez |
IVRALO_MAIL_FROM | tanımsız | gönderen adresi |
IVRALO_SMTP_HOST | tanımsız | SMTP sunucusu |
IVRALO_SMTP_PORT | 587 | sunucunun portu |
IVRALO_SMTP_USER, IVRALO_SMTP_PASSWORD | tanımsız | giriş bilgileri |
IVRALO_SMTP_SECURITY | starttls | starttls, ssl ya da none (yerel ağdaki bir relay için) |
IVRALO_RESEND_API_KEY | tanımsız | SMTP yerine Resend'in HTTP API'sini kullanır |
IVRALO_MAIL_ALLOWED | tanımsız | e-postanın gidebileceği adresler ya da @domain'ler; tanımsızsa her adrese gidebilir |
IVRALO_MAIL_MAX_MB | 10 | bir e-postadaki eklerin üst sınırı |
SMTP her sağlayıcıyla çalışır: şirketinizin relay'i, SMTP üzerinden Amazon SES, Outlook ya da bir Gmail uygulama şifresi.
IVRALO_MAIL=smtp
IVRALO_MAIL_FROM=ivralo@example.com
IVRALO_SMTP_HOST=smtp.example.com
IVRALO_SMTP_USER=ivralo@example.com
IVRALO_SMTP_PASSWORD=change-me
IVRALO_MAIL_ALLOWED=@example.com
İsteği konuşur gibi yazarsınız:
incident raporunu tek satırlık bir notla oncall@example.com'a gönder
Önce rapor hazırlanır, sonra tam dosya adı ve adresle gönderilir. Ek olarak yalnızca çalışma alanındaki dosyalar gider ve boyut sınırını aşamaz. Courier hiçbir zaman alıcı uydurmaz; adres yoksa size sorar. İzin listesinde olmayan bir adres ya da bulunamayan bir dosya gibi bir ret olursa, araç ne dediyse aynen bildirilir; etrafından dolaşılmaz.
Telegram ve Slack
| Değişken | Ne işe yarar |
|---|---|
IVRALO_TELEGRAM_BOT_TOKEN, IVRALO_TELEGRAM_CHAT_ID | @BotFather'dan alınan bir bot ve mesaj attığı sohbet; dosyalar belge olarak gider |
IVRALO_SLACK_WEBHOOK_URL | bir Slack incoming webhook'u; yalnızca metin gider, çünkü webhook dosya taşıyamaz |
Sohbet yapılandırmada sabittir; mesajın kime gideceğini model hiçbir zaman seçmez. Tek kanal yapılandırılmışsa o kullanılır, ikisi de varsa çağrıda hangisi olduğu belirtilir.
rapor hazır olunca bana Telegram'dan haber ver
Kurulumu kontrol etmek
ivralo doctor çıktısında bir mail ve bir notify bölümü vardır. Her biri kapalı, hatalı yapılandırılmış (eksik olanı söyleyerek) ya da hazır olduğunu gösterir. İkisi de bağlantı açmaz; çünkü bir gönderimi gerçekten test etmenin tek yolu göndermektir.
Bu ayarların yeri ana dizininizdeki .env dosyasıdır. Şifreyi ve token'ları hiçbir repo'ya koymayın. ivralo, adı _KEY, _TOKEN ya da _SECRET ile biten, ya da içinde PASSWORD veya WEBHOOK geçen her değişkeni Python worker'ından uzak tutar.