Tạo hệ thống tiếp tân sử dụng Google Home

Hiện nay có nhiều công ty Nhật đưa vào sử dụng hệ thống tiếp tân thông qua sử dụng iPad. Lần này chúng ta sẽ cùng thử bằng cách khác thông qua sử dụng Google Home và một số service khác .

Kết quả là những thông tin của người đến thăm sẽ được lưu vào Spreadsheet và có noti và bắn tới Slack báo cho những thành viên trong nhóm Slack việc có khách tới thăm công ty và ra tiếp đón.

Hiện trạng

Trước đây với cách sử dụng giấy và chuông để báo với nhân viên viên của một công ty nào đó ra đón mỗi khi có khách đến thăm công ty.

Các step thường là điền những thông tin của cá nhân và công ty sau đó bấm chuông thì sẽ có nhân viên ra tiếp đón.

Thay vì như vậy, chúng ta hãy cùng sử dụng GoogleHome để thực hiện nhiệm vụ này.

Sơ đồ cấu trúc

Chi phí đầu tư

Chỉ với vài trăm K là chúng ta đã có trong tay 1 em Google Home . Ngại ngần gì mà ko đầu tư ngay ạ.

Step

1. Register công thức vào IFTTT

Đầu tiên chúng ta cần register công thức để Google Home có thể đối ứng bởi IFTTT. Select Google Assistant.

■ Input vào Complete trigger fields

Nhập vào 受付(tiếp tân) GGH sẽ đối ứng tương ứng với Key này.

Đến đây bạn chỉ cần nói 「OK! Google 受付 株式会社◯◯の名前」「OK! Gu gồ tôi là ◯◯ đến từ công ty XYZ」 thì thông tin sẽ được record lại .

■ Input Update cell in spreadsheet

Which cell: Chọn B2 là cell muốn write.

2. Talk với Google Home

3. Edit spreadsheet của Google Drive

Thêm vào sheet "Khách tới thăm" vào thư mục IFTTT.

■ Add Script

Click vào Script editor trong tool và thêm script vào.

■ Edit Script

Từ Google Home thì thông thường data sẽ được update ở cell B2.

function showStatus() {
  var mySheet = SpreadsheetApp.getActiveSheet();      // get sheet
  var currentRow = mySheet.getActiveCell().getRow();  // get dòng được update
  var myCell = mySheet.getActiveCell();               // get cell active

  if(myCell.getColumn() == 2) { // Check có phải là cột số 2 hay ko(Trường hợp spreadsheet sẽ là hàng B)
    // Ngày tháng update sẽ được ghi vào A1
    var updateRange = mySheet.getRange('A' + currentRow);
    updateRange.setValue(Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yyyy/M/d H:m:s'));

    var text = myCell.getValue() + '様が来訪されました'; // Ngài... đã đến thăm công ty
    slackPost();    

    // Thêm dòng mới
    mySheet.insertRowBefore(2);

  }

  function slackPost() {
  var url        = 'https://slack.com/api/chat.postMessage';
  var token      = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
  var channel    = '#チャンネル名'; // Tên Channel 
  var username   = '来訪通知';     // Báo có khách đến thăm 
  var parse      = 'full';
  var icon_emoji = '';
  var method     = 'post'; 
  var payload = {
    'token'      : token,
    'channel'    : channel,
    'text'       : text,
    'username'   : username,
    'parse'      : parse,
    'icon_emoji' : icon_emoji
  };
  var params = {
    'method' : method,
    'payload' : payload
  };
  var response = UrlFetchApp.fetch(url, params);
  }
}

■ Get token của Slack

Trong đoạn script có note get token của Slack. https://api.slack.com/custom-integrations/legacy-tokens

■ Rigister trigger run script

Sau khi value của Spreadsheet được update thiến hành run đoạn script này.

Trigger của project hiện tại.

■ Ví dụ về Record

Sau khi thực hiện các step trên, thì thực tế sẽ có noti như sau : Đúng như format chúng ta đã set ở trên:

Với username : 来訪通知

Nội dung : myCell.getValue() + '様が来訪されました'

Nội dung của GGsheet sẽ auto được update như sau :

Như source trên, ngày tháng sẽ được update vào cột A, tương ứng với nội dung KH talk ở cột B.

Dữ liệu mới sẽ luôn được insert vào A2 và B2 tương ứng.

Video demo

https://twitter.com/gaomar/status/938296234699296768?ref_src=twsrc^tfw|twcamp^tweetembed|twterm^938296234699296768&ref_url=https%3A%2F%2Fqiita.com%2Fh-takauma%2Fitems%2F4ecc3421f2995b207284

Note: Bài viết được dịch từ nguồn

https://qiita.com/h-takauma/items/4ecc3421f2995b207284#-complete-trigger-fieldsに入力