2024.1.20 気ままに勉強会

343 Views

January 20, 24

スライド概要

組織全体にScaleさせたいフローに実装するべき工夫についてまとめてみた。

profile-image

2023.04〜某行政機関にてDX推進に従事しています。 個人事業にてNPOの事業・デジタル化伴走支援をしてます。(他力code)

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

組織全体にScaleさせたい フローに実装するべき⼯夫 についてまとめてみた。 2024.1.20 気ままに勉強会#75 コバッチ@tariki-code

2.

⾃⼰紹介 コバッチ(kobatch) 2023.04〜某⾏政機関にてDX推進に従事 個⼈事業にてNPOの事業‧デジタル化伴⾛⽀援(他⼒code) (その前は) 暗号資産StartupにてトレードアプリのPjM‧MGR ⽩い⽝の携帯電話会社にてエンジニアリングMGR 👆に買収される前の通信ベンチャーでエンジニア Node.js+Vue, React / Java / .NET / SQL プロジェクトマネージャー(IPA) ⽇本美を発信するプチ?インフルエンサー(Instagram) ※Power Platformはピカピカの1年⽣ takafumikobayashi https://bit.ly/2X2b5s4 @kobatch_tk

3.

前提となるフロー ThanksCard(サンクスカード) Teamsの「作成ボックスから(V2)」のトリガーでフロー起動。 ユーザーが起動したGroupChat or Team参加メンバーより送りたい相⼿を指定。 指定した相⼿をメンションし、AdaptiveCardでランダムにデザインされた感謝のカードが投稿できる。 アイコンは指定されたカテゴリからランダムで選択。(プロフィール画像も⼊れられる) 実⾏権限がある⼈であれば誰でもどのGroupChat、Teamでも投稿することができる。 イラストアイコンはAI謹製 何が出るかはお楽しみ ?? お好みでプロフ画像も指定可能

4.

具体的な使い⽅ 実⾏したGroupChat or Teamにカードが投稿される フォームが⽴ち上がり 贈りたい⼈やメッセージなどを指定 Workflowsを起動してフローを選択

5.

フローの特性 簡単に⾔えば...たくさんの⼈に使ってもらいたい ThanksCardのミッション 感謝と賞賛をオープンにし合える⽂化を作り、組織のワークエンゲージメント向上に寄与する。 →Scaleしてもユーザー毎の違いに影響されず、サービス品質と効率を低下させない実装とは? 単独で利⽤ 複数名 orチームで利⽤ 組織を横断して⼤⼈数で利⽤

6.

実装に際して気になったポイント ①実⾏権限管理 積極的にたくさんの⼈に使ってもらいたいのに、いちいち依頼もらって 権限付与するなんてお互い⾯倒、他のやり取りを作りたくない。 ②バリデーション メンションを⼊れるためUPNを指定してもらいたいが、⼊⼒ミスや当該 GroupChat or Teamにいない⼈を指定されることがあるかも。 ③プロフ画像取得 そもそも設定している⼈、していない⼈がいる。設定していても画像サ イズが⼤きいと、AdaptiveCardの制約(28KB)を超える可能性も。 ④エラーハンドリング いつどこで誰が実⾏するかわからない、実⾏エラーがあった事をリアル タイムに知り、適切な措置が取れるとサービス品質が上がる。

7.

①実⾏権限管理 Teamへの参加‧退出と連動させることで⾃動付与‧剥奪 対象フローの「実⾏のみのユーザー」にてTeamを指定。 これによりTeamに参加することでフローを⾃動的に利⽤可能となる。 反対にTeam退出で⾃動的利⽤不可となる。 別途依頼をもらって権限付与するなどの対応や管理を不要とした。 ThanksCardのシェア⽤Channelや Q&Aなどフロー活⽤のためのコミュ ニティの場とするTeamを準備

8.

Teamsの実⾏ユーザー 「実⾏専⽤のユーザーによって提供されました」にする これによりフローを実⾏したユーザー権限でTeamsの処理が ⾏われる。 すなわち、実⾏者が参加している任意のGroupChatやTeam での投稿が可能となる。反対に「この接続を使⽤する」にす ると指定した接続ユーザー(すなわち作成者)の参加範囲で しか投稿ができなくなる。

9.

②バリデーション(宛先のUPN指定) 実⾏しているGroupChat or Team参加メンバーの候補から選択できるようにする AdaptiveCardのInput .ChoiceSetにchoices.dataにて データセットを指定する。 これにより、実⾏開始したGroupChatないしはTeamの 参加メンバーから候補を選択できるようになる。

10.

実装結果 任意の⽂字⼊⼒で、GroupChatに参加 しているメンバーの候補を表⽰。 GroupChat不参加者は例えメールアド レス形式で指定してもエラーになる。

11.

③プロフ画像取得 有無判定に加え、dataURI(base64)変換後のLength判定を⾏う AdaptiveCardの28KB制 限によるエラーを避ける プロフ画像が設定されて いても思いの外、⾼サイ ズの画像を設定している ユーザーがいたことによ る学びから実装。 dataURI(base64)変換 Length判定 プロフ画像取得 プロフ画像有無の判定

12.

サイズの判定をどう考えるか? 実際に投稿されたAdaptiveCard 全サイズ:23,719 byte プロフ画像以外(メッセージ等):1,405 byte プロフ画像:22,314 byte 25〜26KB程度が判定ポイントとすれば良い dataURI化されたプロフ画像 ….

13.

④エラーハンドリング スコープにメインとなる処理をまとめて⼊れ、全体の実⾏結果評価ができるようにする スコープ内の任意の箇所でエラーになると、 スコープ全体の実⾏結果評価が「失敗となる」 すなわち、フロー最後にエラーハンドリングの処 理を⼊れておくだけで、予期せぬ箇所で発⽣しう るエラーも含め全体的な統制が可能となる。

14.

GPT君のアイデアで実装 処理まとめて「スコープ」 に⼊れてしもたらええやん 実⾏条件を「失敗した時」に して通知⼊れたらええやん

15.

通知イメージ フローに失敗するとリアルタイムに このメッセージが投稿される フロー実⾏結果ページへジャンプ

16.

今後やりたいこと 定性っぽい効果測定データの取得+愉快犯対策 AI Builderを使うか?OpenAIを使うか? ⽇々のTeams上での会話の内容に対して肯定的、否定的な感情分析を時系列でとることで、組織全体の ポジティブ状態の参考情報の⼀つとして活⽤する。かつ、投稿メッセージ内容にも同じ分析を⼊れるこ とでいわゆる「愉快犯」のモニタリングに活⽤できるかも? AI Builderのアクション 試しに作ったGPTs EmoDetect 感謝の度合いをスコアリングしてくれる

17.

最後に余談(ポエム) フローを「プロダクト」としてGrowthさせる 1,000名 KGI‧KPIの明確化と数字が取れる仕組み化。 ユーザーと対話できる環境と仕掛けづくり。 プロモーションをやめない。 仮説とフィードバックのサイクルを早く回す。 ⾯⽩いと思ったことはとりあえずやる。 とある組織での 利⽤者数 200名超 2023.12 実績 取り組んでいる事 PowerAutomateのユースケースに サプライズを! 2024.12 KPI

18.

Thank You!