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