2024.1.20気ままに勉強会#75
by
kobatch
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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!