343 Views
January 20, 24
スライド概要
組織全体にScaleさせたいフローに実装するべき工夫についてまとめてみた。
2023.04〜某行政機関にてDX推進に従事しています。 個人事業にてNPOの事業・デジタル化伴走支援をしてます。(他力code)
組織全体にScaleさせたい フローに実装するべき⼯夫 についてまとめてみた。 2024.1.20 気ままに勉強会#75 コバッチ@tariki-code
⾃⼰紹介 コバッチ(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
前提となるフロー ThanksCard(サンクスカード) Teamsの「作成ボックスから(V2)」のトリガーでフロー起動。 ユーザーが起動したGroupChat or Team参加メンバーより送りたい相⼿を指定。 指定した相⼿をメンションし、AdaptiveCardでランダムにデザインされた感謝のカードが投稿できる。 アイコンは指定されたカテゴリからランダムで選択。(プロフィール画像も⼊れられる) 実⾏権限がある⼈であれば誰でもどのGroupChat、Teamでも投稿することができる。 イラストアイコンはAI謹製 何が出るかはお楽しみ ?? お好みでプロフ画像も指定可能
具体的な使い⽅ 実⾏したGroupChat or Teamにカードが投稿される フォームが⽴ち上がり 贈りたい⼈やメッセージなどを指定 Workflowsを起動してフローを選択
フローの特性 簡単に⾔えば...たくさんの⼈に使ってもらいたい ThanksCardのミッション 感謝と賞賛をオープンにし合える⽂化を作り、組織のワークエンゲージメント向上に寄与する。 →Scaleしてもユーザー毎の違いに影響されず、サービス品質と効率を低下させない実装とは? 単独で利⽤ 複数名 orチームで利⽤ 組織を横断して⼤⼈数で利⽤
実装に際して気になったポイント ①実⾏権限管理 積極的にたくさんの⼈に使ってもらいたいのに、いちいち依頼もらって 権限付与するなんてお互い⾯倒、他のやり取りを作りたくない。 ②バリデーション メンションを⼊れるためUPNを指定してもらいたいが、⼊⼒ミスや当該 GroupChat or Teamにいない⼈を指定されることがあるかも。 ③プロフ画像取得 そもそも設定している⼈、していない⼈がいる。設定していても画像サ イズが⼤きいと、AdaptiveCardの制約(28KB)を超える可能性も。 ④エラーハンドリング いつどこで誰が実⾏するかわからない、実⾏エラーがあった事をリアル タイムに知り、適切な措置が取れるとサービス品質が上がる。
①実⾏権限管理 Teamへの参加‧退出と連動させることで⾃動付与‧剥奪 対象フローの「実⾏のみのユーザー」にてTeamを指定。 これによりTeamに参加することでフローを⾃動的に利⽤可能となる。 反対にTeam退出で⾃動的利⽤不可となる。 別途依頼をもらって権限付与するなどの対応や管理を不要とした。 ThanksCardのシェア⽤Channelや Q&Aなどフロー活⽤のためのコミュ ニティの場とするTeamを準備
Teamsの実⾏ユーザー 「実⾏専⽤のユーザーによって提供されました」にする これによりフローを実⾏したユーザー権限でTeamsの処理が ⾏われる。 すなわち、実⾏者が参加している任意のGroupChatやTeam での投稿が可能となる。反対に「この接続を使⽤する」にす ると指定した接続ユーザー(すなわち作成者)の参加範囲で しか投稿ができなくなる。
②バリデーション(宛先のUPN指定) 実⾏しているGroupChat or Team参加メンバーの候補から選択できるようにする AdaptiveCardのInput .ChoiceSetにchoices.dataにて データセットを指定する。 これにより、実⾏開始したGroupChatないしはTeamの 参加メンバーから候補を選択できるようになる。
実装結果 任意の⽂字⼊⼒で、GroupChatに参加 しているメンバーの候補を表⽰。 GroupChat不参加者は例えメールアド レス形式で指定してもエラーになる。
③プロフ画像取得 有無判定に加え、dataURI(base64)変換後のLength判定を⾏う AdaptiveCardの28KB制 限によるエラーを避ける プロフ画像が設定されて いても思いの外、⾼サイ ズの画像を設定している ユーザーがいたことによ る学びから実装。 dataURI(base64)変換 Length判定 プロフ画像取得 プロフ画像有無の判定
サイズの判定をどう考えるか? 実際に投稿されたAdaptiveCard 全サイズ:23,719 byte プロフ画像以外(メッセージ等):1,405 byte プロフ画像:22,314 byte 25〜26KB程度が判定ポイントとすれば良い dataURI化されたプロフ画像 ….
④エラーハンドリング スコープにメインとなる処理をまとめて⼊れ、全体の実⾏結果評価ができるようにする スコープ内の任意の箇所でエラーになると、 スコープ全体の実⾏結果評価が「失敗となる」 すなわち、フロー最後にエラーハンドリングの処 理を⼊れておくだけで、予期せぬ箇所で発⽣しう るエラーも含め全体的な統制が可能となる。
GPT君のアイデアで実装 処理まとめて「スコープ」 に⼊れてしもたらええやん 実⾏条件を「失敗した時」に して通知⼊れたらええやん
通知イメージ フローに失敗するとリアルタイムに このメッセージが投稿される フロー実⾏結果ページへジャンプ
今後やりたいこと 定性っぽい効果測定データの取得+愉快犯対策 AI Builderを使うか?OpenAIを使うか? ⽇々のTeams上での会話の内容に対して肯定的、否定的な感情分析を時系列でとることで、組織全体の ポジティブ状態の参考情報の⼀つとして活⽤する。かつ、投稿メッセージ内容にも同じ分析を⼊れるこ とでいわゆる「愉快犯」のモニタリングに活⽤できるかも? AI Builderのアクション 試しに作ったGPTs EmoDetect 感謝の度合いをスコアリングしてくれる
最後に余談(ポエム) フローを「プロダクト」としてGrowthさせる 1,000名 KGI‧KPIの明確化と数字が取れる仕組み化。 ユーザーと対話できる環境と仕掛けづくり。 プロモーションをやめない。 仮説とフィードバックのサイクルを早く回す。 ⾯⽩いと思ったことはとりあえずやる。 とある組織での 利⽤者数 200名超 2023.12 実績 取り組んでいる事 PowerAutomateのユースケースに サプライズを! 2024.12 KPI
Thank You!