Edited at
SlackDay 5

Slackで簡単に投票できるBot "Polly"のレシピ

More than 1 year has passed since last update.

この記事はSlack Advent Calendar 2017の5日目の記事です。Slackと連携して気軽に投票を作成できるアプリ、Pollyの使い方について解説します。

昨日の記事は、@tamanugiさんの「ElixirでGithub Trendを投稿してくれるBotを作ってみた」でした。明日の記事は@Np_Ur_さんの「Google AnalyticsのデータをSlackにポストするBot」です。

なんとBotを自作する二人に挟まれて既存のBotの解説をすることとなり大変恐縮ですが、分かりやすい記事を心がけようと思います。

polly-overview


概要

Pollyについては、既に先人の方々が記事を書いておられます。

ただ過去記事の頃とは細かいUIが変わっていて、私の所属するチームで操作ミスが頻繁に起きるなどしたため、2017年12月時点の使い方を見ていきたいと思います。

以下の説明より詳しい使い方を公式のヘルプで閲覧できます。英語ながら結構見やすいのでそちらもご確認ください。

また、Pollyは活発に機能更新を繰り返しており、最新の情報は公式ヘルプや公式ブログで入手するのが確実です。


使用サービス・ソフト


  • Slack


    • 設定が英語のままだった為スクリーンショット等は英語版のもの

    • Slackの基本的な用語は特に説明なしで使うのでご了承ください



  • Google Chrome


    • Pollyの導入やダッシュボードの操作をする際に使います




なぜ投票Botが必要か

チームでSlackを使っていると、投票やアンケートをしたくなる場面がありますよね。すぐに思いつく方法は、Slackのリアクション機能でemojiをつけてもらうことです。

emoji

ただ、emojiを使った投票にはいくつか弱点があります。



  1. 投票を始める人の負担


    • 特に選択肢が多いと、その数だけemojiをポチポチ打って準備するのが大変です




  2. 投票に気づいて貰えない


    • リアクション機能は投票専用ではありません

    • 日常的にemojiが飛び交うチームでは、投票を呼びかける投稿が埋もれてしまうことも




  3. emojiでは自由度が高すぎる


    • 全員が説明した通りのemojiをつけてくれるとは限りません(画像は流石に誇張ですが……)

    • もし投票実施側が想定してないemojiを打たれると、集計が大変です



emoji-ng

というわけで、投票には投票専門のBotを使いましょう!


Pollyとは

Polly for Slackは、Slack上で簡単に投票(Pollと呼ばれます)を行えるSlack Appです。

有料プランもありますが企業向けの機能が増えるだけで、無料でも十分な機能を無制限に利用できます。


導入

導入は簡単で、ここにアクセスしてAdd Polly to Slackを押すだけです。複数のワークスペースに所属している方は、認証画面で導入先を間違えずに選んでくださいね。

polly-install

すると、Pollyという名前のBotがDMを送ってくれて、導入完了となります。

polly-dm


Pollを作成する


基本的なPollを作ってみよう

Poll(投票)を作成する際は、Slackのスラッシュコマンドを使います。スラッシュ(/)に続けてコマンド文字列を入力すると、メッセージを送る代わりにSlack自体を操作できるというものです。

Pollyのコマンドは/pollyですが、短縮版の/pollも使えます。

実際にPollを作ってみましょう。PollyからのDMに例として書いてある

/polly How would you rate this meeting?

を、Pollを投下したいチャンネルにコピペして送信します。

poll-command

すると、Pollの設定メニューが出てきます。Only visible to youと上に出ているうちは作成が完了していないことに注意してください。

"Poll Type"を"Agree/DisAgree"に変更します。上段の青い帯がついた部分にプレビューが出るので確認しておきましょう。

Submit to Channelという緑色のボタンを押すと、実際に指定したPollがPollyによって投稿されます。質問への賛同度合いを5段階で選んで、ボタンを押せば結果が下に表示されます。


Poll Typeを変更してみよう

以下が選べます。

Poll Type
回答形式

0-to-10
11段階の数字

1-to-5
5段階の数字

Agree/Disagree
賛同度合い5段階

Multiple Choice
作成者が選択肢を用意

Open Ended
文章

この中で圧倒的に使う機会が多いのは"Multiple Choice"です。コマンドで作成する時のデフォルトもこれですし、特に日本語話者としては選択肢は日本語にしたいですよね。

重要な注意点として、"Multiple Choice"は「複数回答」ではありません。以前のデザインでは最初の設定画面で複数回答可にできましたが、現在は複数回答にする場合"Advanced Options"を呼び出す必要があります。

私の所属チームでは週に一度は誰かがミスっているので強調しておきました。

設定画面で+ Add Optionsボタンを押すと、一度に4つまで選択肢を記入できます。最下部の"Audience can..."では、他のメンバーに選択肢の追加を許可できます。

poll-multi-choice

コマンドラインが大好き or GUIポチポチが面倒な方は、コマンド入力時に選択肢を""で挟んで渡してあげてください。

/polly "ランチ何がいいですか?" "ラーメン" "うどん" "ハンバーガー"

これで上の画像で行ったことと等価です。ちなみに、選択肢にはemojiを使用することもできます。装飾に活用しましょう。


Pollのスケジュールを設定しよう

Poll Typeの右横のメニューでは、Pollの投下される時間帯を操作できます。これはあれこれ説明するより実際に触ってみるのが一番わかりやすいでしょう。

poll-schedule

指定した時刻にPollを開始/終了したり、一定頻度で同じPollを投稿したりと大変便利です。毎週開かれるイベントの出欠確認など、ついつい忘れてしまいそうなタスクもPollyが勝手にやってくれます。


