Email Triage and Response Automation with OpenClaw

Automate email triage, categorization, and intelligent responses with OpenClaw AI agents. Process hundreds of daily emails with zero manual sorting and faster response times.

E
ECOSIRE Research and Development Team
|19 Mart 202610 dk okuma2.1k Kelime|

OpenClaw ile E-posta Triyajı ve Yanıt Otomasyonu

Ortalama bir bilgi çalışanı günde 2,6 saatini e-posta yönetimine harcıyor. Müşteriyle yüz yüze olan ekipler, satış geliştirme temsilcileri ve yönetici asistanları için bu rakam daha yüksektir ve bu sürenin önemli bir kısmı yetenekli bir sistemin yerine getirebileceği görevlere harcanır: e-postaları aciliyete göre sıralamak, soruları doğru kişiye yönlendirmek, sık sorulan sorulara yanıt vermek, toplantı taleplerini planlamak ve bekleyen konuları takip etmek. Bu görevler kavrama gerektirir ancak yaratıcılık gerektirmez. Bunlar tam olarak OpenClaw ajanlarının tasarlanmış olduğu görevlerdir.

OpenClaw e-posta otomasyonu, anahtar kelimeye dayalı kuralların ötesine geçer. E-posta Önceliklendirme Aracısı, her e-postayı yetenekli bir insan asistanın okuyacağı şekilde okur: bağlamı anlamak, amacı çıkarmak, gönderenin işletmenizle ilişkisini tanımak ve akıllı yönlendirme ve yanıt kararları vermek. Bu kılavuz, kurumsal dağıtımlara yönelik e-posta otomasyon mimarisinin tamamını kapsar.

Önemli Çıkarımlar

  • OpenClaw'ın E-posta Triyaj Aracısı, e-postaları türe (soruşturma, şikayet, fatura, toplantı talebi, spam, dahili bildirim) ve önceliğe göre iki saniyeden kısa bir sürede sınıflandırır.
  • Temsilci, tekrarlanan sorgular için yanıtların taslağını hazırlar, bunları otomatik olarak gönderir veya politikanıza göre onay için bir insana yönlendirir.
  • Toplantı planlama talepleri uçtan uca ele alınır: temsilci takvimin uygunluğunu kontrol eder, zaman önerir, rezervasyonu onaylar ve davet gönderir.
  • Temsilci, ileti dizisi bağlamını korur; aynı ileti dizisindeki takip e-postaları, görüşme geçmişinin farkındalığıyla yönetilir.
  • Duygusal gerilimi algılama, sıkıntılı veya kızgın gönderenleri, konu ne olursa olsun, derhal insan işleyicilere yönlendirir.
  • Hassas e-posta kategorileri (yasal bildirimler, düzenleyici yazışmalar, kurumsal hesaplardan gelen şikayetler) işaretlenir ve hiçbir zaman otomatik olarak yanıtlanmaz.
  • Gmail, Outlook (Microsoft 365) ve IMAP/SMTP uyumlu herhangi bir e-posta sistemiyle entegrasyon.
  • ECOSIRE, yönetici ekipler, müşteri hizmetleri departmanları ve satış geliştirme operasyonları için OpenClaw e-posta otomasyonu oluşturur.

Mimari: E-posta Otomasyon Yığını

E-posta otomasyon hattı, sırayla çalışan dört aracıdan oluşur:

Inbound Email
      ↓
[ Triage Agent ]         — classify type, priority, sender relationship, intent
      ↓
[ Response Agent ]       — draft appropriate response or action
      ↓
[ Review Gate ]          — auto-send, human-approve, or escalate
      ↓
[ Follow-up Agent ]      — track replies, manage open threads, send reminders

İnceleme Kapısı e-posta kategorisine göre yapılandırılabilir. Dahili bildirimler için temsilci hemen harekete geçebilir. Müşteri soruları için taslaklar, bir kişinin göndermesi için önerilen yanıt olarak gelen kutusuna gider. Spam ve pazarlama için aracı otomatik olarak arşivler. Hassas kategoriler için temsilci yanıt vermeden işaretler.


E-posta Entegrasyonu: Posta Kutunuza Bağlanma

OpenClaw, standart protokoller ve OAuth aracılığıyla e-postaya bağlanır. Gmail için önerilen mimari:

