Ana içeriğe geç

İş akışı kuralları

Özelleştirilebilir iş akışı kuralları ile Helpdesk süreçlerinizi otomatikleştirin. İş akışı kuralları, destek talebi özelliklerini otomatik olarak güncellemenize, bildirimler göndermenize ve tanımlanmış olaylara veya koşullara göre belirli eylemleri tetiklemenize olanak tanır. Bu özellik manuel çalışmayı azaltmaya, tutarlılığı sürdürmeye ve yanıt sürelerini hızlandırmaya yardımcı olur.

Kurulumdan sonra, Helpdesk MX otomatik olarak varsayılan iş akışı kuralı "Auto-change status to Waiting for Customer on agent reply" oluşturur.


Genel bilgiler​

Genel bilgilerGenel bilgiler
  • Rule Name: kural için açıklayıcı bir ad tanımlayın. Net isimlendirme, ekibinizin her kuralın ne yaptığını kolayca belirlemesine yardımcı olur.
  • Active: kuralı etkinleştirin veya devre dışı bırakın. Yalnızca aktif kurallar, olayları ve koşulları karşılandığında yürütülür.
  • Event: kuralı tetikleyen olayı seçin.
  • Priority / Sort Order: kuralın işleme sırasını belirtin. Küçük sayılar önce yürütülür. Bu, aynı olaya birden fazla kural uygulandığında hangi kuralların öncelik alacağını kontrol etmeye yardımcı olur.
  • Stop Further Rules Processing: bu kural uygulandıktan sonra daha düşük öncelikli kuralları yürütmeyi durdurun. Belirli bir kuralın bir olay üzerinde tam kontrol sahibi olmasını istediğinizde kullanışlıdır.

Olaylar​

Olaylar, iş akışı kuralının ne zaman değerlendirileceğini tanımlar. Mevcut olaylar şunları içerir:

  • New Ticket — yeni bir destek talebi oluşturulduğunda tetiklenir.
  • New Customer Reply — bir müşteri yeni bir yanıt gönderdiğinde tetiklenir.
  • New Staff Reply — bir temsilci yanıt gönderdiğinde tetiklenir.
  • New Third Party Reply — üçüncü bir taraf mesaj gönderdiğinde tetiklenir.
  • Ticket Assigned — bir destek talebi bir kullanıcıya atandığında tetiklenir.
  • Ticket Updated — destek talebi alanları güncellendiğinde tetiklenir.
  • Cron Every Hour — sistem tarafından her saat tetiklenir, zamana dayalı eylemlere olanak tanır.

Koşullar​

Koşullar, bir iş akışı kuralının ne zaman yürütülmesi gerektiğini tanımlar. Bir veya birden fazla koşul kullanabilir, bunları ALL/ANY mantığıyla birleştirebilir ve gelişmiş filtreleme için iç içe gruplar bile oluşturabilirsiniz. Kuralın her olay oluşumunda yürütülmesi için bu bölümü boş bırakın.

KoşullarKoşullar

Mevcut alanlar​

Şu alanları kullanarak koşullar oluşturabilirsiniz:

  • Subject — destek talebi konusundaki kelimeleri veya ifadeleri kontrol eder.
  • Customer Email — müşterinin e-posta adresini eşleştirir.
  • Customer Name — müşterinin adını karşılaştırır.
  • Channel — belirli kaynaklardan oluşturulan destek taleplerini filtreler (örn. e-posta, iletişim formu, API).
  • Department — destek talebine atanan mevcut departmanı eşleştirir.
  • Department (Before Change) — bir güncelleme olayından önceki departmanla karşılaştırmaya izin verir.
  • Folder — destek talebinin şu anda hangi klasöre ait olduğunu kontrol eder.
  • Folder (Before Change) — son değişiklikten önceki klasörü kontrol eder.
  • Owner — atanan temsilciyi eşleştirir.
  • Owner (Before Change) — güncellemeden önceki sahibi karşılaştırır.
  • Priority — destek talebinin mevcut önceliğini kontrol eder.
  • Priority (Before Change) — güncellenmeden önceki önceliği karşılaştırır.
  • Status — mevcut destek talebi durumunu kontrol eder.
  • Status (Before Change) — önceki durumu karşılaştırır.
  • Last Message — en son mesajdaki içeriği kontrol etmenize olanak tanır.
  • Last Reply By — son kim yanıt verdi belirler (müşteri, personel veya üçüncü taraf).
  • Hours Since Created — destek talebi oluşturulduğundan beri geçen süre.
  • Hours Since Last Reply — son yanıttan beri geçen süre.
  • Hours Since Updated — destek talebinin son değiştirilmesinden beri geçen süre.

Koşul operatörleri​

