Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
2024.1.20気ままに勉強会#75
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
kobatch
January 20, 2024
Programming
6.8k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
2024.1.20気ままに勉強会#75
組織全体にScaleさせたいフローに実装するべき工夫についてまとめてみた。
kobatch
January 20, 2024
More Decks by kobatch
See All by kobatch
2024.10.26_Power_Platform_Administrator勉強会#2
takafumikobayashi
1
2.9k
2024.3.13霞が関の中心でCryptoをさけぶ
takafumikobayashi
0
44
Other Decks in Programming
See All in Programming
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
1
2.3k
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
360
Androidだけじゃない、DroidKaigiで広がった私の技術スタック
akkeylab
0
120
Simple Storage Service(S3) is not simple
iwatsukayura
0
260
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
最近”作らせてる” ローカルAIアプリの話
akit37
0
440
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
3k
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
230
AWSに止められる覚悟してますか?
morizo_1984
2
530
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
6.3k
golang-bob.pdf
iwatsukayura
0
120
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
550
Featured
See All Featured
Visualization
eitanlees
153
17k
Docker and Python
trallard
47
4.2k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
Music & Morning Musume
bryan
48
7.4k
Unsuck your backbone
ammeep
672
58k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
530
Leo the Paperboy
mayatellez
10
2.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
Optimising Largest Contentful Paint
csswizardry
37
4k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
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!