brunch

You can make anything
by writing

C.S.Lewis

by Zeno의 Zendesk 이야기 Jun 09. 2024

[Zendesk 고도화] 리퀴드 마크업 활용하기 #7

#7 리퀴드 마크업(Liquid markup)의 중첩 #1

지난 시간에는 문자열 필터를 중심으로  필터에 인수가 필요한 경우에 대해 이야기해 보았습니다.


리퀴드 마크업 필터는 각 필터의 특징에 따라 인수의 필요 여부가 달라진다는 것을 알게 되었습니다.

    인수가 하나도 없는 경우  (ex : upcase, capitalize) 

    인수가 하나만 필요한 경우  (ex : remove) 

    인수가 두 개가 필요한 경우  (ex : replace) 


이번 시간에는 시간 필터들을 중심으로 필터의 중첩에 대해 이야기해 보겠습니다.



젠데스크는 고객 문의를 티켓 기반으로 처리합니다.  (바로가기)


티켓 기반 처리 시스템의 가장 큰 장점이 무엇일까요?


바로 SLA의 추적 관리가 수월해진다는 점입니다. 


즉 각 티켓이 처리되는 데 걸린 시간을 측정할 수 있고, 문의 유형별이나 채널별로 평균 처리 시간을 측정할 수 있습니다. 또한 젠데스크에는 서비스 수준 협약이라는 기능이 포함되어 있어서 각 티켓 상황에 따른 SLA를 추적 관리할 수 있도록 돕고 있습니다.





SLA를 제대로 측정하려면 시간에 대한 관리를 빼놓을 수 없습니다.


이번 시간에는 시간 필터를 사용하여 매크로에서 여러 가지 방식으로 시간을 표시하는 방법에 대해 이야기해보고자 합니다.


워크 플로우 하나를 가정해보겠습니다.


1. 고객이 불량 문의를 하는 경우 [환불-제품불량-가능/KM-1/신림점] 매크로를 사용하여 고객에게 1차로 답장한다

[환불-제품불량-가능/KM-1/신림점] 매크로 예제

2. 1차 답장 이후 1시간 이내에 물류팀에서 반품 송장을 받아 티켓 내에 내부 메모를 남겨 두어야 한다.

3. 티켓을 대기로 제출하고 24시간 내에 반품 상품의 수거가 진행되었는지 체크한다.

4. 24시간 내에 반품 상품이 수거되지 않았을 경우 48시간 이내에 택배사에 원인 확인을 요청한다.

5. 택배사에서 확인된 원인을 포함하여 고객에게 60시간 이내에 2차 안내 메일을 발송한다.


불량 처리에 대해 위와 같이 진행되어야 한다고 가정할 때 

상담사가 이 시간들을 다 체크해서 작업을 해야 한다면 작업 속도가 매우 느려질 것입니다.


업무 프로세스를 향상하기 위해서 2번 항목을 매크로로 만들어 보면 어떨까요?

환불-반품송장등록-가능/KM-1/신림점 매크로 예제

물류팀에서 반품 송장 번호를 받아서 내부 메모를 남길 때 위와 같이 양식을 지정해 주는 것입니다.


상담사가 이 매크로를 사용하면 젠데스크에서 별도의 양식을 입력하지 않고도 편리하게 반품 송장 번호를 입력할 수 있을 것입니다.


그런데 생각해 보니 SLA와 관련되어 상담사가 해야 할 작업들이 너무도 많은데 일일이 찾아볼 수는 없으니, 저 내부 메모 안에 정보들을 같이 남겨주면 상담사들이 업무를 처리하는데 더 수월하지 않을까요?


예를 들면 아래와 같이 말입니다.


처음보다는 훨씬 좋아진 것 같은데 여기에도 문제는 있습니다.


상담사들이 업무 프로세스를 숙지하기는 무척 수월해졌지만, 고객 문의를 받을 때마다 티켓 생성 시간으로부터 24시간 48시간 60시간을 계산해야 한다는 점입니다.



지금부터는 시간 필터를 사용해서 이 문제들을 슬기롭게 해결해 봅시다.


먼저 시간 계산을 하려면 기준점이 되는 시간이 필요합니다.


바로 티켓 생성 시간인데요. 티켓이 생성된 시간을 어떻게 불러올 수 있을까요?


젠데스크의 자리 표시자 도움말 문서를 살펴봅시다. (문서 바로가기)

티켓 생성 시간을 표시하는 자리표시자는 방법에 따라 3가지 정도가 있는데요.


우리는 이 중에서 {{ticket.created_at_with_timestamp}} 를 활용해 보겠습니다.


테스트 매크로에 왼쪽과 같이 입력하고 티켓에서 적용해 볼까요?

오른쪽을 보면 티켓 생성 시각이 표시되기는 했는데 조금 이상합니다.


실제 티켓 생성 시각은 2월 10일 11시 17분인데, 매크로로 표시된 시각은 2월 10일 02시 17분입니다.


왜 이런 차이가 발생할까요?


젠데스크 서버에 저장되는 시각 정보는 모두 GMT 기준입니다.

그리고 티켓 정보에서 보이는 시각은 KST 기준(GMT +9 시간)이기 때문에 차이가 발생하는 것입니다.


매크로는 시각 정보를 불러올 때 서버에 포함된 정보를 KST로 변환하지 않고 그대로 가져왔기 때문에 생성 시각에서 9시간을 더해야 한국 시간 기준의 티켓 생성 시각을 알 수 있는 것입니다.




산 넘어 산이군요.


오늘은 리쿠드 마크업의 필터 중첩에 대한 이야기를 하기로 했는데 정작 필터 중첩에 대한 이야기는 한마디도 하지 못하고, 시간 정보 불러오는데 힘들 다 쓴 것 같습니다.


하지만 괜찮습니다. 티켓 생성 시간 정보를 불러올 수 있었기 때문에 이제 필터 중첩을 통해 우리가 원하는 시각으로 표시할 수 있는 기초가 생겼습니다.


다음 시간에는 필터 중첩에 대한 이야기를 바로 시작하면 좋겠지만, 우선은 컴퓨터가 시간을 인식하는 방법에 대해 먼저 이야기를 해보겠습니다. 시간을 변경하려면 시간을 처리하는 방식에 대해 먼저 이해할 필요가 있거든요. 최대한 쉽고, CX 담당자에게 필요한 수준에서 설명할 테니 편안한 마음으로 들어주시기 바랍니다.


오늘도 성장하셨습니다.




작가의 이전글 [Zendesk 고도화] 리퀴드 마크업 활용하기 #6
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari