🐴
Workato:BoxのファイルをZip化してGoogleドライブにUpしたら通知
いつ役に立つかわからないけどw
Workatoだとこういうことも簡単にできるよって例です。
ざっくり流れ
- Boxからファイルを取得
- Zip化
- ZipをGoogleドライブにUp
- Slackに通知してファイルリンクをつける
a). ボタン1を押したら...対象のファイルをブラウザで開く
b). ボタン2を押したら...何もしない
作り方詳細
- Boxからファイルを取得
Boxを選択してFileIDを入力
- Zip化
[Files by Workato]を選択
[Format]を選択、[File Name]を入力、[File Contents]にBoxの[File Contents]を選択
- GoogleドライブにUp
[File contents]に 2. Zip化 の出力の[compressed_file_contents]を入力
- Slackに通知してファイルリンクをつける
ボタン付きで投稿するのでHTTPアクションを選択
各パラメータを入力- Method:Post
- Request URL:https://slack.com/api/chat.postMessage
- Request content type:JSON
- Request headers:Tokenを入力。
- Request body:以下JSONを入力。
#{_('data.google_drive.xxxx.< name | id >')}となっている箇所はデータピルを選択する。
{
"channel": "YourChannel",
"text":"",
"blocks":[
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "ファイルをUpしました!ᕕ( ᐛ )ᕗ
ファイルリンク:https://drive.google.com/file/d/#{_('data.google_drive.xxxx.id')}
ファイル名:#{_('data.google_drive.xxxx.name')}"
}
},
{
"type": "actions",
"elements": [
{
"type": "button",
"text": {
"type": "plain_text",
"text": "開く",
"emoji": true
},
"value": "non-open",
"action_id": "non-open",
"url":"https://drive.google.com/file/d/#{_('data.google_drive.xxxx.id')}"
}
]
},{
"type": "actions",
"elements": [
{
"type": "button",
"text": {
"type": "plain_text",
"text": "何もしない",
"emoji": true
},
"value": "non-noaction",
"action_id": "non-noaction"
}
]
}
]
,
"unfurl_links": false
}
設定するとこんな感じ
実行してみる
挙動
※Gifファイルがちょっと重たいので断念しました
[開く]ボタンを押したら...対象のファイルをブラウザで開く
[何もしない]ボタンを押したら...何もしない
Tips
Slackへ投稿する処理のボタンクリックでレシピを動かすには、対象botの [Interactivity & Shortcuts] 欄のRequest URLに、ボタンクリック後に動かしたいレシピのWebhookURLを入力して保存しておく
▼参考
Discussion