Slack'a bildirimler

Son güncelleme: 22.04.2024

Yeni destek taleplerinin alınmasına ve zaten var olan destek taleplerinde yeni müşteri yanıtlarının oluşturulmasına dair bildirimleri yapılandırma bilgisi bu makalemizde verilmiştir. Diğer talimatlar:

Slack'a bildirim almak için Slack'ta bir uygulama oluşturmanız ve Deskie hesabınızda ilgili kuralları yapılandırmanız gerekmektedir.

İstek kodu örneklerinde Slack'ın önerdiği blok yöntemini kullanmaktayız. "Diğer ek olanaklar" bölümünde, Attachment yönteminin kullanıldığı bir istek kodu örneğini de ele almaktayız.

Slack'ta webhook ayarlarını yapılandırma

1. Slack hesabınızı açın ve Slack uygulaması oluşturma formuna geçiş yapın. Açılan pencerede Create an app → From scratch adlı opsiyonu seçin, uygulama adını belirtin ve listeden onun ilişkilendirmiş (ait) olacağı çalışma alanını seçin.

2. "Incoming Webhooks" bölümüne geçiş yapın ve gelen webhookları etkinleştirin ("Activate Incoming Webhooks" öğesini ON olarak ayarlayın). Sayfanın alt kısmında bulunan "Add New Webhook to Workspace" öğesini tıklayın.

3. Açılan sayfada Deskie kaynaklı bildirimler için istenen kanalı veya kişiyi (bildirimler uygulamayı oluşturan adına istenen kişiye özel mesajlar olarak gönderilmesi için) seçin ve "Allow" düğmesini tıklayın.

Özel mesajlara bildirim göndermek isterseniz, her temsilci için ayrı ayrı webhook URL'lerini oluşturmanız gerekecektir.

4. Elde edilen webhook URL'sini kopyalayın, Deskie'de kuralları yapılandırmak için gerekecektir.

Deskie'de kuralları oluşturma

5. Deskie hesabınızda Slack'a bildirim gönderecek kuralları oluşturun: yönetici hesabı — "Kanallar" bölümü — "Kurallar" alt bölümü.

a. Yeni destek taleplerinin alındığına dair Slack'a bildirimlerin gönderilmesini yapılandırmak için gelen destek talepleri türünden bir kural oluşturun:

"Şu eylemleri gerçekleştir" bloğunda, "Webhooku çalıştır" opsiyonunu seçin ve ardından metodu POST olarak belirtin. "İsteğin gönderileceği URL" alanına Slack'ta elde edilen webhook URL'sini girin.

Ardından, istek için JSON formatı opsiyonunu seçin ve "Özel isteğiniz" alanına aşağıdaki kodu yapıştırın:

{
        "text": "Yeni destek talebi alındı № [case_number]: [case_subject]",
        "blocks": [{
                "type": "section",
                "text": {
                    "type": "mrkdwn",
                    "text": "*Yeni destek talebi* alındı № <[case_url] | *[case_number]*>"
                }
            },
            {
                "type": "section",
                "fields": [{
                        "type": "mrkdwn",
                        "text": "*Gönderen*\n[user_full_name] \n [user_email]"
                    },
                    {
                        "type": "mrkdwn",
                        "text": "*Grup*\n[case_group]"
                    }
                ]
            },
            {
                "type": "section",
                "text": {
                    "type": "mrkdwn",
                    "text": "*[case_subject]:*\n\n[case_description|text]"
                }
            },
            {
                "type": "divider"
            }
        ]
}

Yukarıda yer alan kod kullanılarak gönderilen bildirim Slack arayüzünde şu şekilde görünecektir:

b. Mevcut destek taleplerinde/sohbetlerde yeni müşteri yanıtlarının alındığına dair Slack'a bildirimlerin gönderilmesini yapılandırmak için güncellenen destek talepleri türünden bir kural oluşturun:

"Şu eylemleri gerçekleştir" bloğunda, "Webhooku çalıştır" opsiyonunu seçin ve ardından metodu POST olarak belirtin. "İsteğin gönderileceği URL" alanına Slack'ta elde edilen webhook URL'sini girin.