Advanced Optionsを触ってみよう

これまでの方法で作成したPollは、


  • 複数回答不可

  • 結果は全員に見える

  • 誰が何に投票したか見える

  • コメントが公開される

という仕様になっています。ここを変更したい場合はAdvanced Optionsボタンを押して高度な設定を弄りましょう。

設定は英語ですが、雰囲気で分かると思います。複数回答にする場合はOne Vote Maxのチェックを外せばよいです。画像は複数回答のできる匿名投票にした例です。

poll-advanced

"Poll Audience"というメニューもその下に出てきます。ここでは今いるのとは別のチャンネルやDM、グループDMにPollを送信できます。

また、Submitの右に出てくるSend via DMボタンを押すと、チャンネルに投稿されずに対象者のDMにPollが送られます。これは間違って押してしまうミスが起きがちなので要注意です。


WebサイトでPollを作成してみよう

app.polly.ai/dashboardにアクセスすると、Pollyのダッシュボードが開きます。左のCreate Pollなるボタンから作成画面に遷移できます。

web-create

Slack側の作成画面もかなり進化してきていますが、WebのUIも洗練されて使いやすくなりました。凝った設定を駆使する場合は、Webから操作した方が楽だと思います。

web-create-setting


作成したPollを操作する


結果を確認してみよう

Pollを投稿しても、数日後には流れて行ってしまいます。頑張ってログを遡ったり、ピン留めしてすぐ飛べるようにするのも手ですが、ここはPollyの機能でスマートに結果を閲覧しましょう。


コマンドで

どこでもいいので、/polly resultsと入力します。するとPollyが自分だけに見える形で結果を表示してくれます。

上部のドロップダウンメニューで結果を見たいPollを選択しましょう。

poll-results


Webサイトで

ダッシュボードにはPollの結果が見やすく一覧で出てきます。検索窓で絞り込んだり、自分のPollだけ表示させることもできます。

ここで注意したいのが、PrivateなチャンネルやDMグループの扱いです。公開チャンネルのPollが一覧に出るのは当然ですが、非公開のチャットで作成されたPollの



  • チャンネル名(グループDMなら参加者名)

  • 作成者名

  • 選択肢

が外部の人にも見えてしまいます。

以前は質問文まで丸見えだったのが、8月ごろから代わりに"poll question"と表示されるようになりました。とはいえ「どんな名前のグループで」「どんな選択肢で投票があったか」はバレる可能性があるので、公開範囲外の人に見られて困る内容をPollyに渡すのはやめましょうね

poll-result-private


Recurring Pollを編集しよう

Pollyの仕様上、一度作成したPollは編集できません。ただし、一定期間おきに投稿されるRecurring Pollだけは、今後作成されるPollの設定を変更できます

ダッシュボードを開きます。Pollが多くて見つけにくければ右上Viewsから"Recurring Only"を選択してください。

poll-edit

すると、基本的にはPollの作成画面と同じものが開き、各種設定を変更できます。最上部のActive | Disabledボタンを使うと、設定を残して一時的にPoll作成を止めることが可能です。

もう使わないのであれば、一番下までスクロールしてDelete Pollしましょう。


Pollyコマンドを使いこなそう

/pollyコマンドには他にも多彩な機能があります。Botと会話しながら使うことも、コマンドを覚えて素早く呼び出すこともできます。


ボタン編

どこでもいいので、/pollyとだけ入力してEnterを打ってみましょう。Pollyの導入直後と同じメッセージをPollyが表示してくれます。

polly-dm

中段に並ぶボタンから、Pollの「削除」「結果閲覧」「終了」「リマインド」「共有」ができます。どのメニューも、基本的には操作したいPollを選択してから内容を指定する流れになります。

「リマインド」と「共有」の使い分けがわかりにくいかもしれません。リマインドは投票を促すため対象者に投票メッセージのリンクを送ります。共有は結果だけを含んだ新たな投稿を作成します。

面倒なら手動でリンクをコピペしてもいいと思います(Botに催促された方が気分を害しない……かも)。


コマンド編

/polly commandsでコマンド一覧が出てきます。例えば、/polly shareで共有、/polly deleteで削除をそれぞれ開始できます。

種類も多くありませんから、使っているうちに覚えていくでしょう。


新しい機能を利用する

Pollyは最近デザインや機能が刷新され、新機能も増えました。まだ日本語の使ってみた記事が見当たらないうえ、筆者も使ったことがないのでざっと紹介するだけになります。


サーベイ

/polly surveyコマンドを使ったり、WebサイトのPoll作成画面でSurveyを選択することで作成できます。

Surveyは複数の質問をまとめてより本格的なアンケートを実施できるものです。Google Formsのようなイメージですね。

survey-test

作成すると、通常のPollと同様にメッセージが投稿されます。質問数や想定回答時間も出てきて親切な感じです。Start Surveyを押したら質問がPollyとのDMに出てくるので順番に回答します。


テンプレート

PollやSurveyをテンプレートとして使い回せます。さらには、app.polly.ai/templatesで公式が用意したテンプレートを利用することもできます(そのままだと当然英語ですが……)

テンプレートを保存したい場合は、Webの作成画面でPoll(Survey)を設定した上でページ下部のSave as templateを押しましょう。ダッシュボードでLibraryを選ぶと保存したテンプレートが表示され、クリックで作成画面に入ります。

template-lib

Slackからも/polly templateでテンプレートを使えます。ただし、編集せずそのまま投稿することしかできません(編集する場合はWebサイトに誘導されます)。

テンプレートは開発中の機能で、まだ編集や削除ができません。

今後さらに使いやすくなると思うので、期待しましょう!