Her koşul, değerlerin nasıl karşılaştırıldığını tanımlamak için aşağıdaki operatörlerden birini kullanabilir:

  • Equals — alan değeri belirtilen değerle tam olarak eşleştiğinde tetiklenir.
  • Not Equals — alan değeri belirtilen değerden farklı olduğunda tetiklenir.
  • Greater Than — değer belirtilenden büyük olduğunda tetiklenir (esas olarak sayısal veya zaman alanlarıyla kullanılır).
  • Greater Than or Equals — değer belirtilenden büyük veya eşit olduğunda tetiklenir.
  • Less Than — değer belirtilenden küçük olduğunda tetiklenir.
  • Less Than or Equals — değer belirtilenden küçük veya eşit olduğunda tetiklenir.
  • Between — değer belirtilen iki sayı arasında olduğunda tetiklenir (zamana dayalı koşullar için kullanışlıdır).
  • Matches Regex — gelişmiş şablon eşleştirme için düzenli ifadeler kullanarak alan değerlerini karşılaştırır.
  • Starts With — alan belirtilen metinle başlıyorsa tetiklenir.
  • Ends With — alan belirtilen metinle bitiyorsa tetiklenir.
  • Is Empty — alanın değeri olmadığında tetiklenir.
  • Is Not Empty — alan herhangi bir değer içerdiğinde tetiklenir.
  • Contains — alan belirtilen metni içerdiğinde tetiklenir.
  • Does Not Contain — alan belirtilen metni içermediğinde tetiklenir.

Eylemler​

Eylemler, tüm koşullar karşılandığında ne olacağını tanımlar. Tek bir kural içinde birden fazla eylem birleştirilebilir.

EylemlerEylemler

Mevcut eylemler şunları içerir:

  • Set Status — destek talebinin durumunu güncelleyin.
  • Set Priority — öncelik seviyesini değiştirin.
  • Set Department — destek talebini başka bir departmana yeniden atayın.
  • Set Owner — belirli bir temsilciye atayın.
  • Change Folder — destek talebini belirli bir klasöre taşıyın.
  • Add Tags — kategorizasyon için etiketler ekleyin.
  • Remove Tags — destek talebinden mevcut etiketleri silin.
  • Send Email — belirtilen alıcılara e-posta bildirimleri gönderin.
  • Run Script — gelişmiş otomasyon için özel JavaScript kodu çalıştırın.

E-posta Gönder Eylemi​

Send Email eylemi, kural tetiklendiğinde otomatik e-posta bildirimleri göndermenize olanak tanır. Bu, ekip üyelerini bilgilendirmek, müşterileri uyarmak veya dış taraflarla iletişim kurmak için kullanışlıdır.

Mevcut seçenekler:

  • Send to ticket owner — atanan temsilciyi bilgilendirin.
  • Send to all department users — destek talebi departmanının tüm üyelerini bilgilendirin.
  • Send to customer — müşteriyi güncellemeler hakkında bilgilendirin.
  • Send to other addresses — özel e-posta adresleri belirtin.
  • Email Subject — e-posta konu satırını belirtin (Liquid şablon değişkenlerini destekler).
  • Email Body — e-posta içeriğini oluşturun (Liquid şablon değişkenlerini destekler).
  • Include attachments — son mesajdan dosyalar ekleyin.

Şablon Değişkenleri​

Email Subject ve Email Body alanlarında destek talebi, müşteri ve mesaj bilgilerini dinamik olarak eklemek için Liquid şablon değişkenlerini kullanabilirsiniz.

Destek Talebi Değişkenleri:

DeğişkenAçıklama
{{ ticket.code }}Destek talebi kodu (örn. T-001)
{{ ticket.subject }}Destek talebi konusu
{{ ticket.created_at }}Destek talebi oluşturma zaman damgası
{{ ticket.updated_at }}Son güncelleme zaman damgası
{{ ticket.customer_name }}Müşteri tam adı
{{ ticket.customer_email }}Müşteri e-posta adresi
{{ ticket.admin_url }}Yönetici panelinde destek talebine doğrudan bağlantı
{{ ticket.admin_last_message_text }}Son temsilci yanıt içeriği (düz metin)
{{ ticket.admin_last_message_html }}Son temsilci yanıt içeriği (HTML)
{{ ticket.customer_last_message_text }}Son müşteri yanıt içeriği (düz metin)
{{ ticket.customer_last_message_html }}Son müşteri yanıt içeriği (HTML)

Sahip/Atanan Değişkenleri:

DeğişkenAçıklama
{{ owner.firstname }}Atanan temsilci adı
{{ owner.lastname }}Atanan temsilci soyadı
{{ owner.email }}Atanan temsilci e-postası
{{ owner.fullname }}Atanan temsilci tam adı
{{ owner.is_admin }}Sahibin yönetici olup olmadığı

Departman Değişkenleri:

DeğişkenAçıklama
{{ department.name }}Departman adı
{{ department.sender_name }}Departman gönderen adı

Mesaj Değişkenleri (mesaj olayları tarafından tetiklendiğinde):

DeğişkenAçıklama
{{ message.body_text }}Mesaj içeriği (düz metin)
{{ message.body_html }}Mesaj içeriği (HTML)
{{ message.type }}Mesaj türü
{{ message.created_at }}Mesaj oluşturma zaman damgası

Tarih/Saat Değişkenleri:

DeğişkenAçıklama
{{ now }}Mevcut zaman damgası (RFC3339)
{{ date }}Mevcut tarih (YYYY-MM-DD)
{{ time }}Mevcut saat (HH:MM:SS)
{{ year }}Mevcut yıl

Örnek E-posta Şablonu:

Konu: #{{ ticket.code }} numaralı destek talebinde yeni yanıt

Merhaba {{ owner.firstname }},

Müşteri "{{ ticket.subject }}" konulu destek talebini yanıtladı.

Müşteri: {{ ticket.customer_name }} ({{ ticket.customer_email }})

Son mesaj:
{{ ticket.customer_last_message_text }}

Destek talebini görüntüle: {{ ticket.admin_url }}

Script Çalıştır Eylemi​

Run Script eylemi, basit alan atamalarının ötesinde karmaşık otomasyon mantığı uygulamak için özel JavaScript kodu çalıştırmanıza olanak tanır. Scriptler destek talebi verilerini okuyabilir, koşullu kararlar alabilir ve birden fazla alanı aynı anda güncelleyebilir.

Mevcut Destek Talebi Özellikleri (okuma):

ÖzellikAçıklama
ticket.idDestek talebi benzersiz tanımlayıcısı
ticket.subjectDestek talebi konusu
ticket.folderMevcut klasör (INBOX, ASSIGNED, SPAM vb.)
ticket.tagsEtiket dizisi
ticket.statusid, code ve name içeren nesne
ticket.priorityid ve name içeren nesne
ticket.departmentid ve name içeren nesne
ticket.ownerid, email, firstname, lastname içeren nesne
ticket.customerid, email, firstname, lastname, name içeren nesne
ticket.<custom_field_code>Koduna göre özel alan değeri

Mevcut Destek Talebi Özellikleri (yazma):

ÖzellikBeklenen Değer
ticket.statusDurum kodu (dize) veya durum ID'si
ticket.priorityÖncelik adı (dize) veya öncelik ID'si
ticket.departmentDepartman adı (dize) veya departman ID'si
ticket.ownerKullanıcı e-postası (dize) veya kullanıcı ID'si
ticket.folderKlasör adı: "INBOX", "ASSIGNED", "SPAM", "ARCHIVE"
ticket.tagsEtiket dizelerinin dizisi
ticket.<custom_field_code>Özel alan türüne uygun değer

Yardımcı Fonksiyonlar:

FonksiyonDöndürür
getStatuses()Tüm mevcut durumların dizisi
getPriorities()Tüm mevcut önceliklerin dizisi
getDepartments()Tüm mevcut departmanların dizisi
getUsers()Tüm mevcut kullanıcıların dizisi
fetch(url, options)Harici API'lara HTTP istekleri yapar

Mesaj Bağlamı (mesaj olayı tarafından tetiklendiğinde kullanılabilir):

ÖzellikAçıklama
message.idMesaj benzersiz tanımlayıcısı
message.body_textMesaj içeriği (düz metin)
message.body_htmlMesaj içeriği (HTML)
message.createdAtMesaj oluşturma zaman damgası

Script Örnekleri:

// Konu anahtar kelimelerine göre öncelik ayarla
if (ticket.subject.toLowerCase().includes("urgent")) {
ticket.priority = "High";
}
// İçeriğe göre destek taleplerini departmanlara yönlendir
if (ticket.subject.includes("billing") || ticket.subject.includes("invoice")) {
ticket.department = "Billing";
} else if (ticket.subject.includes("technical") || ticket.subject.includes("error")) {
ticket.department = "Technical Support";
}
// VIP müşteri yönetimi
if (ticket.customer && ticket.customer.email.endsWith("@enterprise.com")) {
ticket.priority = "High";
ticket.tags = ["vip", "enterprise"];
}
// Özel alan değeri ayarla
ticket.order_id = "12345";
ticket.vip_customer = true;
ticket.order_amount = 99.99;
// Harici API'dan müşteri verisi çek ve destek talebini güncelle
var response = fetch("https://api.example.com/customers/" + ticket.customer.email, {
headers: { "Authorization": "Bearer YOUR_API_KEY" }
});

if (response.ok && response.json) {
ticket.customer_tier = response.json.tier;
if (response.json.tier === "enterprise") {
ticket.priority = "High";
ticket.department = "Enterprise Support";
}
}