Ardından, istek için JSON formatı opsiyonunu seçin ve "Özel isteğiniz" alanına aşağıdaki kodu yapıştırın:

{
        "text": "Yeni yanıt şu destek talebinde № [case_number]: [case_subject]",
        "blocks": [
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": "*Yeni yanıt* şu destek talebinde № <[case_url] | *[case_number]*>"
            }
        },
        {
            "type": "section",
            "fields": [
                {
                    "type": "mrkdwn",
                    "text": "*Gönderen*\n[user_full_name] \n [user_email]"
                },
                {
                    "type": "mrkdwn",
                    "text": "*Grup*\n[case_group]"
                }
            ]
        },
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": "*[case_subject]:*\n\n[last_message|text]"
            }
        },
        {
            "type": "divider"
        }
    ]
}

Yukarıda yer alan kod kullanılarak gönderilen bildirim Slack arayüzünde şu şekilde görünecektir:

Slack'a bildirimler sayesinde artık müşterilerinizin yeni mesajlarını kaçırmayacaksınız.

PRO ipucu: Yeni sohbetlerde, sohbet (sohbet bazında oluşturulan destek talebi) konusu, ilk müşteri mesajına göre oluşturulur:

  • Bazen mesajlar oldukça uzun olabildiği için bildirim görünümünün düzeni bozulabilir;

  • Bu gibi hallerde, mesajın kendisi sohbet konusunu tekrarlayacaktır.

Bunu önlemek için, e-posta kanalı kaynaklı destek talepleri ve senkron kanallar üzerinden alınan sohbetler için ayrı kurallar oluşturmanızı ve yeni sohbetlere dair bildirimleri gönderen kurallarda [case_subject] değişkenini kullanmamanızı tavsiye ederiz.

Diğer ek olanaklar

6. Deskie değişkenleri kullanın

Dilerseniz, ihtiyaç duyduğunuz Deskie'deki verileri (destek talebi grubu, müşteri telefon numarası, şirket, not metni vb.) temsil eden değişkenleri de webhook koduna ekleyebilirsiniz; böylece, Slack'a bildirimler, görevlerinizi mümkün olan en iyi şekilde karşılar.

Bu şekilde yapılandırılan bir istek kodu örneği:

{       
    "text": "Yeni yanıt şu destek talebinde № [case_number]: [case_subject]", 
    "blocks": [
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": "*Yeni yanıt* şu destek talebinde № <[case_url] | *[case_number]*>"
            }
        },
        {
            "type": "section",
            "fields": [
                {
                    "type": "mrkdwn",
                    "text": "*Gönderen*\n[user_full_name] \n [user_email]\n[user_phone]"
                },
                {
                    "type": "mrkdwn",
                    "text": "*Grup*\n[case_group]"
                }
            ]
        },
        {
            "type": "section",
            "fields": [
                {
                    "type": "mrkdwn",
                    "text": "*Şirket*\n[user_company]"
                },
                {
                    "type": "mrkdwn",
                    "text": "*Öncelik*\n[case_priority]"
                }
            ]
        },
        {
            "type": "section",
            "fields": [
                {
                    "type": "mrkdwn",
                    "text": "*Sözleşme numarası*\n[özel_veri_alanı]"
                },
                {
                    "type": "mrkdwn",
                    "text": "*Sorumlu*\n[assigned_full_name]"
                }
            ]
        },
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": "*[case_subject]*\n\n[last_message|text]"
            }
        },        
        {
            "type": "divider"
        }
    ]

Kuraldaki "Özel isteğiniz" alanının sağındaki "değişkenler" bağlantısına tıklayarak değişkenler listesini açın ve [özel_veri_alanı] adlı örnek değişkeni kendi seçiminizle değiştirin.

Yukarıda yer alan kod kullanılarak gönderilen bildirim, Slack arayüzünde şu şekilde görünecektir:

Slack API aracılığı ile ile bildirimleri daha bilgilendirici hale getirin

7. İsteğe gerekli öğeleri ekleyin

Emoji, resimler, köprüler, ayırıcılar ve daha fazlasını ekleyebilirsiniz. İstek sözdizimi hakkında daha fazla bilgi edinmek için resmi Slack belgelerini inceleyin. 

Örneğin, önemli müşterilerden gelen yeni destek taleplerini takip etmek için ayrı bir kural (gelen destek talepleri için türünden) oluşturun. Bu tür destek taleplerinde önceliğin artırılmasını ve Slack'a gerekli bilgileri içeren bildirimlerin gönderilmesini istediğimizi varsayalım. Bildirimleri kaçırmamak adına müşteri şirket logosunu, bir ayırıcı ve ünlem işaretli bir simge ekleyelim.

İstek kodu örneği:

{      
    "text": "VIP müşteriden yeni destek talebi alındı № [case_number]",
    "blocks": [
        {
            "type": "context",
            "elements": [
                {
                    "type": "mrkdwn",
                    "text": ":warning: *VIP müşteriden yeni destek talebi alındı № <[case_url] | [case_number]>*"
                }
            ]
        },
        {
            "type": "section",
            "fields": [
                {
                    "type": "mrkdwn",
                    "text": "*Gönderen*\n \n[user_email]"
                },
                {
                    "type": "mrkdwn",
                    "text": "*Grup*\n[case_group]"
                }
            ]
        },
        {
            "type": "divider"
        },
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": "*[case_subject]:*\n\n[case_description|text]"
            },
            "accessory": {
                "type": "image",
                "image_url": "[logoya bağlantı]",
                "alt_text": "VIP Şirket"
            }
        },
            {
            "type": "divider"
            }
    ]
}
  • Kodda yer alan [domain] kısmı yerine Deskie'deki alt yetki alanınızın adını belirtin. Bu (müşteri adına tıklamanız), Deskie'deki müşteri profiline geçiş yapma olanağını sağlar. 

  • Kodda yer alan [logoya bağlantı] kısmı yerine logonun (görselin) bağlantısını belirtin.

Yukarıda yer alan kod kullanılarak gönderilen bildirim, Slack arayüzünde şu şekilde görünecektir:

8. Düğmeler ekleyin

İhtiyacınız olan bağlantıları açacak kendi düğmelerinizi ekleyin. Bu, Deskie'deki müşteri profili, bilgi tabanı, genel destek talepleri listesi gibi bölümlere hızla geçiş yapma olanağını sağlar.

{      
    "text": "Yeni yanıt şu destek talebinde № [case_number]: [last_message|text]",
    "blocks": [
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": "*Yeni yanıt şu destek talebinde № *[case_number]*"
            }
        },
        {
            "type": "section",
            "fields": [
                {
                    "type": "mrkdwn",
                    "text": "*Gönderen*\n[user_full_name] \n [user_email]"
                },
                {
                    "type": "mrkdwn",
                    "text": "*Grup*\n[case_group]"
                }
            ]
        },
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": "*[case_subject]:*\n[last_message|text]"
            }
        },
        {
            "type": "actions",
            "elements": [
                {
                    "type": "button",
                    "text": {
                        "type": "plain_text",
                        "text": "Yanıtla"
                    },
                    "style": "primary",
                    "url": "[case_url]"
                },
                {
                    "type": "button",
                    "text": {
                        "type": "plain_text",
                        "text": "Müşteri profili"
                },
                    "url": "https://[domain].deskie.io/staff/users/record/[user_id]"
                },
                {
                    "type": "button",
                    "text": {
                        "type": "plain_text",
                        "text": "Web siteniz"
                    },
                                    "style": "danger",
                    "url": "https://yoursite.com/"
                }            ]
        },
        {
            "type": "divider"
        }
    ]
}
  • Kodda yer alan [domain] kısmı yerine Deskie'deki alt yetki alanınızın adını belirtin. Bu ("Müşteri profili" adlı düğmeyi tıklamanız), Deskie'deki müşteri profiline hızla geçiş yapma olanağını sağlar. 

  • Tırnak işaretleri içindeki "Web siteniz" adlı sözcüğü ihtiyacınız olanla değiştirin ve https://yoursite.com/ yerine web sitenize olan bağlantıyı belirtin.

Yukarıda yer alan kod kullanılarak gönderilen bildirim, Slack arayüzünde şu şekilde görünecektir:

PRO ipucu: Düğmeleri kullanarak harici bağlantıları takip etmeye çalıştığınızda, Slack bir uyarı görüntüler:

Bu uyarı bildirimini kaldırmak ve bu bağlantıların takip edilmesine izin vermek için uygulamalar sayfasını açın, Deskie'den bildirimleri almak için oluşturduğunuz uygulamayı seçin ve "Interactivity & Shortcuts" bölümüne geçiş yapın. 

Kaydırıcıyı etkin duruma getirin. "Request URL" adlı alana bildirimlerin gönderildiği kanalın bağlantısını girin ve ardından değişiklikleri kaydedin. Kanalın bağlantısı, Slack hesabınızın tarayıcı sürümünde elde edilebilir.

Slack iş akışınız için etkileşimli araçlar kullanıyorsanız, HTTP isteğinin gönderileceği bağlantıyı belirtin.

9. Secondary Attachment yöntemini kullanın

Slack, Secondary Attachment Method opsiyonunu ek bir veri aktarımı yöntemi olarak sunar. Bu tür bir bildirimin içeriği, makalenin ana bölümünde ele aldığımız bloklar yönteminin aksine daraltılabilir, gizlenebilir ve kırpılabilir.

İstek kodu örneği:

{
    "attachments":[
        {
        "fallback":"Yeni yanıt şu destek talebinde № <[case_url]|[case_number]>",
        "pretext":"*Yeni yanıt* şu destek talebinde № *<[case_url]|[case_number]>*",
        "color":"#4CA9E4",
        "fields":[
             {
               "title":"Gönderen",
               "value":"[user_full_name] [user_email]",
               "short":true
               },
            {
               "title":"Grup",
               "value":"[case_group]",
               "short":true
               },
            {
               "title":"[case_subject]",
               "value":"[last_message|text]",
               "short":false
            }
        ]
    }
 ]
}

Yukarıda yer alan kod kullanılarak gönderilen bildirim, Slack arayüzünde şu şekilde görünecektir:

10. Resmi blok oluşturma aracını kullanın

Blok oluşturma aracı, istek koduyla çalışmayı kolaylaştıracak ve uygun öğeleri seçmenize yardımcı olacaktır.

11. Slack botu (uygulaması) avatarını özelleştirin

Bildirimleri ''gönderen'' niteliğindeki Slack botunuz (uygulamanız) için bir avatar ekleyebilirsiniz. Gereken uygulamayı seçin ve "Display Information" bölümüne geçiş yapın.

Bildirim görünüm örneği:

12. Messengerde bahsetmeler ekleyin.

a. Mesaj metninde @everyone, @channel, @group @here öğelerini girerek (sırasıyla) herkesi, kanal üyelerini, belirli bir grubu veya çevrimiçi olan kanal üyelerini bahsetme ile etiketlemek mümkündür. Ayrıca şu bahsetme biçimini de kullanabilirsiniz: <!channel>

b. Belirli bir çalışanı (temsilciyi), <@Slack_Member_ID> yapıya sahip biçimi kullanarak bahsetme ile etiketlemek mümkündür. 

Bir çalışanınızın Slack'taki member ID değerini öğrenmek için, Slack uygulaması arayüzünde ilgili kullanıcı adı üzerinden kendisinin profilini açın ve profilindeki Copy member ID ek seçeneğinden yararlanın.

13. Slack'ta sorumlu temsilciliyi bahsetme ile etiketleyin

Slack'ta, temsilcileri <@Slack_Member_ID> yapıya sahip biçimi kullanarak bahsetme ile etiketlemek mümkündür. Ancak böyle bir mantığın uygulanabilmesi için öncelikle destek taleplerinde temsilcilerin sorumlu olarak atanması, başka bir deyişle destek taleplerinin temsilciler arasında otomasyon kuralları aracılığı ile dağıtılması gerekir.

a. Dağıtım kurallarını yapılandırın

