SlackとGoogle SpreedSheetでDX推進！

![slack_workflow_goolge_sheet.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2290515/fbd72cb1-b4f4-6597-4b22-3b0790d87a4f.jpeg)


こんにちは。[AMBL株式会社](https://www.ambl.co.jp/)のR&D部のエイドリアンです。この記事は[AMBLアドベントカレンダー2022](https://qiita.com/advent-calendar/2022/ambl-rd)の記事です。


# TL;DR

:bulb: **やりたいこと**

備品利用の開始、終了情報の登録を楽にしたい。

:confetti_ball: **やってみたこと**

既に使われているSlackとGoogle Spreadsheetを連携し、Slackから簡単に情報の登録ができた。


# まえがき

AMBL株式会社　R&D部のエイドリアンです。

普段の業務を「なんとか自動化、効率化できないか」と常に考えています。備品の管理を紙で行う時代は過ぎました。ただし、デジタル化できたとしても、************************************************************************************************************アクセス→検索→登録************************************************************************************************************といった手順が省かれません。

今日はSlackとGoogle Spreedsheetを組み合わせて備品管理の自動化を紹介したいと思います。

# やりたいこと

既に使われているツール（Slack）を活用し、備考の登録や管理をさらに楽したい。

フローは下記の図で表しています。

```mermaid

graph LR
	user --アクセス--> Slack
	subgraph slack_workflow
Slack --備品ID, 利用情報--> 備品登録	
	end
	subgraph goolge_spreadsheet
備品登録 --備品ID, 利用情報--> id1[(DB更新)]	
	end

```

# 準備

## Slack Workflow

> [ワークフロー](https://slack.com/features/workflow-automation)
とは、複数のステップで構成される自動化されたタスクまたはプロセスです。コーディングの必要はありません。ワークフローは自分の Slack ワークスペースで開始されます。Slack で直接実行することも、他のツールやサービスと連携させることもできます。
> 

## Google Sheets for Workflow Builder

> From effortlessly adding information to a spreadsheet, to searching for 
> specific data, save time by automating the tedious work of keeping 
> spreadsheets up-to-date.Whether you’re sending new information to a spreadsheet or pulling data into Slack, let Workflow Builder handle the context-switching, so you can stay focused and save time.Use workflow steps from this app to:
> 
> - Add a spreadsheet row
> - Select a spreadsheet row
> - Update a spreadsheet row
> - Delete a spreadsheet row

**インストール**
![Screenshot from 2022-11-13 20-44-41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2290515/cb0cf877-dafe-b696-877b-0b134eb00aba.png)

# Workflow作成

Slackにアクセスし、**Tool（ツール）** → **Workflow Builder（ワークフロービルダー）** を選択する。
![Screenshot from 2022-11-13 19-21-27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2290515/6c5b0d7c-218e-77cd-46e6-4ad7047b9a6c.png)


右上のCreate（作成）ボタンをクリックし、ワークフローの名前を入力する。
![Screenshot from 2022-11-13 19-25-48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2290515/74361d61-d23f-2d76-95f3-2f8db4969ab7.png)

ワークフローの起動トリガーを選択する。

| トリガー | 説明 |
| --- | --- |
| Shortcut<br>ショットカット | チャンネルの入力欄横にあるショートカットアイコンから実行できます |
| New channel member <br> 新規チャンネルメンバー | チャンネルに新しい人が入ってきた時に実行されます |
| Emoji Reaction <br>絵文字リアクション | 特定の絵文字でリアクションされた時に実行します |
| Scheduled date & time<br>スケジュール日時 | 実行する日時を指定します |

![Screenshot from 2022-11-13 19-24-01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2290515/14d71f03-3517-aa7a-628e-990d83001ecd.png)


追加したいチャンネルと表示名を入力する。

![Screenshot from 2022-11-13 19-24-19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2290515/391e87d3-6c0c-949e-781b-f8d8d6c116e1.png)


ワークフローの処理（ステップ）を追加する。

![Screenshot from 2022-11-13 19-25-08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2290515/80cb2076-91fd-739b-7a53-929d19dbb4c5.png)


今回は3種類のステップを利用します。

| 作成者 | ステップ名 | 処理概要 |
| --- | --- | --- |
| Slack | Send a message | 確認メッセージの表示 |
| Slack | Send a form | 備品IDを入力する |
| Google Sheets for Workflow Builder | Update a spreadsheet row | 備品管理票を更新する |

![Screenshot from 2022-11-13 19-24-59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2290515/0337f9b6-76af-5a7c-4399-6ca23e5e4152.png)


今回の問題を解決するための処理フロー（Workflow）は下記の図で表している。

```mermaid
graph TD
  start([Start])
	update[[登録]]
	return[[返却]]
	finish([end])

	start --> 備品ID入力　--id, user, time--> update --id, user, time--> return
	return --> finish
```

上記のフローに従って、ワークフロー上でステップを組んでみましょう！

1. ワークフロー起動：手動
2. **Open a form**：備品ID入力
3. **Update a spreadsheet row**：利用開始情報を管理票へ登録する
4. **Send a message**：完了メッセージと返却ボタンを表示する
5. **Update a spreadsheet row**：利用終了情報を管理票へ登録する

![Screenshot from 2022-11-13 19-30-13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2290515/efcc5b61-242d-d7ec-da43-cbcebda08c4f.png)


# あとがき

Slack WorkflowとGoogle Spreadsheetを連携することで簡単にDXができました！

それぞれをツールをうまく活用することで、思わぬところ自動化、DXができちゃうかもしれません！ぜひ積極的にDXを推進していきましょう！
:wave:

# 参考資料

[https://zenn.dev/shunta_furukawa/articles/45829cf84bfe0e](https://zenn.dev/shunta_furukawa/articles/45829cf84bfe0e)