Slack
整合版本:23.0
設定 Slack 以與 Google Security Operations 搭配使用
如要設定 Slack 與 Google SecOps 搭配使用,首先需要建立新應用程式:
前往 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)」等動作,請為應用程式新增要求網址。詳情請參閱 Slack 說明文件中的「在 Slack 應用程式中處理使用者互動」一文。
向上捲動並點選「將應用程式安裝至 Workspace」。
按一下「Allow」。
視要使用機器人或使用者而定,複製其中一個建立的權杖。
使用其中一個權杖設定整合。
網路
函式 | 預設通訊埠 | 方向 | 通訊協定 |
---|---|---|---|
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 基準網址 | 字串 | 不適用 | 是 | 指定要新增至封鎖的 Google SecOps 伺服器基準網址。 |
案件 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\": \"...\"}]}]"
}
案件總覽
結果類型 | 值 / 說明 | 類型 |
---|---|---|
輸出訊息* | 動作不應失敗,也不應停止執行應對手冊: 如果建構區塊建立成功 (is_succeed=True):「Slack block was created successfully.」(已成功建立 Slack 區塊)。 如果因一般錯誤而無法建立 Slack 區塊 (is_succeed=False):「Failed to create a block because of the occurred error: {0}」(因發生錯誤而無法建立區塊:{0})。format(錯誤文字) 動作應會失敗並停止執行應對手冊: 如果整合設定中未指定以 Webhook 為基礎的網址:「無法執行動作,請指定『Webhook 基本網址』整合參數。」 如果系統回報嚴重錯誤,例如憑證錯誤、無法連線至伺服器或其他錯誤:「Failed to execute "Send Advanced Message" action! Error is {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): 「已成功建立管道 {0}」。format(name) 如果「ok」== true 且「Private」動作參數為 true,且「User IDs」參數為空白 (is_success=true):「Successfully created private channel {0}」。format(name) 如果「ok」== true,且「Private」動作參數為 false,且使用者 ID 可用 (is_success=true):「Successfully created channel {0} and added {1} users」。format(name, user_ids) 如果「ok」== true、「Private」動作參數為 true,且使用者 ID 可用 (is_success=true): 「Successfully created private channel {0} and added {1} users」。format(name, user_ids) 如果「ok」== false。在第一個要求中 (is_success=false): 「無法建立頻道 {0}。原因:{1}".format(name, value of error parameter from response) 如果第二次要求中的「ok」== false (is_success=false): 「已建立頻道『{0}』,但未邀請使用者。原因:「.format(name, value of error parameter from response) 如果「ok」== false 且 error ==「user_not_found」(is_success=false): 「無法將使用者新增至頻道 {0}。Reason: {1} of the specified User IDs does not exist in Slack".format(name, len(errors) from the response) 動作應會失敗並停止執行應對手冊: 如果 系統回報嚴重錯誤 (憑證錯誤、連線錯誤、動作當機):「執行動作『建立頻道』時發生錯誤。原因:{0}''.format(error.Stacktrace) |
一般 |
取得頻道或使用者對話記錄
說明
根據提供的輸入條件,取得使用者或頻道的對話記錄。這項動作可搭配頻道或使用者 ID 運作,而這些 ID 可透過「列出頻道」或「列出使用者」動作搜尋。
參數
參數名稱 | 類型 | 預設值 | 為必填項目 | 說明 |
---|---|---|---|---|
頻道或使用者 ID | 字串 | 不適用 | 是 | 指定要擷取對話記錄的頻道或使用者 ID。 |
時間範圍 | DDL | 過去 1 小時 可能的值:
|
否 | 指定結果的時間範圍。 如果選取「自訂」,您也需要提供「開始時間」參數。 |
開始時間 | 字串 | 不適用 | 否 | 指定結果的開始時間。 如果為「時間範圍」參數選取「自訂」,則必須提供這個參數。 格式:ISO 8601。 範例:2021-08-05T05:18:42Z |
結束時間 | 字串 | 不適用 | 否 | 指定結果的結束時間。 如果未提供任何值,且「時間範圍」參數選取「自訂」,則這個參數會使用目前時間。 格式:ISO 8601。 例如:2021-08-05T05:18:42Z。 |
要傳回的記錄數量上限 | 整數 | 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"
}
]
}
]
}
]
}
]
案件總覽
結果類型 | 值 / 說明 | 類型 |
---|---|---|
輸出訊息* | 動作不應失敗,也不應停止執行應對手冊: 如果成功找到對話記錄 (is_succeed=True):「已成功擷取對話記錄。」 如果找不到具有所提供 ID 的對話 (is_succeed=False):「Failed to find conversation for provided id {0}」(找不到具有所提供 ID {0} 的對話)。format(channel_or_user_id) 如果系統找到具有指定 ID 的對話,但未在指定時間範圍內找到任何訊息 (is_succeed=False):「Conversation with id {0} was found, but no messages were found for the provided time frame.」。format(channel_or_user_id) 動作應會失敗並停止執行應對手冊: 如果系統回報嚴重錯誤,例如憑證錯誤、無法連線至伺服器或其他錯誤:「Failed to execute "Send Advanced Message" action! Error is {0}".format(exception.stacktrace) 如果為「要傳回的最多記錄數」參數提供無效值:「執行動作『{動作名稱}』時發生錯誤。原因:為「要傳回的記錄數上限」提供的值無效:。請提供正數。 如果為「時間範圍」參數選取「自訂」,但未指定「開始時間」參數:「執行動作『{動作名稱}』時發生錯誤。原因:「未提供自訂時間範圍的開始時間。」 |
一般 |
取得使用者詳細資料
說明
根據提供的輸入條件取得 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"
}
案件總覽
結果類型 | 值 / 說明 | 類型 |
---|---|---|
輸出訊息\* | 動作不應失敗,也不應停止執行應對手冊: 如果成功找到使用者詳細資料 (is_succeed=True):「已成功擷取使用者詳細資料。」 如果系統根據提供的條件找不到使用者詳細資料 (is_succeed=False):「Failed to find user details based on the provided criteria: Search by: <0> User value: <1>」。format(search_by, user_value) 如果系統依名稱找到使用者詳細資料,且找到多個相符項目 (is_succeed=True):「For the provided search criteria multiple matches were found: Search by: <0> User value: <1>」。format(search_by, user_value) 如果因發生一般錯誤而找不到使用者 (is_succeed=False):「Failed to fetch user details because of occurred error: (0}」(錯誤文字) 動作應會失敗並停止執行應對手冊: 如果系統回報嚴重錯誤,例如憑證錯誤、無法連線至伺服器或其他錯誤:「Failed to execute "Send Advanced Message" action! Error is {0}".format(exception.stacktrace) |
一般 |
案件總覽表格 | 表格名稱:Slack 使用者詳細資料 資料表資料欄:
|
一般 |
依 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):「Failed to list channels. 原因:{0}".format(value of error parameter from response) |
一般 |
列出使用者
說明
這項動作的作用是取得 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
}
]
乒乓
說明
測試連線。
參數
不適用
執行時間
這項操作會對所有實體執行。
動作執行結果
指令碼執行結果
指令碼結果名稱 | 值選項 | 範例 |
---|---|---|
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):「Successfully renamed channel {0} to {1} {0}」。format(name/ID, new name) 如果「ok」== false (is_success=false):「Action wasn't able to rename channel {0}. 原因:{1}".format(name,error from the response) 如果系統找不到頻道名稱 (is_success=false):「動作無法重新命名頻道 {0}。Reason: Channel was not found".format(name) 動作應會失敗並停止執行應對手冊: 如果系統回報嚴重錯誤 (憑證錯誤、連線錯誤、動作當機):「執行動作『重新命名頻道』時發生錯誤。原因:{0}''.format(error.Stacktrace) 如果未指定「頻道名稱」和「頻道 ID」參數:「執行『重新命名頻道』動作時發生錯誤。原因:你必須指定「頻道名稱」或「頻道 ID」。 |
一般 |
傳送進階訊息
說明
傳送進階訊息給 Slack 頻道或使用者。這項動作可傳送簡單的文字訊息,以及含有按鈕、進階格式等內容的豐富 Slack 區塊訊息。如要進一步瞭解區塊訊息,請參閱 Slack Block Kit 。
這項動作可與「Wait for Reply With Webhook」動作搭配使用,先透過 Webhook 將訊息區塊傳送給使用者,之後再透過「Wait for Reply With Webhook」動作檢查使用者的回覆。
參數
參數名稱 | 類型 | 預設值 | 為必填項目 | 說明 |
---|---|---|---|---|
訊息類型 | DDL | 文字 可能的值:
|
是 | 指定要傳送的訊息類型。 |
收件者類型 | DDL | 名稱 可能的值:
|
是 | 指定要傳送訊息的頻道或使用者名稱 (全名)。 視需要指定頻道或使用者 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
}
}
]
案件總覽
結果類型 | 值 / 說明 | 類型 |
---|---|---|
輸出訊息* | 動作不應失敗,也不應停止執行應對手冊: 如果訊息傳送成功 (is_succeed=True):「Message was sent successfully」(訊息已傳送成功) 如果找不到指定的收件者,導致郵件傳送失敗 (is_succeed=False):「Message was not sent as the specified recipient {0} with type {1} was not found.」(找不到類型為 {1} 的指定收件者 {0},因此郵件未傳送)。(收件者、收件者類型) 如果因一般錯誤導致訊息傳送失敗 (is_succeed=False):「Message was not sent because of occurred error: (0}" (error text) 動作應會失敗並停止執行應對手冊: 如果系統回報嚴重錯誤,例如憑證錯誤、無法連線至伺服器或其他錯誤:「Failed to execute "Send Advanced Message" action! Error is {0}".format(exception.stacktrace) |
一般 |
傳送互動式訊息
說明
將互動式訊息傳送至頻道或使用者,並根據提供的 Webhook UUID 檢查使用者的回覆。這項動作與「傳送進階訊息」動作類似,但只允許傳送區塊內容 (而非純文字訊息),且需要 Webhook UUID 來檢查使用者對 Webhook 的回應。
這項動作是非同步,請在 IDE 中相應調整動作逾時。
設定整合功能使用的 Slack 應用程式,允許互動式訊息。 如要進一步瞭解 Slack 應用程式設定,請參閱「準備應用程式以接收互動式訊息」。
參數
參數名稱 | 類型 | 預設值 | 為必填項目 | 說明 |
---|---|---|---|---|
收件者類型 | DDL | 名稱 可能的值:
| 是 | 指定要傳送訊息的頻道或使用者名稱 (全名)。 視需要指定頻道或使用者 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": []
}
]
案件總覽
結果類型 | 值 / 說明 | 類型 |
---|---|---|
輸出訊息* | 動作不應失敗,也不應停止執行應對手冊: 如果訊息傳送成功 (is_succeed=True):「Message was sent successfully」(訊息已傳送成功) 如果找不到指定的收件者,導致郵件傳送失敗 (is_succeed=False):「Message was not sent as the specified recipient {0} with type {1} was not found.」(找不到類型為 {1} 的指定收件者 {0},因此郵件未傳送)。(收件者、收件者類型) 如果因一般錯誤導致訊息傳送失敗 (is_succeed=False):「Message was not sent because of occurred error: (0}" (error text) 非同步功能的 Case Wall 訊息: 等待回覆期間的案件牆訊息:「正在等待透過 Webhook 傳送的訊息回覆。Webhook url with uuid: {0}".format(webhook url from integration configuration + web token uuid) 如果成功擷取回應 (is_succeed=True):「Successfully fetched the user's response to a webhook! 回應內容:{0}".format(payload that was sent from user to a webhook) 如果直到逾時都無法擷取回應:「找不到 Webhook 的使用者回應,且動作因逾時而停止。」 動作應會失敗並停止執行應對手冊: 如果整合設定中未指定以 Webhook 為基礎的網址,但指定了 Webhook UUID 權杖:「無法執行動作,請指定『Webhook Base URL』整合參數。」 如果系統回報嚴重錯誤,例如憑證錯誤、無法連線至伺服器或其他錯誤:「Failed to execute "Send Interactive Message" action! Error is {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
Wait For Reply With 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"
}
案件總覽
結果類型 | 值 / 說明 | 類型 |
---|---|---|
輸出訊息* | 動作不應失敗,也不應停止執行應對手冊: 等待回覆期間的案件牆訊息:「正在等待透過 Webhook 傳送的訊息回覆。Webhook url with uuid: {0}".format(webhook url from integration configuration + web token uuid) 如果成功擷取回應 (is_succeed=True):「Successfully fetched the user's response to a webhook! 回應內容:{0}".format(payload that was sent from user to a webhook) 如果直到逾時都無法擷取回應:「找不到 Webhook 的使用者回應,且動作因逾時而停止。」 動作應會失敗並停止執行應對手冊: 如果整合設定中未指定以 Webhook 為基礎的網址,但指定了 Webhook UUID 符記:「無法執行動作,請指定『Webhook Base URL』整合參數。」 如果系統回報嚴重錯誤,例如憑證錯誤、無法連線至伺服器或其他錯誤:「Failed to execute "Send Advanced Message" action! Error is {0}".format(exception.stacktrace) |
一般 |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。