Destek taleplerinin otomatik olarak dağıtılmasına ilişkin kural örnekleri, ayrı bir bilgi tabanı bölümünde ele alınmıştır. Veya, örneğin, yönetici ve "yalnızca görüntüleme" erişimine sahip olanlar hariç, tüm müsait temsilciler arasında yeni gelen destek taleplerini eşit şekilde dağıtacak (yeni gelen destek taleplerinde müsait temsilcileri sorumlu olarak atayacak) böyle bir kural oluşturabilirsiniz:

b. Sorumlu temsilciyi bahsetme ile etiketleme niteliğine sahip webhookları gönderen kurallar oluşturun. 

Her bir temsilci için ayrı ayrı, sorumlu temsilciyi bahsetme ile etiketleme niteliğine sahip bildirimleri Slack'a gönderen kurallar oluşturun. Yeni alınan destek talepleri söz konusu olduğunda, gelen destek talepleri için şu tür bir kural gerekecektir:

Aşağıdaki özel istek kodunu kullanın (çalışanınızın Slack'taki member ID değerinin nasıl alınacağı, bu makalenin 12. paragrafında açıklanmıştır):

{       
    "text": "Yeni destek talebi alındı № [case_number]: [case_subject]", 
    "blocks": [
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": "*Yeni destek talebi alındı* № <[case_url] | *[case_number]*>"
            }
        },
        {
            "type": "section",
            "fields": [
                              {
                    "type": "mrkdwn",
                    "text": "*Sorumlu*\n<@[Slack_Member_ID]>"
                },
                {
                    "type": "mrkdwn",
                    "text": "*Öncelik*\n[case_priority]"
                }
            ]
        },
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": "*[case_subject]*\n\n[case_description|text]"
            }
        },        
        {
            "type": "divider"
        }
    ]
}

Yukarıda yer alan kod kullanılarak gönderilen bildirim, Slack arayüzünde şu şekilde görünecektir:

Mevcut destek taleplerinde/sohbetlerde yeni oluşan müşteri yanıtları söz konusu olduğunda, güncellenen destek talepleri için şu tür bir kural (yine her bir temsilci için ayrı ayrı) gerekecektir:

Aşağıdaki özel istek kodunu kullanın:

{ 
"text": "Yeni yanıt şu destek talebinde № [case_number]: [case_subject]", 
    "blocks": [
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": "*Yeni yanıt* şu destek talebinde № <[case_url] | *[case_number]*>"
            }
        },
        {
            "type": "section",
            "fields": [
                              {
                    "type": "mrkdwn",
                    "text": "*Sorumlu*\n<@[Slack_Member_ID]>"
                },
                {
                    "type": "mrkdwn",
                    "text": "*Öncelik*\n[case_priority]"
                }
            ]
        },
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": "*[case_subject]*\n\n[last_message|text]"
            }
        },        
        {
            "type": "divider"
        }
    ]
}

Destek talebi kapsamındaki yeni yanıt metnini almak için "text" parametresinde [last_message|text] değişkenini kullanmanız gerektiğini lütfen unutmayın.

Yukarıda yer alan kod kullanılarak gönderilen bildirim, Slack arayüzünde şu şekilde görünecektir:

PRO ipucu: Kuralları daha hızlı eklemek için klonlama işlevini kullanın ve ardından yalnızca ilgili temsilcilerin verilerini düzenleyin. Tüm temsilciler için oluşturulan kuralları tek bir kural grubunda birleştirin.

Gelen destek talepleri için sekmesindeki oluşturduğunuz kural grubunu, yeni gelen destek taleplerini eşit şekilde dağıtan, bu paragrafın başında değindiğimiz "a" şıkkındaki kuralın altına yerleştirin.

Slack'ta kişilere (temsilcilere) bildirimleri özel mesajlar olarak göndermek istiyorsanız, önce her temsilci için ayrı ayrı webhook URL'lerini (bu makaledeki 2. ve 3. paragrafları inceleyin) oluşturmanız ve ardından kurallardaki "İsteğin gönderileceği URL" adlı alanlarda onları belirtmeniz gerekecektir. Bildirimlerin, uygulama oluşturucu adına Slack'taki kişilere (temsilcilere) özel mesajlar olarak gönderileceğini ve uygulamayı oluşturanın da gönderilen bildirimleri göreceğini aklınızda bulundurun.

Bu makale yardımcı oldu mu?