Slack
統合バージョン 23.0
Google Security Operations と連携するように Slack を構成する
Google SecOps と連携するように Slack を構成するには、まず新しいアプリを作成する必要があります。
https://api.slack.com/ にアクセスし、[Start Building] をクリックします。
[アプリ名] パラメータと [開発用 Slack ワークスペース] パラメータを入力します。[アプリを作成] をクリックします。
[OAuth & Permissions] タブに移動し、[Scopes] セクションまで下にスクロールします。
次のスコープ/権限を追加します。Slack では、ユーザー権限ではなく、ボットの OAuth トークン スコープを追加することが推奨されています。
- channels:history
- channels:manage
- channels:read
- chat:write
- files:write
- groups:history
- groups:write
- groups:read
- im:read
- im:write
- im:history
- mpim:read
- mpim:history
- mpim:write
- users:read
- users:read.email
[インタラクティブ メッセージを送信] や [Webhook で返信を待機] などのアクションでアプリのインタラクティブ性を有効にするには、アプリのリクエスト URL を追加します。詳しくは、Slack ドキュメント内の Slack アプリでのユーザー操作の処理に関するドキュメントをご覧ください。
上にスクロールして、[Install App to Workspace] をクリックします。
[許可] をクリックします。
bot を使用するかユーザーを使用するかに応じて、作成されたトークンのいずれかをコピーします。
これらのトークンのいずれかを使用して統合を構成します。
ネットワーク
関数 | デフォルト ポート | 方向 | プロトコル |
---|---|---|---|
API | 複数値 | 送信 | apitoken |
Google SecOps で Slack インテグレーションを構成する
Google SecOps で統合を構成する方法について詳しくは、統合を構成するをご覧ください。
統合のパラメータ
次のパラメータを使用して統合を構成します。
パラメータの表示名 | 種類 | デフォルト値 | 必須 | 説明 |
---|---|---|---|---|
インスタンス名 | 文字列 | なし | いいえ | 統合を構成するインスタンスの名前。 |
説明 | 文字列 | なし | いいえ | インスタンスの説明。 |
API トークン | 文字列 | なし | はい | Slack コンソールで生成された API トークン。 |
SSL を確認する | チェックボックス | オフ | いいえ | Slack 接続で SSL の検証が必要な場合は、このチェックボックスをオンにします(デフォルトではオフになっています)。 |
リモートで実行 | チェックボックス | オフ | いいえ | 構成した統合をリモートで実行するには、フィールドのチェックボックスをオンにします。オンにすると、リモート ユーザー(エージェント)を選択するオプションが表示されます。 |
操作
質問する
説明
Slack で質問します。
パラメータ
パラメータ名 | 種類 | デフォルト値 | 必須 | 説明 |
---|---|---|---|---|
チャンネル | 文字列 | なし | はい | ターゲット チャンネル。 |
質問 | 文字列 | なし | はい | 質問の内容。 |
実行
このアクションはすべてのエンティティに対して実行されます。
アクションの結果
スクリプトの結果
スクリプトの結果名 | 値のオプション | 例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON の結果
N/A
ビルドブロック
説明
指定された入力条件に基づいて Slack メッセージ ブロックを構築します。このアクションは、後で「インタラクティブ メッセージを送信」アクションに渡してメッセージを送信できる Webhook を含むブロックを作成します。
パラメータ
パラメータ名 | 種類 | デフォルト値 | 必須 | 説明 |
---|---|---|---|---|
質問 | 文字列 | なし | はい | ブロックに追加する質問のテキストを指定します。 |
回答ボタン | 文字列 | なし | はい | ブロックに追加する回答ボタンを指定します。 |
Siemplify ベース URL | 文字列 | なし | はい | ブロックに追加する Google SecOps サーバーのベース URL を指定します。 |
ケース ID | 文字列 | なし | はい | ブロックに追加する Google SecOps ケース ID を指定します。 |
Webhook トークンの UUID | 文字列 | なし | はい | ユーザーの応答をモニタリングする Webhook トークンの UUID を指定します。 |
プレイブックのユースケースの例
後で「高度なメッセージを送信」アクションに渡して、ブロックを含むメッセージを送信できるブロックを構築します。
実行
このアクションはエンティティに対しては実行されません。
アクションの結果
スクリプトの結果
スクリプトの結果名 | 値のオプション | 例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON の結果
{
"result": "[{\"type\": \"section\", \"block_id\": \"f99958f1-c1f1-4fdb-bb8b-a382d952d5bd\", \"text\": {\"type\": \"mrkdwn\", \"text\": \"yes?\", \"verbatim\": false}},{\"type\": \"actions\", \"block_id\": \"2850e684-472a-472f-9a32-96294cbe9046\", \"elements\": [{\"type\": \"button\", \"text\": {\"type\": \"plain_text\", \"text\": \"y\"}, \"action_id\": \"y\", \"url\": \"...\"}, {\"type\": \"button\", \"text\": {\"type\": \"plain_text\", \"text\": \"n\"}, \"action_id\": \"n\", \"url\": \"...\"}, {\"type\": \"button\", \"text\": {\"type\": \"plain_text\", \"text\": \"View Case in Siemplify\"}, \"action_id\": \"View Case in Siemplify\", \"url\": \"...\"}]}]"
}
Case Wall
結果のタイプ | 値 / 説明 | 種類 |
---|---|---|
出力メッセージ * | アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。 ビルドブロックが正常に作成された場合(is_succeed=True):「Slack ブロックが正常に作成されました。」 一般的なエラーにより Slack ブロックの作成に失敗した場合(is_succeed=False): 「次のエラーが発生したため、ブロックの作成に失敗しました: {0}」.format(エラー テキスト) アクションが失敗し、ハンドブックの実行が停止します。 統合構成で Webhook ベースの URL が指定されていない場合:「アクションの実行に失敗しました。統合パラメータ「Webhook Base URL」を指定してください。」 認証情報の誤り、サーバーへの接続がないなどの致命的なエラーが報告された場合: 「"高度なメッセージを送信" アクションの実行に失敗しました。エラーは {0}」.format(exception.stacktrace) |
全般 |
チャネルの作成
説明
Slack チャネルを作成します。
パラメータ
パラメータ名 | 種類 | デフォルト値 | 必須 | 説明 |
---|---|---|---|---|
チャンネル名 | 文字列 | なし | はい | チャンネルの名前を指定します。 注: チャンネル名に使用できるのは、英小文字、数字、ハイフン、アンダースコアのみです。80 文字以下にする必要があります。 |
ユーザー ID | 文字列 | なし | はい | 新しく作成されたチャンネルに招待するユーザーの ID を指定します。 例: U014JDHLW87、U08544ABC85。 |
非公開である | チェックボックス | オフ | いいえ | 有効にすると、アクションによって非公開チャンネルが作成されます。 |
実行
このアクションはすべてのエンティティに対して実行されます。
アクションの結果
スクリプトの結果
スクリプトの結果名 | 値のオプション | 例 |
---|---|---|
is_success | True/False | is_success:False |
JSON の結果
{
"is_general": "False",
"name_normalized": "12asd1237712318",
"is_channel": "True",
"creator": "U014J4NFQQG",
"is_member": "True",
"is_archived": "False",
"topic": {
"last_set": "0",
"value": " ",
"creator": " "
},
"parent_conversation": "None",
"is_im": "False",
"is_ext_shared": "False",
"previous_names": [],
"last_read": "0000000000.000000",
"id": "C014S1G6DB4",
"is_org_shared": "False",
"pending_connected_team_ids": [],
"is_pending_ext_shared": "False",
"is_mpim": "False",
"is_group": "False",
"shared_team_ids": ["T013MJHSNCT"],
"purpose": {
"last_set": 0,
"value": " ",
"creator": " "
},
"is_private": "False",
"is_shared": "False",
"name": "12asd1237712318",
"created": "1591194197",
"pending_shared": [],
"unlinked": 0,
"priority": 0
}
ケースウォール
結果のタイプ | 値 / 説明 | 種類 |
---|---|---|
出力メッセージ * | アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。 「ok」== true、アクション パラメータ「Private」が false、ユーザー ID パラメータが空の場合(is_success=true): "Successfully created channel {0}".format(name) 「ok」== true、「Private」アクション パラメータが true、「User IDs」パラメータが空の場合(is_success=true): 「プライベート チャンネル {0} が正常に作成されました」.format(name) 「ok」== true、「Private」アクション パラメータが false で、ユーザー ID が利用可能な場合(is_success=true): 「チャンネル {0} が正常に作成され、{1} 人のユーザーが追加されました」.format(name, user_ids) 「ok」== true、「Private」アクション パラメータが true で、ユーザー ID が利用可能な場合(is_success=true): 「プライベート チャネル {0} を作成し、{1} 人のユーザーを追加しました」.format(name, user_ids) 「ok」が false の場合。初回リクエスト(is_success=false)の場合: 「チャンネル {0} を作成できませんでした。理由: {1}」.format(name, value of error parameter from response) 2 回目のリクエストで "ok" == false の場合(is_success=false): 「チャンネル {0} が作成されましたが、ユーザーは招待されていません。理由:".format(name, value of error parameter from response) "ok" == false かつ error == "user_not_found" の場合(is_success=false): 「チャンネル {0} にユーザーを追加できませんでした。理由: 指定されたユーザー ID の {1} が Slack に存在しません。」.format(name, レスポンスの len(errors)) アクションが失敗し、ハンドブックの実行が停止します。 致命的なエラー(認証情報の誤り、接続エラー、アクションのクラッシュ)が報告された場合:「アクション「チャンネルの作成」の実行エラー。理由: {0}」.format(error.Stacktrace) |
全般 |
チャンネルまたはユーザーの会話履歴を取得する
説明
指定された入力条件に基づいて、ユーザーまたはチャンネルの会話履歴を取得します。このアクションは、チャンネル ID またはユーザー ID のいずれかで動作します。これらの ID は、「チャンネルを一覧表示」アクションまたは「ユーザーを一覧表示」アクションで検索できます。
パラメータ
パラメータ名 | 種類 | デフォルト値 | 必須 | 説明 |
---|---|---|---|---|
チャンネル ID またはユーザー ID | 文字列 | なし | はい | 会話履歴を取得するチャンネルまたはユーザー ID を指定します。 |
期間 | DDL | Last Hour 有効な値:
|
いいえ | 結果の期間を指定します。 「カスタム」を選択した場合は、「開始時刻」パラメータも指定する必要があります。 |
開始時刻 | 文字列 | なし | いいえ | 結果の開始時刻を指定します。 「期間」パラメータに「カスタム」が選択されている場合、このパラメータは必須です。 形式: ISO 8601。 例: 2021-08-05T05:18:42Z |
終了時刻 | 文字列 | なし | いいえ | 結果の終了時刻を指定します。 何も指定されず、「期間」パラメータで「カスタム」が選択されている場合、このパラメータでは現在の時刻が使用されます。 形式: ISO 8601。 例: 2021-08-05T05:18:42Z。 |
返されるレコードの最大数 | Integer | 20 | いいえ | 返すレコードの数を指定します。 何も指定しないと、アクションで 20 件のレコードが返されます。 |
プレイブックのユースケースの例
アラートを調査するために会話履歴を取得します。
実行
このアクションはエンティティに対しては実行されません。
アクションの結果
スクリプトの結果
スクリプトの結果名 | 値のオプション | 例 |
---|---|---|
is_success | True/False | is_success:False |
JSON の結果
[
{
"bot_id": "B02D9QYM7P0",
"type": "message",
"text": "test",
"user": "U02D1RPLVST",
"ts": "1665988448.627219",
"app_id": "A02DDGD942Z",
"team": "T02CX3N6B0B",
"bot_profile": {
"id": "B02D9QYM7P0",
"deleted": false,
"name": "Siemplify-test",
"updated": 1630908872,
"app_id": "A02DDGD942Z",
"icons": {
"image_36": "https://a.slack-edge.com/80588/img/plugins/app/bot_36.png",
"image_48": "https://a.slack-edge.com/80588/img/plugins/app/bot_48.png",
"image_72": "https://a.slack-edge.com/80588/img/plugins/app/service_72.png"
},
"team_id": "T02CX3N6B0B"
},
"blocks": [
{
"type": "rich_text",
"block_id": "JbVUf",
"elements": [
{
"type": "rich_text_section",
"elements": [
{
"type": "text",
"text": "test"
}
]
}
]
}
]
}
]
Case Wall
結果のタイプ | 値 / 説明 | 種類 |
---|---|---|
出力メッセージ * | アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。 会話履歴が正常に見つかった場合(is_succeed=True):「会話履歴が正常に取得されました。」 指定された ID の会話が見つからない場合(is_succeed=False): 「指定された ID {0} の会話が見つかりませんでした」.format(channel_or_user_id) 指定された ID の会話が見つかり、指定された期間のメッセージが見つからなかった場合(is_succeed=False): 「ID {0} の会話は見つかりましたが、指定された期間のメッセージは見つかりませんでした。」.format(channel_or_user_id) アクションが失敗し、ハンドブックの実行が停止します。 認証情報の誤り、サーバーへの接続がないなどの致命的なエラーが報告された場合: 「「高度なメッセージを送信」アクションの実行に失敗しました。エラーは {0}」.format(exception.stacktrace) 「返される最大レコード数」パラメータに無効な値が指定されている場合:「アクション「{action name}」の実行エラー。理由: 「返さえる最大レコード数」に無効な値が指定されました。正の数を指定してください。」 「期間」パラメータで「カスタム」が選択され、「開始時刻」パラメータが指定されていない場合:「アクション「{アクション名}」の実行エラー。理由: 「カスタム期間の開始時間が指定されていません。」 |
全般 |
ユーザーの詳細を取得する
説明
指定された入力条件に基づいて Slack ユーザーの詳細を取得します。
パラメータ
パラメータ名 | 種類 | デフォルト値 | 必須 | 説明 |
---|---|---|---|---|
検索する条件 | DDL | メール 有効な値:
|
はい | ユーザーの詳細を検索するパラメータを指定します。 |
ユーザーにとっての価値 | 文字列 | なし | はい | 検索するユーザー値を指定します。 |
プレイブックのユースケースの例
Google SecOps でアラート処理を強化するためにユーザーの詳細を取得します。
実行
このアクションはエンティティに対しては実行されません。
アクションの結果
スクリプトの結果
スクリプトの結果名 | 値のオプション | 例 |
---|---|---|
is_success | True/False | is_success:False |
JSON の結果
{
"id": "U043FPEMATG",
"team_id": "T02CX3N6B0B",
"name": "example.user",
"deleted": false,
"color": "3c989f",
"real_name": "Example User",
"tz": "Europe/Europe",
"tz_label": "Central European Summer Time",
"tz_offset": 7200,
"profile": {
"title": "",
"phone": "",
"skype": "",
"real_name": "Example User",
"real_name_normalized": "Example User",
"display_name": "Example User",
"display_name_normalized": "Example User",
"fields": null,
"status_text": "",
"status_emoji": "",
"status_emoji_display_info": [],
"status_expiration": 0,
"avatar_hash": "gc297456197c",
"email": "example.user@example.com",
"first_name": "Example",
"last_name": "User",
"image_24": "https://secure.gravatar.com/avatar/c297456197c0de7baa8c4b9a2398ecd1.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-24.png",
"image_32": "https://secure.gravatar.com/avatar/c297456197c0de7baa8c4b9a2398ecd1.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-32.png",
"image_48": "https://secure.gravatar.com/avatar/c297456197c0de7baa8c4b9a2398ecd1.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-48.png",
"image_72": "https://secure.gravatar.com/avatar/c297456197c0de7baa8c4b9a2398ecd1.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-72.png",
"image_192": "https://secure.gravatar.com/avatar/c297456197c0de7baa8c4b9a2398ecd1.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-192.png",
"image_512": "https://secure.gravatar.com/avatar/c297456197c0de7baa8c4b9a2398ecd1.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-512.png",
"status_text_canonical": "",
"team": "T02CX3N6B0B"
},
"is_admin": false,
"is_owner": false,
"is_primary_owner": false,
"is_restricted": false,
"is_ultra_restricted": false,
"is_bot": false,
"is_app_user": false,
"updated": 1663939355,
"is_email_confirmed": true,
"who_can_share_contact_card": "EVERYONE"
}
Case Wall
結果のタイプ | 値 / 説明 | 種類 |
---|---|---|
出力メッセージ \* | アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。 ユーザーの詳細情報が正常に見つかった場合(is_succeed=True):「ユーザーの詳細情報が正常に取得されました。」 指定された条件に基づいてユーザーの詳細が見つからない場合(is_succeed=False):「指定された条件に基づいてユーザーの詳細が見つかりませんでした。検索条件: <0> ユーザー値: <1>」.format(search_by, user_value) 名前でユーザーの詳細が見つかり、複数の一致が見つかった場合(is_succeed=True): 「指定された検索条件に複数の一致が見つかりました。検索条件: <0> ユーザー値: <1>」.format(search_by, user_value) 一般的なエラーが原因でユーザーが見つからなかった場合(is_succeed=False): 「エラーが発生したため、ユーザーの詳細を取得できませんでした: {0}」(エラー テキスト) アクションが失敗し、ハンドブックの実行が停止します。 認証情報の誤り、サーバーへの接続がないなどの致命的なエラーが報告された場合: 「"高度なメッセージを送信" アクションの実行に失敗しました。エラーは {0}」.format(exception.stacktrace) |
全般 |
Case Wall テーブル | テーブル名: Slack User Details テーブル列:
|
全般 |
ID でユーザーの詳細を取得する
説明
ID でユーザーの詳細を取得します。
パラメータ
パラメータ名 | 種類 | デフォルト値 | 必須 | 説明 |
---|---|---|---|---|
ユーザー ID | 文字列 | なし | はい | ユーザーの ID。 |
実行
このアクションはすべてのエンティティに対して実行されます。
アクションの結果
スクリプトの結果
スクリプトの結果名 | 値のオプション | 例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON の結果
N/A
チャネルの一覧表示
説明
Slack チャンネルのリストを取得します。
パラメータ
なし
実行
このアクションはすべてのエンティティに対して実行されます。
アクションの結果
スクリプトの結果
スクリプトの結果名 | 値のオプション | 例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON の結果
[
{
"is_org_shared": false,
"is_general": true,
"name_normalized": "general",
"name": "general",
"is_channel": true,
"created": 1575550599,
"is_member": true,
"is_mpim": false,
"is_archived": false,
"creator": "URALP6WRJ",
"topic": {
"last_set": 1575550599,
"value": "Company-wide announcements and work-based matters",
"creator": "URALP6WRJ"
},
"num_members": 1,
"purpose": {
"last_set": 1575550599,
"value": "This channel is for workspace-wide communication and announcements. All members are in this channel.",
"creator": "URALP6WRJ"
},
"members": ["URALP6WRJ"],
"unlinked": 0,
"is_shared": false,
"id": "CRB4ZHGNR",
"is_private": false,
"previous_names": []
}, {
"is_org_shared": false,
"is_general": false,
"name_normalized": "random",
"name": "random",
"is_channel": true,
"created": 1575550599,
"is_member": true,
"is_mpim": false,
"is_archived": false,
"creator": "URALP6WRJ",
"topic": {
"last_set": 1575550599,
"value": "Non-work banter and water cooler conversation",
"creator": "URALP6WRJ"
},
"num_members": 1,
"purpose": {
"last_set": 1575550599,
"value": "A place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber you'd prefer to keep out of more focused work-related channels.",
"creator": "URALP6WRJ"
},
"members": ["URALP6WRJ"],
"unlinked": 0,
"is_shared": false,
"id": "CRD0KF9T9",
"is_private": false,
"previous_names": []
}, {
"is_org_shared": false,
"is_general": false,
"name_normalized": "website",
"name": "website",
"is_channel": true,
"created": 1575550600,
"is_member": true,
"is_mpim": false,
"is_archived": false,
"creator": "URALP6WRJ",
"topic": {
"last_set": 0,
"value": " ",
"creator": " "
},
"num_members": 1,
"purpose": {
"last_set": 0,
"value": " ",
"creator": " "
},
"members": ["URALP6WRJ"],
"unlinked": 0,
"is_shared": false,
"id": "CRDAUBZP0",
"is_private": false,
"previous_names": []
}
]
ケースウォール
結果のタイプ | 値 / 説明 | 種類 |
---|---|---|
出力メッセージ * | アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。 「ok」== false の場合(is_success=false): 「チャンネルの一覧表示に失敗しました。理由: {0}」.format(レスポンスの error パラメータの値) |
全般 |
ユーザーの一覧表示
説明
このアクションは、Slack ユーザーのリストを取得する役割を果たします。
パラメータ
なし
実行
このアクションはすべてのエンティティに対して実行されます。
アクションの結果
スクリプトの結果
スクリプトの結果名 | 値のオプション | 例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON の結果
[
{
"profile": {
"status_text": " ",
"display_name": " ",
"status_emoji": " ",
"title": " ",
"status_text_canonical": " ",
"team": "TRALP6VNY",
"real_name": "somerealname",
"image_24": "https://secure.gravatar.com/avatar/2d62053d7f735bc096de59639eb8f350.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-24.png",
"phone": " ",
"real_name_normalized": "somerealnamen",
"image_512": "https://secure.gravatar.com/avatar/2d62053d7f735bc096de59639eb8f350.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-512.png",
"image_72": "https://secure.gravatar.com/avatar/2d62053d7f735bc096de59639eb8f350.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-72.png",
"image_32": "https://secure.gravatar.com/avatar/2d62053d7f735bc096de59639eb8f350.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-32.png",
"image_48": "https://secure.gravatar.com/avatar/2d62053d7f735bc096de59639eb8f350.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-48.png",
"skype": " ",
"avatar_hash": "g2d62053d7f7",
"display_name_normalized": " ",
"status_expiration": 0,
"email": "mail@seimplify.co",
"image_192": "https://secure.gravatar.com/avatar/2d62053d7f735bc096de59639eb8f350.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-192.png"
},
"updated": 1575550598,
"tz": "Europe/Moscow",
"name": "name",
"deleted": false,
"is_app_user": false,
"is_bot": false,
"tz_label": "Moscow Time",
"real_name": "realname",
"color": "9f69e7",
"team_id": "TRALP6VNY",
"is_admin": true,
"is_ultra_restricted": false,
"is_restricted": false,
"is_owner": true,
"tz_offset": 14400,
"has_2fa": false,
"id": "URALP6WRJ",
"is_primary_owner": true
}, {
"profile": {
"last_name": " ",
"status_emoji": " ",
"display_name_normalized": "Slackbot",
"image_32": "https://a.slack-edge.com/80588/img/slackbot_32.png",
"skype": " ",
"image_72": "https://a.slack-edge.com/80588/img/slackbot_72.png",
"status_expiration": 0,
"image_192": "https://a.slack-edge.com/80588/marketing/img/avatars/slackbot/avatar-slackbot.png",
"first_name": "slackbot",
"display_name": "Slackbot",
"title": " ",
"real_name_normalized": "Slackbot",
"always_active": true,
"status_text_canonical": " ",
"image_24": "https://a.slack-edge.com/80588/img/slackbot_24.png",
"phone": " ",
"image_48": "https://a.slack-edge.com/80588/img/slackbot_48.png",
"fields": null,
"real_name": "Slackbot",
"image_512": "https://a.slack-edge.com/80588/img/slackbot_512.png",
"team": "TRALP6VNY",
"avatar_hash": "sv41d8cd98f0",
"status_text": " "
},
"updated": 0,
"tz": null,
"name": "slackbot",
"deleted": false,
"is_app_user": false,
"is_bot": false,
"tz_label": "Pacific Standard Time",
"real_name": "Slackbot",
"color": "757575",
"team_id": "TRALP6VNY",
"is_admin": false,
"is_ultra_restricted": false,
"is_restricted": false,
"is_owner": false,
"tz_offset": -28800,
"id": "USLACKBOT",
"is_primary_owner": false
}
]
Ping
説明
接続をテストします。
パラメータ
なし
実行
このアクションはすべてのエンティティに対して実行されます。
アクションの結果
スクリプトの結果
スクリプトの結果名 | 値のオプション | 例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON の結果
N/A
チャンネル名を変更する
説明
Slack チャンネルの名前を変更します。
パラメータ
パラメータ名 | 種類 | デフォルト値 | 必須 | 説明 |
---|---|---|---|---|
チャンネル名 | 文字列 | なし | いいえ | 名前を変更するチャンネルの名前を指定します。 注: 「チャンネル名」と「チャンネル ID」の両方のパラメータが指定されている場合、アクションは ID でのみ機能します。 |
チャネル ID | 文字列 | なし | いいえ | 名前を変更するチャンネルの ID を指定します。 注: 「チャンネル名」と「チャンネル ID」の両方のパラメータが指定されている場合、アクションは ID でのみ機能します。 |
新しい名前 | 文字列 | なし | はい | チャネルの新しい名前を指定します。 注: チャンネル名に使用できるのは、英小文字、数字、ハイフン、アンダースコアのみです。80 文字以下にする必要があります。 |
実行
このアクションはエンティティに対しては実行されません。
アクションの結果
スクリプトの結果
スクリプトの結果名 | 値のオプション | 例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON の結果
「ok」が true の場合:
{
"channel": {
"id": "C013ELA1YVC",
"name": "project_old",
"is_channel": true,
"is_group": false,
"is_im": false,
"created": 1589444943,
"is_archived": false,
"is_general": false,
"unlinked": 0,
"name_normalized": "project_old",
"is_shared": false,
"parent_conversation": null,
"creator": "U0136KZ0P5M",
"is_ext_shared": false,
"is_org_shared": false,
"shared_team_ids": [
"T013MJHSNCT"
],
"pending_shared": [],
"pending_connected_team_ids": [],
"is_pending_ext_shared": false,
"is_member": true,
"is_private": false,
"is_mpim": false,
"last_read": "1595242486.000300",
"topic": {
"value": "",
"creator": "",
"last_set": 0
},
"purpose": {
"value": "This *channel* is for working on a project. Hold meetings, share docs, and make decisions together with your team.",
"creator": "U0136KZ0P5M",
"last_set": 1589444943
},
"previous_names": [
"project_new",
"project"
]
},
"ok": true,
"warning": "missing_charset",
"response_metadata": {
"warnings": [
"missing_charset"
]
}
}
「ok」== false の場合:
{
"ok": false,
"error": "name_taken",
"warning": "missing_charset",
"response_metadata": {
"warnings": [
"missing_charset"
]
}
}
ケースウォール
結果のタイプ | 値 / 説明 | 種類 |
---|---|---|
出力メッセージ * | アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。 「ok」== true(is_success=true)の場合: 「チャンネル {0} の名前を {1} {0} に変更しました」.format(名前/ID, 新しい名前) 「ok」== false の場合(is_success=false):「アクションはチャンネル {0} の名前を変更できませんでした。理由: {1}」.format(name,error from the response) チャンネル名でチャンネルが見つからなかった場合(is_success=false):「アクションはチャンネル {0} の名前を変更できませんでした。理由: チャンネルが見つかりませんでした」.format(name) アクションが失敗し、ハンドブックの実行が停止します。 致命的なエラー(認証情報の誤り、接続エラー、アクションのクラッシュ)が報告された場合: 「アクション「チャンネルの名前変更」の実行エラー。理由: {0}''.format(error.Stacktrace) 「チャンネル名」パラメータと「チャンネル ID」パラメータが指定されていない場合:「アクション「チャンネル名の変更」の実行エラー。理由: 「チャンネル名」または「チャンネル ID」を指定する必要があります。」 |
全般 |
高度なメッセージを送信する
説明
Slack チャンネルまたはユーザーに高度なメッセージを送信します。このアクションを使用すると、ボタンや高度な書式設定などを含むシンプルなテキスト メッセージやリッチな Slack ブロック メッセージを送信できます。ブロック メッセージの詳細については、Slack Block Kit をご覧ください。
このアクションは、「Webhook で返信を待機」アクションと組み合わせて使用できます。まず、Webhook を使用してブロック メッセージをユーザーに送信し、後で「Webhook で返信を待機」アクションを使用してユーザーの返信を確認します。
パラメータ
パラメータ名 | 種類 | デフォルト値 | 必須 | 説明 |
---|---|---|---|---|
メッセージの種類 | DDL | テキスト 有効な値:
|
はい | 送信するメッセージのタイプを指定します。 |
受信者のタイプ | DDL | 名前 有効な値:
|
はい | メッセージの送信先となるチャンネル名またはユーザー名(フルネーム)を指定します。 必要に応じて、チャンネル ID、ユーザー ID、またはユーザーのメールアドレスを指定します。 |
受信者 | 文字列 | なし | はい | メッセージの送信先を指定します。 |
メッセージ | 文字列 | なし | はい | 送信するメッセージの内容を指定します。 |
プレイブックのユースケースの例
ボタン、リンク、画像などのリッチ コンテンツを含むメッセージを送信します。
実行
このアクションはエンティティに対しては実行されません。
アクションの結果
スクリプトの結果
スクリプトの結果名 | 値のオプション | 例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON の結果
[
{
"Entity": "U043FPEMATG",
"EntityResult": {
"channel": "D044C3DUMB2",
"message": {
"bot_id": "B02D9QYM7P0",
"type": "message",
"text": "test msg",
"user": "U02D1RPLVST",
"ts": "1666008612.116169",
"app_id": "A02DDGD942Z",
"team": "T02CX3N6B0B",
"bot_profile": {
"id": "B02D9QYM7P0",
"app_id": "A02DDGD942Z",
"name": "test",
"icons": {
"image_36": "https://a.slack-edge.com/80588/img/plugins/app/bot_36.png",
"image_48": "https://a.slack-edge.com/80588/img/plugins/app/bot_48.png",
"image_72": "https://a.slack-edge.com/80588/img/plugins/app/service_72.png"
},
"deleted": false,
"updated": 1630908872,
"team_id": "T02CX3N6B0B"
},
"blocks": [
{
"type": "rich_text",
"block_id": "RJvg",
"elements": [
{
"type": "rich_text_section",
"elements": [
{
"type": "text",
"text": "test msg"
}
]
}
]
}
]
},
"ts": "1666008612.116169",
"ok": true
}
}
]
Case Wall
結果のタイプ | 値 / 説明 | 種類 |
---|---|---|
出力メッセージ * | アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。 メッセージが正常に送信された場合(is_succeed=True): 「メッセージは正常に送信されました」 指定された受信者が存在しないため、メッセージが正常に送信されなかった場合(is_succeed=False): 「指定された受信者 {0}(タイプ {1})が見つからなかったため、メッセージは送信されませんでした。」(受信者、受信者の種類) 一般的なエラーによりメッセージが正常に送信されなかった場合(is_succeed=False): 「エラーが発生したため、メッセージは送信されませんでした: {0}」(エラー テキスト) アクションが失敗し、ハンドブックの実行が停止します。 認証情報の誤り、サーバーへの接続がないなどの致命的なエラーが報告された場合: 「「高度なメッセージを送信」アクションの実行に失敗しました。エラーは {0}」.format(exception.stacktrace) |
全般 |
インタラクティブなメッセージを送信する
説明
チャンネルまたはユーザーにインタラクティブ メッセージを送信し、指定された Webhook UUID に基づいてユーザーの応答を確認します。このアクションは「高度なメッセージを送信」アクションと似ていますが、ブロック コンテンツ(プレーン テキスト メッセージではない)のみを送信でき、Webhook UUID を使用してユーザーの Webhook への応答を確認する必要があります。
アクションは非同期です。IDE でアクション タイムアウトを適宜調整します。
インテグレーションで使用される Slack アプリを構成して、インタラクティブ メッセージを許可します。Slack アプリの構成の詳細については、インタラクティブ メッセージ用のアプリケーションの準備をご覧ください。
パラメータ
パラメータ名 | 種類 | デフォルト値 | 必須 | 説明 |
---|---|---|---|---|
受信者のタイプ | DDL | 名前 有効な値:
| はい | メッセージの送信先となるチャンネル名またはユーザー名(フルネーム)を指定します。 必要に応じて、チャンネル ID、ユーザー ID、またはユーザーのメールアドレスを指定します。 |
受信者 | 文字列 | なし | はい | メッセージの送信先を指定します。 |
メッセージ | 文字列 | なし | はい | 送信するメッセージの内容を指定します。 |
Webhook トークンの UUID | 文字列 | なし | はい | ユーザーのレスポンスをモニタリングする Webhook トークンの UUID を指定します。 |
プレイブックのユースケースの例
ボタン、リンク、画像などのリッチ コンテンツを含むメッセージを送信します。
実行
このアクションはエンティティに対しては実行されません。
アクションの結果
スクリプトの結果
スクリプトの結果名 | 値のオプション | 例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON の結果
[
{
"uuid": "10953f8e-7ef8-4bde-9e9b-212005e0e737",
"type": "web",
"token_id": "47289ba5-277e-4ab9-9238-eb31080530ca",
"ip": "0000:a000000:ad80:000:20ea:653:fb97",
"hostname": "webhook.site",
"method": "GET",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15",
"content": "",
"query": {
"Answer": "yes"
},
"headers": {
"connection": [
"close"
],
"accept-encoding": [
"gzip, deflate, br"
],
"accept-language": [
"en-US,en;q=0.9"
],
"user-agent": [
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15"
],
"cookie": [
"_ga=GA"
],
"accept": [
"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
],
"host": [
"webhook.site"
],
"content-length": [
""
],
"content-type": [
""
]
},
"url": "https://webhook.site/47289ba5-277e-4ab9-9238-xx0000000xx?Answer=yes",
"size": 0,
"files": [],
"created_at": "2022-10-14 19:45:40",
"updated_at": "2022-10-14 19:45:40",
"sorting": 1665776740032262,
"custom_action_output": []
}
]
Case Wall
結果のタイプ | 値 / 説明 | 種類 |
---|---|---|
出力メッセージ * | アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。 メッセージが正常に送信された場合(is_succeed=True): 「メッセージは正常に送信されました」 指定された受信者が存在しないため、メッセージが正常に送信されなかった場合(is_succeed=False): 「指定された受信者 {0}(タイプ {1})が見つからなかったため、メッセージは送信されませんでした。」(受信者、受信者の種類) 一般的なエラーによりメッセージが正常に送信されなかった場合(is_succeed=False): 「エラーが発生したため、メッセージは送信されませんでした: {0}」(エラー テキスト) 非同期機能に関する Case Wall のメッセージ: 返信を待っている間のイテレーションのケースウォール メッセージ: 「Webhook で送信したメッセージに対する返信を待っています。Webhook url with uuid: {0}".format(integration configuration の Webhook URL + ウェブトークンの UUID) レスポンスが正常に取得された場合(is_succeed=True): 「Webhook へのユーザーのレスポンスが正常に取得されました。レスポンス コンテンツ: {0}」.format(ユーザーから Webhook に送信されたペイロード) タイムアウトまでレスポンスを取得できなかった場合: 「Webhook に対するユーザーのレスポンスが見つからなかったため、タイムアウトによりアクションが停止しました。」 アクションが失敗し、ハンドブックの実行が停止します。 統合構成で Webhook ベースの URL が指定されておらず、Webhook UUID トークンが指定されている場合: 「アクションの実行に失敗しました。統合パラメータ「Webhook Base URL」を指定してください。」」 認証情報の誤り、サーバーへの接続がないなどの致命的なエラーが報告された場合: 「アクション「インタラクティブ メッセージの送信」の実行に失敗しました。エラーは {0}」.format(exception.stacktrace) |
全般 |
メッセージを送信
説明
ユーザーまたは複数のユーザー/チャンネルにメッセージを送信します。
パラメータ
パラメータ名 | 種類 | デフォルト値 | 必須 | 説明 |
---|---|---|---|---|
チャンネル | 文字列 | なし | はい | メッセージを送信する Slack チャンネルの名前またはユーザーのメールアドレス。 入力する値はカンマで区切る必要があります。 |
メッセージ | 文字列 | なし | はい | メッセージの内容。 |
実行
このアクションはすべてのエンティティに対して実行されます。
アクションの結果
スクリプトの結果
スクリプトの結果名 | 値のオプション | 例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON の結果
N/A
ファイルをアップロード
説明
Slack にファイルを追加してチームメイトと共有し、共同作業に役立てることができます。 デバイスまたはお好みのファイル管理アプリからファイルを選択して Slack にアップロードできます。アップロードされたファイルは、ワークスペース全体で保存、検索、共有が可能です。
パラメータ
パラメータ名 | 種類 | デフォルト値 | 必須 | 説明 |
---|---|---|---|---|
ファイル名 | 文字列 | なし | はい | ターゲット ファイル名。 |
ファイルパス | 文字列 | なし | はい | ターゲット ファイルのパス。 |
チャンネル | 文字列 | なし | はい | ターゲット チャンネル。 |
実行
このアクションはすべてのエンティティに対して実行されます。
アクションの結果
スクリプトの結果
スクリプトの結果名 | 値のオプション | 例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON の結果
N/A
応答を待つ
説明
チャンネル内のメッセージへのスレッド返信を待機します。
パラメータ
パラメータ名 | 種類 | デフォルト値 | 必須 | 説明 |
---|---|---|---|---|
チャンネル | 文字列 | なし | はい | ターゲット チャンネル。 |
メッセージのタイムスタンプ | 文字列 | なし | はい | 返信を取得するメッセージのタイムスタンプ(ミリ秒単位)。 |
チャネル ID | 文字列 | なし | いいえ | ターゲット Slack チャンネルの ID。 |
ハンドブックのユースケース
メッセージ送信アクションと、返信を待つアクションを含むプレイブック(チャネルは前の操作のプレースホルダ - チャネル ID)
実行
このアクションはすべてのエンティティに対して実行されます。
アクションの結果
スクリプトの結果
スクリプトの結果名 | 値のオプション | 例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON の結果
N/A
Webhook で応答を待つ
説明
Webhook で送信されたメッセージに対するユーザーの返信を待ちます。このアクションは、指定された Webhook を定期的にチェックし、ユーザーが返信を提供したかどうかを確認します。Webhook を使用したブロック メッセージが送信された場合、「高度なメッセージを送信」アクションでアクションを使用して、ユーザーの回答が Webhook に提供されたかどうかを確認できます。
このアクションは非同期です。IDE でスクリプト タイムアウト値を適宜調整してください。
パラメータ
パラメータ名 | タイプ | デフォルト値 | 必須 | 説明 |
---|---|---|---|---|
Webhook トークンの UUID | 文字列 | なし | はい | ユーザーのレスポンスをモニタリングする Webhook トークンの UUID を指定します。 |
プレイブックのユースケースの例
Webhook を使用してメッセージへの返信を待つ。
実行
このアクションはエンティティに対しては実行されません。
アクションの結果
スクリプトの結果
スクリプトの結果名 | 値のオプション | 例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON の結果
{
"client_msg_id": "00000000-0000-0000-0000-000000000000",
"type": "message",
"text": "Yes",
"user": "U0000000",
"ts": "1578390603.001200",
"team": "T0000000",
"blocks": [
{
"type": "rich_text",
"block_id": "2Bb=",
"elements": [
{
"type": "rich_text_section",
"elements": [
{
"type": "text",
"text": "Example"
}
]
}
]
}
],
"thread_ts": "1578390492.001100",
"parent_user_id": "U0000000"
}
Case Wall
結果のタイプ | 値 / 説明 | 種類 |
---|---|---|
出力メッセージ * | アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。 返信を待っている間のイテレーションのケースウォール メッセージ: 「Webhook で送信したメッセージに対する返信を待っています。Webhook url with uuid: {0}".format(integration configuration の Webhook URL + ウェブトークンの UUID) レスポンスが正常に取得された場合(is_succeed=True):「Webhook に対するユーザーのレスポンスが正常に取得されました。レスポンス コンテンツ: {0}」.format(ユーザーから Webhook に送信されたペイロード) タイムアウトまでレスポンスを取得できなかった場合: 「Webhook に対するユーザーのレスポンスが見つからなかったため、タイムアウトによりアクションが停止しました。」 アクションが失敗し、ハンドブックの実行が停止します。 統合構成で Webhook ベースの URL が指定されておらず、Webhook UUID トークンが指定されている場合: 「アクションの実行に失敗しました。統合パラメータ「Webhook ベース URL」を指定してください。」」 認証情報の誤り、サーバーへの接続がないなどの致命的なエラーが報告された場合: 「「高度なメッセージを送信」アクションの実行に失敗しました。エラーは {0}」.format(exception.stacktrace) |
全般 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。