Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
2024.1.20気ままに勉強会#75
Search
kobatch
January 20, 2024
Programming
0
3.7k
2024.1.20気ままに勉強会#75
組織全体にScaleさせたいフローに実装するべき工夫についてまとめてみた。
kobatch
January 20, 2024
Tweet
Share
More Decks by kobatch
See All by kobatch
2024.10.26_Power_Platform_Administrator勉強会#2
takafumikobayashi
1
190
2024.3.13霞が関の中心でCryptoをさけぶ
takafumikobayashi
0
25
Other Decks in Programming
See All in Programming
TDD 実践ミニトーク
contour_gara
0
140
TanStack DB ~状態管理の新しい考え方~
bmthd
2
330
Flutterと Vibe Coding で個人開発!
hyshu
1
260
大規模FlutterプロジェクトのCI実行時間を約8割削減した話
teamlab
PRO
0
490
CSC305 Summer Lecture 06
javiergs
PRO
0
100
MCPで実現するAIエージェント駆動のNext.jsアプリデバッグ手法
nyatinte
6
840
ライブ配信サービスの インフラのジレンマ -マルチクラウドに至ったワケ-
mirrativ
2
260
Introduction to Git & GitHub
latte72
0
120
「リーダーは意思決定する人」って本当?~ 学びを現場で活かす、リーダー4ヶ月目の試行錯誤 ~
marina1017
0
240
実践 Dev Containers × Claude Code
touyu
1
240
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
170
エンジニアのための”最低限いい感じ”デザイン入門
shunshobon
0
130
Featured
See All Featured
Bash Introduction
62gerente
614
210k
Become a Pro
speakerdeck
PRO
29
5.5k
Producing Creativity
orderedlist
PRO
347
40k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Designing Experiences People Love
moore
142
24k
Making Projects Easy
brettharned
117
6.3k
Optimizing for Happiness
mojombo
379
70k
How to Ace a Technical Interview
jacobian
279
23k
Site-Speed That Sticks
csswizardry
10
780
Fireside Chat
paigeccino
39
3.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
890
Transcript
2024.1.20 気ままに勉強会#75 コバッチ@tariki-code 組織全体にScaleさせたい フローに実装するべき⼯夫 についてまとめてみた。
⾃⼰紹介 コバッチ(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
前提となるフロー Teamsの「作成ボックスから(V2)」のトリガーでフロー起動。 ユーザーが起動したGroupChat or Team参加メンバーより送りたい相⼿を指定。 指定した相⼿をメンションし、AdaptiveCardでランダムにデザインされた感謝のカードが投稿できる。 アイコンは指定されたカテゴリからランダムで選択。(プロフィール画像も⼊れられる) 実⾏権限がある⼈であれば誰でもどのGroupChat、Teamでも投稿することができる。 ThanksCard(サンクスカード) イラストアイコンは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指定) AdaptiveCardのInput .ChoiceSetにchoices.dataにて データセットを指定する。 これにより、実⾏開始したGroupChatないしはTeamの 参加メンバーから候補を選択できるようになる。 実⾏しているGroupChat or Team参加メンバーの候補から選択できるようにする
任意の⽂字⼊⼒で、GroupChatに参加 しているメンバーの候補を表⽰。 GroupChat不参加者は例えメールアド レス形式で指定してもエラーになる。 実装結果
③プロフ画像取得 有無判定に加え、dataURI(base64)変換後のLength判定を⾏う プロフ画像取得 プロフ画像有無の判定 dataURI(base64)変換 Length判定 AdaptiveCardの28KB制 限によるエラーを避ける プロフ画像が設定されて いても思いの外、⾼サイ
ズの画像を設定している ユーザーがいたことによ る学びから実装。
サイズの判定をどう考えるか? 実際に投稿されたAdaptiveCard dataURI化されたプロフ画像 全サイズ:23,719 byte プロフ画像以外(メッセージ等):1,405 byte プロフ画像:22,314 byte 25〜26KB程度が判定ポイントとすれば良い
….
④エラーハンドリング スコープ内の任意の箇所でエラーになると、 スコープ全体の実⾏結果評価が「失敗となる」 すなわち、フロー最後にエラーハンドリングの処 理を⼊れておくだけで、予期せぬ箇所で発⽣しう るエラーも含め全体的な統制が可能となる。 スコープにメインとなる処理をまとめて⼊れ、全体の実⾏結果評価ができるようにする
GPT君のアイデアで実装 実⾏条件を「失敗した時」に して通知⼊れたらええやん 処理まとめて「スコープ」 に⼊れてしもたらええやん
通知イメージ フロー実⾏結果ページへジャンプ フローに失敗するとリアルタイムに このメッセージが投稿される
今後やりたいこと AI Builderを使うか?OpenAIを使うか? ⽇々のTeams上での会話の内容に対して肯定的、否定的な感情分析を時系列でとることで、組織全体の ポジティブ状態の参考情報の⼀つとして活⽤する。かつ、投稿メッセージ内容にも同じ分析を⼊れるこ とでいわゆる「愉快犯」のモニタリングに活⽤できるかも? 定性っぽい効果測定データの取得+愉快犯対策 試しに作ったGPTs EmoDetect 感謝の度合いをスコアリングしてくれる
AI Builderのアクション
最後に余談(ポエム) 取り組んでいる事 KGI‧KPIの明確化と数字が取れる仕組み化。 ユーザーと対話できる環境と仕掛けづくり。 プロモーションをやめない。 仮説とフィードバックのサイクルを早く回す。 ⾯⽩いと思ったことはとりあえずやる。 フローを「プロダクト」としてGrowthさせる PowerAutomateのユースケースに サプライズを!
200名超 1,000名 2023.12 実績 2024.12 KPI とある組織での 利⽤者数
Thank You!