export const GmailTool = defineTool({
  name: "email",
  type: "google-gmail",
  auth: {
    type: "oauth2",
    clientId: "${GOOGLE_CLIENT_ID}",
    clientSecret: "${GOOGLE_CLIENT_SECRET}",
    refreshToken: "${GMAIL_REFRESH_TOKEN}", // Stored in Vault
    scopes: [
      "https://www.googleapis.com/auth/gmail.readonly",
      "https://www.googleapis.com/auth/gmail.send",
      "https://www.googleapis.com/auth/gmail.modify",
    ],
  },
  polling: {
    intervalMs: 30_000, // Check every 30 seconds
    maxResults: 50,
    labelFilter: ["INBOX", "UNREAD"],
  },
});

Microsoft 365 için araç, benzer OAuth yapılandırmasına sahip Microsoft Graph API'sini kullanır. Diğer e-posta sistemleri için IMAP aracı uyumluluk sağlar:

export const ImapTool = defineTool({
  name: "email",
  type: "imap",
  config: {
    host: "${IMAP_HOST}",
    port: 993,
    tls: true,
    auth: { user: "${EMAIL_ADDRESS}", pass: "${EMAIL_PASSWORD}" },
    smtpHost: "${SMTP_HOST}",
    smtpPort: 587,
  },
});