Önemli Notlar:

  • Scriptler, sonsuz döngüleri önlemek için 10 saniyelik zaman aşımına sahiptir.
  • Geçersiz alan değerleri (var olmayan durum, öncelik vb.) sessizce yoksayılır.
  • Script hataları diğer kuralları etkilemez veya sistem çökmesine neden olmaz.
  • Özel alanlara adlarıyla değil, kodlarıyla başvurulur.

Bildirimler​

Kural yürütüldüğünde tüm tarafları bilgilendirmek için otomatik e-posta bildirimleri gönderebilirsiniz.

BildirimlerBildirimler

Bildirim seçenekleri şunları içerir:

  • Send email to ticket owner — atanan temsilciyi bilgilendirin.
  • Send email to all department users — tüm departman üyelerini uyarın.
  • Send email to customer — müşteriyi değişiklikler hakkında bilgilendirin.
  • Send email to other addresses — harici alıcılara gönderin.
  • Email Subject — konu satırını belirtin.
  • Email Body — e-posta içeriğini oluşturun.
  • Attach files previously attached to the last message — bağlam için önceki ekleri dahil edin.

Örnek İş Akışı Kuralları​

Müşteri yanıtladığında durum değiştir
Müşteri yanıtladığında, sistem destek talebi durumunu otomatik olarak Waiting for Agent olarak değiştirir.

Tür: İş akışı kuralı
Aktif: Evet
Olay: New Customer Reply
Koşullar: Status Not Equals Closed
Eylemler: Set Status → Waiting for Agent
Üçüncü taraftan yeni yanıt
Üçüncü taraf mesaj gönderdiğinde, sistem durumu Waiting for Agent olarak ayarlar ve `third_party` etiketi ekler.

Tür: İş akışı kuralı
Aktif: Evet
Olay: New Third Party Reply
Koşullar: Yok
Eylemler:
Set Status → Waiting for Agent
Add Tags → third_party
Personele atanan destek talebi
Destek talebi bir personel üyesine atandığında, otomatik olarak Assigned klasörüne taşınır ve e-posta bildirimi gönderilir.

Tür: İş akışı kuralı
Aktif: Evet
Olay: Ticket Assigned
Koşullar: Yok
Eylemler:
Change Folder → Assigned
Send email to ticket owner
72 saat yanıt olmadan destek talebini kapat
72 saat içinde yanıt alınmazsa, destek talebi otomatik olarak kapatılır.

Tür: İş akışı kuralı
Aktif: Evet
Olay: Cron Every Hour
Koşullar:
Status Equals Waiting for Customer
Hours Since Last Reply Greater Than 72
Eylemler: Set Status → Closed
Script: Müşteri e-posta alanına göre yönlendirme ve önceliklendirme
Kurumsal müşterileri özel desteğe yönlendirin ve yüksek öncelik ayarlayın.

Tür: İş akışı kuralı
Aktif: Evet
Olay: New Ticket
Koşullar: Yok
Eylemler: Run Script

```javascript
if (ticket.customer && ticket.customer.email) {
var domain = ticket.customer.email.split("@")[1];

if (domain === "enterprise.com" || domain === "bigcorp.com") {
ticket.priority = "High";
ticket.department = "Enterprise Support";
ticket.tags = ["enterprise", "priority"];
}
}
```
Script: Konu anahtar kelimelerine göre otomatik destek talebi kategorizasyonu
Destek taleplerini otomatik olarak kategorize edin ve konu içeriğine göre özel alanlar ayarlayın.

Tür: İş akışı kuralı
Aktif: Evet
Olay: New Ticket
Koşullar: Yok
Eylemler: Run Script

```javascript
var subject = ticket.subject.toLowerCase();

if (subject.includes("refund") || subject.includes("return")) {
ticket.department = "Billing";
ticket.category = "refund_request";
} else if (subject.includes("password") || subject.includes("login")) {
ticket.department = "Technical Support";
ticket.category = "account_access";
} else if (subject.includes("order") || subject.includes("shipping")) {
ticket.department = "Orders";
ticket.category = "order_inquiry";
}
```
Script: Mesaj içerik analizine göre eskalasyon
Mesajlarda acil anahtar kelimeleri tespit edin ve destek taleplerini otomatik olarak eskale edin.

Tür: İş akışı kuralı
Aktif: Evet
Olay: New Customer Reply
Koşullar: Yok
Eylemler: Run Script

```javascript
if (message && message.body_text) {
var body = message.body_text.toLowerCase();
var urgentKeywords = ["asap", "urgent", "critical", "down", "outage", "emergency"];

for (var i = 0; i < urgentKeywords.length; i++) {
if (body.includes(urgentKeywords[i])) {
ticket.priority = "High";
ticket.tags = ticket.tags.concat(["escalated"]);
break;
}
}
}
```