E-posta yoklaması yapılandırılabilir bir aralıkta çalışır. Yüksek hacimli gelen kutuları için (günde 1.000'den fazla e-posta), Gmail'in Pub/Sub entegrasyonu veya Outlook'un webhook abonelikleri aracılığıyla sunulan anlık bildirim modeli, yoklama ek yükü olmadan gerçek zamanlı işleme sağlar.


Triyaj Temsilcisi: Her E-postayı Anlamak

Triyaj Aracısı, gelen her e-postayı dört boyuta göre sınıflandırır:

Tür: Bu e-posta hangi kategoriye giriyor? Yaygın türler şunlardır: müşteri sorgulama, satış fırsatı, satıcı iletişimi, fatura/faturalandırma, toplantı talebi, şikayet, yasal bildirim, dahili bildirim, pazarlama/promosyon, spam, haber bülteni.

Öncelik: Bu konuyla ne kadar acil ilgilenilmesi gerekiyor? Öncelik, gönderen ilişkisine (kurumsal hesap ve bilinmeyen kişi), türe (yasal bildirim her zaman yüksek önceliklidir), duyguya (kızgın veya sıkıntılı sinyaller yüksek önceliklidir) ve açık zaman referanslarına ("Cuma gününe kadar ihtiyacım var") göre belirlenir.

Niyet: Gönderen ne istiyor? Bir arama planlayın, bir soruya yanıt alın, para iadesi isteyin, şikayet gönderin, toplantıyı onaylayın, belgeyi onaylayın.

Gönderen İlişkisi: Bu gönderen bir müşteri mi (ve eğer öyleyse hangi seviyede)? Bir satıcı mı? Satış hattında bir potansiyel müşteri mi var? Dahili bir meslektaş mı? İlk kez mi iletişim kuruyorsunuz? Gönderenin e-posta alanı, önceliklendirme bağlamını zenginleştirmek için CRM ve ERP'nizle eşleştirilir.

export const TriageEmail = defineSkill({
  name: "triage-email",
  tools: ["email", "crm", "llm"],
  async run({ input, tools }) {
    const email = await tools.email.getMessage(input.messageId);

    // Enrich sender context
    const senderContext = await tools.crm.findByEmail(email.from.address);

    // Classify with LLM
    const classification = await tools.llm.classify({
      prompt: buildTriagePrompt(email, senderContext),
      schema: {
        type: z.enum(["customer-inquiry", "sales-opportunity", "complaint", "invoice",
                       "meeting-request", "legal-notice", "internal", "spam", "other"]),
        priority: z.enum(["urgent", "high", "normal", "low"]),
        intent: z.string().max(100),
        requiresHuman: z.boolean(),
        requiresHumanReason: z.string().optional(),
        sentiment: z.enum(["positive", "neutral", "negative", "distressed"]),
      },
    });

    // Emotional escalation — always to human
    if (classification.sentiment === "distressed" || classification.type === "legal-notice") {
      return {
        ...classification,
        requiresHuman: true,
        requiresHumanReason: classification.sentiment === "distressed" ? "Distressed sender" : "Legal notice",
        autoAction: "FLAG_FOR_HUMAN",
      };
    }

    return { ...classification, senderContext };
  },
});

Yanıt Temsilcisi: Bağlamsal Olarak Doğru Yanıtlar Hazırlama

Otomatik yanıta uygun e-postalar için (sipariş durumuyla ilgili müşteri sorguları, SSS'ler, planlama talepleri), Yanıt Aracısı kuruluşun iletişim tarzında bir yanıt taslağı hazırlar.

Yanıt kalitesi, aracının erişebildiği bilgiye bağlıdır. Yanıt aracısı şunları sorgular:

  • Gerçek yanıtlar için bilgi tabanı (ürün özellikleri, fiyatlandırma, politikalar)
  • Müşteriye özel bilgiler için CRM (hesap durumları, açık siparişler, önceki etkileşimler)
  • Planlama sırasında kullanılabilirlik için takvim
  • Sipariş ve fatura ayrıntıları için ERP
export const DraftEmailResponse = defineSkill({
  name: "draft-email-response",
  tools: ["email", "crm", "knowledge-base", "erp", "calendar", "llm"],
  async run({ input, tools }) {
    const { email, classification, senderContext } = input;
    let contextData: Record<string, any> = {};

    // Gather relevant context based on email type
    if (classification.type === "customer-inquiry" && senderContext?.customerId) {
      contextData.recentOrders = await tools.erp.getRecentOrders(senderContext.customerId, { limit: 3 });
      contextData.openTickets = await tools.crm.getOpenTickets(senderContext.customerId);
    }

    if (classification.intent.includes("schedule") || classification.type === "meeting-request") {
      contextData.availability = await tools.calendar.getFreeSlots({ days: 7, duration: 30 });
    }

    // Query knowledge base for relevant answers
    const knowledgeResults = await tools.knowledgeBase.search(email.body, { topK: 3 });
    contextData.knowledgeAnswers = knowledgeResults;

    // Generate draft
    const draft = await tools.llm.generate({
      prompt: buildResponsePrompt(email, classification, senderContext, contextData),
      systemPrompt: loadBrandVoiceGuide(), // Tone, style, sign-off format
      maxTokens: 500,
      temperature: 0.3,
    });

    return {
      draft,
      contextUsed: Object.keys(contextData),
      confidence: knowledgeResults[0]?.confidence ?? 0.5,
    };
  },
});

Marka sesi tutarlılığı: Yanıt oluşturmaya yönelik sistem istemi, kuruluşunuzun iletişim tarzı yönergelerini içerir: formalite düzeyi, tercih edilen imza, müşterilere nasıl hitap edileceği (adıyla veya resmi olarak) ve kullanılacak veya kaçınılacak belirli ifadeler. Bu, temsilci tarafından hazırlanan yanıtların, yazarlık açısından olmasa da, stil açısından ekibinizin yazılarından ayırt edilemez olmasını sağlar.


Toplantı Planlama: Takvimin İleri Geri Gidişini Ortadan Kaldırın

Toplantı planlama e-postaları yüksek hacimli ve düşük yaratıcılıklıdır; temsilcilerin mükemmel bir şekilde ele aldığı öngörülebilir kalıpları takip ederler. Önceliklendirme Aracısı bir toplantı isteğini tanımladığında Yanıt Planlama akışı etkinleştirilir.

export const HandleMeetingRequest = defineSkill({
  name: "handle-meeting-request",
  tools: ["calendar", "email"],
  async run({ input, tools }) {
    const { email, requestedDuration } = input;

    // Find available slots
    const slots = await tools.calendar.getFreeSlots({
      duration: requestedDuration ?? 30,
      days: 7,
      businessHoursOnly: true,
      timezone: inferTimezone(email),
    });

    if (slots.length === 0) {
      return {
        action: "DRAFT_RESPONSE",
        message: "No available slots in the next 7 days — response template: suggest extending the window",
        requiresHuman: true,
      };
    }

    const topSlots = slots.slice(0, 3);

    // Create a scheduling page link (or include times directly in the email)
    const schedulingLink = await tools.calendar.createSchedulingPage({
      slots: topSlots,
      title: `Meeting with ${input.hostName}`,
      duration: requestedDuration ?? 30,
      confirmationEmailTemplate: "meeting-confirmed",
    });

    const draft = buildSchedulingResponse(email, topSlots, schedulingLink, input.hostName);

    return { action: "DRAFT_READY", draft, schedulingLink };
  },
});

Alıcı, planlama bağlantısındaki bir yuvaya tıkladığında, bir web kancası, takvim etkinliğini ayarlayan, tüm taraflara takvim davetleri gönderen ve e-posta dizisini bir onayla kapatan onaylama becerisini harekete geçirir.


Konu İçeriği Yönetimi

E-posta konuşmaları birden fazla mesajı kapsar. Bir takip e-postası yalnızca önceki ileti dizisi bağlamında anlamlıdır. Konu Yöneticisi, yeni mesajlar geldikçe güncellenen her açık konunun anlamsal bir özetini tutar.

export const UpdateThreadContext = defineSkill({
  name: "update-thread-context",
  tools: ["email"],
  async run({ input, tools, memory }) {
    const threadKey = `thread:${input.threadId}`;
    const existingContext = await memory.episode.get(threadKey);

    const newMessages = await tools.email.getThreadMessages(input.threadId, {
      since: existingContext?.lastMessageId ?? null,
    });

    const updatedSummary = await summarizeThread([
      ...(existingContext?.messages ?? []),
      ...newMessages,
    ]);

    await memory.episode.set(threadKey, {
      threadId: input.threadId,
      summary: updatedSummary,
      lastMessageId: newMessages[newMessages.length - 1]?.id,
      openItems: extractOpenItems(updatedSummary),
      lastUpdated: new Date().toISOString(),
    });

    return { summary: updatedSummary };
  },
});

Bir diziye yeni bir mesaj geldiğinde, önceliklendirme ve yanıt temsilcileri konu özetini bağlam olarak alır, böylece her mesajı yeniden okumaya gerek kalmadan tüm konuşma geçmişini anlarlar.


Takip Takibi: Hiçbir Şey Gözden Kaçmaz

Takip Aracısı, kuruluşun mesaj gönderdiği ve yanıt almadığı açık konuları izler. Yapılandırılabilir bir sürenin ardından (genellikle müşteri desteği için 3 iş günü, zamana duyarlı satış takipleri için 1 gün), bir takip e-postası taslağı hazırlar ve bunu uygun inceleme kapısına yönlendirir.

export const TrackOpenThreads = defineSkill({
  name: "track-open-threads",
  tools: ["email"],
  async run({ input, tools, memory }) {
    const sentEmails = await tools.email.getSentMessages({
      since: hoursAgo(24 * 7), // Last week's sent emails
      excludeInternalDomains: true,
    });

    const waitingForReply = [];
    for (const sent of sentEmails) {
      const thread = await tools.email.getThread(sent.threadId);
      const lastMessage = thread.messages[thread.messages.length - 1];
      const weWroteLastMessage = lastMessage.from.address === input.ourEmailAddress;

      if (weWroteLastMessage) {
        const daysSinceSent = daysSince(lastMessage.date);
        if (daysSinceSent >= input.followUpAfterDays) {
          waitingForReply.push({ threadId: sent.threadId, daysSinceSent, subject: sent.subject });
        }
      }
    }

    return { waitingForReply, count: waitingForReply.length };
  },
});

Hassas E-posta İşleme: Temsilcinin Asla Otomatik Yanıt Vermediği Şeyler

Bazı e-posta kategorileri hiçbir zaman otomatik yanıt almamalıdır. Triyaj Ajanı bunları derhal insan müdahalesi için işaretler:

  • Yasal bildirimler, durdurma ve cayma mektupları, düzenleyici yazışmalar
  • Gelir eşiğinin üzerindeki kurumsal hesaplardan gelen şikayetler
  • Medya, basın veya gazetecilikten bahseden e-postalar
  • Yasal belgeleri öneren ek türlerine sahip e-postalar (yasal görünen dosya adı kalıplarına sahip PDF)
  • Kimlik avı veya sosyal mühendislik girişimleri (işaretlendi ve karantinaya alındı, yanıt verilmedi)
  • Sınıflandırma güvenirliği çok düşük olan e-postalar (temsilci e-postanın ne hakkında olduğundan emin değil)

İşaretleme sistemi bir etiket ekler ve ekibin iş akışı sisteminde bir görev oluşturur; e-posta asla kaybolmaz, sadece insanların eline geçer.


Sıkça Sorulan Sorular

Aracı, yanıtlarda insan yazarlığının görünümünü nasıl koruyor?

Yanıt Aracısı, göndericinin iletişim tarzına göre yapılandırılır: tercih edilen ifadeler, oturum kapatma biçimi, tipik yanıt uzunluğu ve formalite düzeyi. Taslaklar bu tarzda oluşturulur. Yanıtların gönderilmeden önce incelendiği ekipler için, kişi gerekirse taslağı düzenler ve kendisi gönderir; e-posta, yapay zeka yardımına dair hiçbir belirti olmaksızın kendi adreslerinden gelir. Tam otomatik yanıtlar için (SSS yanıtları, sipariş durumu), kuruluş otomasyonu e-posta altbilgisinde açıklamayı seçebilir.

Temsilci nasıl yanıt vereceği konusunda emin olmadığında ne olur?

Güven eşikleri e-posta kategorisine göre yapılandırılabilir. Aracının sınıflandırmasına veya önerilen yanıtına olan güveni eşiğin altına düştüğünde, otomatik yanıt yerine önerilen bir eylemle insan inceleme kuyruğuna yönlendirilir. İnsan, öneriyi tek tıklamayla onaylayabilir, değiştirebilir veya manuel olarak işleyebilir. Onaylanan her öneri, öğrenme geri bildirim döngüsü aracılığıyla temsilcinin gelecekte benzer e-postalara olan güvenini artırır.

Temsilci birden fazla dildeki e-postaları yönetebilir mi?

Evet. Dil tespiti, triyaj hattının ilk adımı olarak çalışır. Bilgi tabanının o dilde içeriğe sahip olması durumunda aracı, gelen e-postayla aynı dilde yanıt taslağı hazırlayabilir. Bilgi tabanının yalnızca İngilizce olduğu diller için aracı, yanıt taslağını gönderenin diline çevirir. İngilizce dışındaki dillerdeki yanıt kalitesi, LLM'nin güçlü bir eğitim kapsamına sahip olduğu diller için en yüksektir (İspanyolca, Fransızca, Almanca, Çince, Japonca, Portekizce, Arapça).

Takip izleyicisi hatırlatıcıların çok agresif bir şekilde gönderilmesini nasıl önler?

Takip temsilcisi, bir hatırlatma göndermeden önce alıcının etkileşim sinyallerini kontrol eder. Alıcı önceki e-postayı açtıysa (varsa okundu bilgileri aracılığıyla izleniyor) ancak yanıt vermediyse takip daha yumuşak olur ve alıcının bunu düşündüğünü varsayar. Açık sinyal yoksa takip daha doğrudan olur. Temsilci aynı zamanda devre dışı bırakma sinyallerine de saygı duyar: Önceki bir takipte iletişime geçilmemesini isteyen bir yanıt oluşturulmuşsa konu kapalı olarak işaretlenir ve başka takip gönderilmez.

E-postalarda gerçekleştirilen tüm otomatik eylemlerin denetim izi var mı?

Evet. Her otomatik eylem (öncelik sınıflandırması, taslak oluşturma, otomatik gönderme, etiket uygulaması, arşiv) zaman damgası, aracının sınıflandırma mantığı ve e-postanın mesaj kimliğiyle birlikte günlüğe kaydedilir. Denetim günlüğüne yöneticiler erişebilir ve uyumluluk incelemeleri için dışarı aktarılabilir. E-posta arşivleme gereksinimleri olan kuruluşlar için OpenClaw'ın eylemleri mevcut e-posta arşivleme çözümünüzü etkilemez.


Sonraki Adımlar

E-posta, çoğu profesyonel ekip için yüksek hacimli, düşük yaratıcılık gerektiren bir darboğazdır. OpenClaw e-posta otomasyonu sıralamayı, yönlendirmeyi ve tekrarlı yanıtlamayı yönetir, böylece ekibiniz insan muhakemesi, ilişki kurma ve yaratıcılık gerektiren konuşmalara odaklanır.

ECOSIRE'ın OpenClaw hizmetleri müşteri hizmetleri ekipleri, yönetici asistanları, satış geliştirme operasyonları ve satıcı yönetimi işlevleri için e-posta otomasyon uygulamasını içerir. Ekibimiz önceliklendirme kurallarını, bilgi tabanını, marka sesi yönergelerini ve inceleme kapılarını kuruluşunuzun iletişim standartlarına uyacak şekilde yapılandırır.

E-posta otomasyon gereksinimlerinizi görüşmek ve uygulama tahmini almak için ECOSIRE ile iletişime geçin.

E

Yazan

ECOSIRE Research and Development Team

ECOSIRE'da kurumsal düzeyde dijital ürünler geliştiriyor. Odoo entegrasyonları, e-ticaret otomasyonu ve yapay zeka destekli iş çözümleri hakkında içgörüler paylaşıyor.

WhatsApp'ta Sohbet Et