Slack
통합 버전: 23.0
Google Security Operations와 호환되도록 Slack 구성
Google SecOps와 함께 작동하도록 Slack을 구성하려면 먼저 새 앱을 만들어야 합니다.
https://api.slack.com/으로 이동하여 빌드 시작을 클릭합니다.
App Name 및 Development Slack Workspace 매개변수를 입력합니다. 앱 만들기를 클릭합니다.
OAuth 및 권한 탭으로 이동하여 범위 섹션까지 아래로 스크롤합니다.
다음 범위/권한을 추가합니다. 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
'양방향 메시지 보내기', '웹훅으로 답장 대기'와 같은 작업에 앱 상호작용을 허용하려면 앱의 요청 URL을 추가하세요. 자세한 내용은 Slack 문서 내에서 제공되는 Slack 앱에서 사용자 상호작용 처리 문서를 참고하세요.
위로 스크롤하여 Install App to Workspace(작업공간에 앱 설치)를 클릭합니다.
허용을 클릭합니다.
봇을 사용할지 사용자를 사용할지에 따라 생성된 토큰 중 하나를 복사합니다.
이러한 토큰 중 하나와의 통합을 구성합니다.
네트워크
함수 | 기본 포트 | 방향 | 프로토콜 |
---|---|---|---|
API | Multivalues | 아웃바운드 | apitoken |
Google SecOps에서 Slack 통합 구성
Google SecOps에서 통합을 구성하는 방법에 대한 자세한 내용은 통합 구성을 참고하세요.
통합 매개변수
다음 매개변수를 사용하여 통합을 구성합니다.
매개변수 표시 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
인스턴스 이름 | 문자열 | 해당 사항 없음 | No | 통합을 구성할 인스턴스의 이름입니다. |
설명 | 문자열 | 해당 사항 없음 | No | 인스턴스에 대한 설명입니다. |
API 토큰 | 문자열 | 해당 사항 없음 | 예 | Slack 콘솔에서 생성된 API 토큰입니다. |
SSL 확인 | 체크박스 | 선택 해제 | 아니요 | Slack 연결에 SSL 확인이 필요한 경우 이 체크박스를 사용합니다 (기본적으로 선택되지 않음). |
원격 실행 | 체크박스 | 선택 해제 | No | 구성된 통합을 원격으로 실행하려면 필드를 선택합니다. 선택하면 원격 사용자(에이전트)를 선택하는 옵션이 나타납니다. |
작업
질문하기
설명
Slack에서 질문하기
매개변수
파라미터 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
채널 | 문자열 | 해당 사항 없음 | 예 | 타겟 채널 |
질문 | 문자열 | 해당 사항 없음 | 예 | 질문 콘텐츠입니다. |
실행
이 작업은 모든 항목에서 실행됩니다.
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 | 예 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON 결과
N/A
빌드 블록
설명
제공된 입력 기준에 따라 슬랙 메시지 블록을 빌드합니다. 이 작업은 나중에 '대화형 메시지 보내기' 작업에 전달하여 메시지를 보낼 수 있는 웹훅이 포함된 블록을 만듭니다.
매개변수
파라미터 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
질문 | 문자열 | 해당 사항 없음 | 예 | 블록에 추가할 질문 텍스트를 지정합니다. |
답변 버튼 | 문자열 | 해당 사항 없음 | 예 | 블록에 추가할 답변 버튼을 지정합니다. |
Siemplify 기본 URL | 문자열 | 해당 사항 없음 | 예 | 차단에 추가할 Google SecOps 서버 기본 URL을 지정합니다. |
케이스 ID | 문자열 | 해당 사항 없음 | 예 | 차단에 추가할 Google SecOps 케이스 ID를 지정합니다. |
웹훅 토큰 UUID | 문자열 | 해당 사항 없음 | 예 | 사용자의 응답을 모니터링할 웹훅 토큰 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 블록이 생성되었습니다.' 일반적인 오류로 인해 Slack 블록을 만들 수 없는 경우 (is_succeed=False): '발생한 오류로 인해 블록을 만들 수 없습니다: {0}'.format(error text) 작업이 실패하고 플레이북 실행을 중지합니다. 통합 구성에 웹훅 기반 URL이 지정되지 않은 경우: '작업을 실행하지 못했습니다. '웹훅 기본 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): '채널 {0}이(가) 생성되었습니다.'.format(name) 'ok'== true이고 'Private' 작업 매개변수가 true이고 사용자 ID 매개변수가 비어 있는 경우(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) 두 번째 요청에서 '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) from the response) 작업이 실패하고 플레이북 실행을 중지합니다. 치명적인 오류 (잘못된 사용자 인증 정보, 연결 오류, 작업 비정상 종료)가 보고되는 경우: ''채널 만들기' 작업을 실행하는 중에 오류가 발생했습니다. 이유: {0}'.format(error.Stacktrace) |
일반 |
채널 또는 사용자 대화 기록 가져오기
설명
제공된 입력 기준에 따라 사용자 또는 채널의 대화 기록을 가져옵니다. 이 작업은 채널 또는 사용자 ID와 함께 작동하며, '채널 목록' 또는 '사용자 목록' 작업을 사용하여 검색할 수 있습니다.
매개변수
파라미터 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
채널 또는 사용자 ID | 문자열 | 해당 사항 없음 | 예 | 대화 기록을 가져올 채널 또는 사용자 ID를 지정합니다. |
기간 | DDL | 지난 1시간 가능한 값은 다음과 같습니다.
|
No | 결과 기간을 지정합니다. '커스텀'을 선택한 경우 '시작 시간' 매개변수도 제공해야 합니다. |
시작 시간 | 문자열 | 해당 사항 없음 | No | 결과 시작 시간을 지정합니다. '기간' 매개변수에 '커스텀'을 선택한 경우 이 매개변수는 필수 항목입니다. 형식: ISO 8601. 예: 2021-08-05T05:18:42Z |
종료 시간 | 문자열 | 해당 사항 없음 | No | 결과 종료 시간을 지정합니다. 아무것도 제공하지 않고 '기간' 매개변수에 '커스텀'을 선택하면 이 매개변수는 현재 시간을 사용합니다. 형식: 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): '제공된 ID {0}의 대화를 찾을 수 없습니다.'.format(channel_or_user_id) 제공된 ID의 대화가 발견되었지만 제공된 기간의 메시지가 발견되지 않은 경우 (is_succeed=False): 'ID가 {0}인 대화가 발견되었지만 제공된 기간의 메시지가 발견되지 않았습니다.'.format(channel_or_user_id) 작업이 실패하고 플레이북 실행을 중지합니다. 잘못된 사용자 인증 정보, 서버 연결 없음과 같은 치명적인 오류가 보고되는 경우: ''고급 메시지 보내기' 작업을 실행하지 못했습니다. 오류: {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): '제공된 기준에 따라 사용자 세부정보를 찾을 수 없습니다. 검색 기준: <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) |
일반 |
케이스 월 테이블 | 표 이름: 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): '채널을 나열하지 못했습니다. 이유: {0}'.format(응답의 오류 매개변수 값) |
일반 |
사용자 목록
설명
이 작업은 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): '채널 {0}의 이름이 {1} {0}으로 변경되었습니다.'.format(name/ID, new name) '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 을 참고하세요.
이 작업은 '웹훅으로 답장 대기' 작업과 함께 사용하여 먼저 웹훅으로 차단 메시지를 사용자에게 전송한 후 나중에 '웹훅으로 답장 대기' 작업으로 사용자의 응답을 확인할 수 있습니다.
매개변수
파라미터 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
메시지 유형 | 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): '메일이 전송되었습니다.' 지정된 수신자를 찾을 수 없어 메시지가 전송되지 않은 경우(is_succeed=False): '지정된 수신자 {0}(유형 {1})을 찾을 수 없어 메시지가 전송되지 않았습니다.' (수신자, 수신자 유형) 일반적인 오류로 인해 메시지가 전송되지 않은 경우(is_succeed=False): '오류가 발생하여 메시지가 전송되지 않았습니다: {0}'(오류 텍스트) 작업이 실패하고 플레이북 실행을 중지합니다. 잘못된 사용자 인증 정보, 서버 연결 없음과 같은 치명적인 오류가 보고되는 경우: ''고급 메시지 보내기' 작업을 실행하지 못했습니다. 오류: {0}".format(exception.stacktrace) |
일반 |
대화형 메시지 보내기
설명
채널 또는 사용자에게 대화형 메시지를 보내고 제공된 웹훅 UUID를 기반으로 사용자의 응답을 확인합니다. 이 작업은 '고급 메시지 보내기' 작업과 유사하지만 블록 콘텐츠 (일반 텍스트 메시지 아님)만 보낼 수 있으며 웹훅에 대한 사용자의 응답을 확인하려면 웹훅 UUID가 필요합니다.
작업이 비동기식이므로 IDE에서 작업 시간 제한을 적절하게 조정합니다.
통합에 사용되는 Slack 앱이 대화형 메시지를 허용하도록 구성합니다. Slack 앱 구성에 대한 자세한 내용은 대화형 메시지를 위한 애플리케이션 준비를 참고하세요.
매개변수
파라미터 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
수신자 유형 | DDL | 이름 가능한 값은 다음과 같습니다.
| 예 | 메시지를 보낼 채널 또는 사용자 이름 (전체 이름)을 지정합니다. 선택적으로 채널 또는 사용자 ID 또는 사용자 이메일 주소를 지정합니다. |
받는 사람 | 문자열 | 해당 사항 없음 | 예 | 메시지를 보낼 수신자를 지정합니다. |
메시지 | 문자열 | 해당 사항 없음 | 예 | 전송할 메시지의 콘텐츠를 지정합니다. |
웹훅 토큰 UUID | 문자열 | 해당 사항 없음 | 예 | 사용자의 응답을 모니터링할 웹훅 토큰 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): '메일이 전송되었습니다.' 지정된 수신자를 찾을 수 없어 메시지가 전송되지 않은 경우(is_succeed=False): '지정된 수신자 {0}(유형 {1})을 찾을 수 없어 메시지가 전송되지 않았습니다.' (수신자, 수신자 유형) 일반적인 오류로 인해 메시지가 전송되지 않은 경우(is_succeed=False): '오류가 발생하여 메시지가 전송되지 않았습니다: {0}'(오류 텍스트) 비동기 기능의 케이스 월 메시지: 답장을 기다리는 동안의 케이스 월 메시지: '웹훅으로 전송된 메시지에 대한 응답을 기다리는 중입니다. 통합 구성의 웹훅 URL + 웹 토큰 UUID' 응답을 성공적으로 가져온 경우 (is_succeed=True): '웹훅에 대한 사용자의 응답을 성공적으로 가져왔습니다. 응답 콘텐츠: {0}'.format(사용자가 웹훅에 보낸 페이로드) 제한 시간까지 응답을 가져오지 못한 경우: '웹훅에 대한 사용자 응답을 찾을 수 없어 제한 시간으로 인해 작업이 중지되었습니다.' 작업이 실패하고 플레이북 실행을 중지합니다. 통합 구성에 웹훅 기반 URL이 지정되지 않고 웹훅 UUID 토큰이 지정된 경우: '작업을 실행하지 못했습니다. '웹훅 기본 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
웹훅으로 응답 대기
설명
사용자가 웹훅으로 전송된 메시지에 답장할 때까지 기다립니다. 이 작업은 사용자가 제공된 웹훅에 응답했는지 주기적으로 확인합니다. 웹훅이 포함된 차단 메시지가 전송된 경우 '고급 메시지 보내기' 작업과 함께 작업을 사용하여 사용자의 응답이 웹훅에 제공되었는지 확인할 수 있습니다.
이 작업은 비동기식이므로 IDE에서 스크립트 제한 시간 값을 적절하게 조정하세요.
매개변수
파라미터 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
웹훅 토큰 UUID | 문자열 | 해당 사항 없음 | 예 | 사용자의 응답을 모니터링할 웹훅 토큰 UUID를 지정합니다. |
플레이북 사용 사례 예시
웹훅으로 메시지에 대한 답장을 기다립니다.
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 | 예 |
---|---|---|
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"
}
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다. 답장을 기다리는 동안의 케이스 월 메시지: '웹훅으로 전송된 메시지에 대한 응답을 기다리는 중입니다. 통합 구성의 웹훅 URL + 웹 토큰 UUID' 응답을 성공적으로 가져온 경우 (is_succeed=True): '웹훅에 대한 사용자의 응답을 가져왔습니다. 응답 콘텐츠: {0}'.format(사용자가 웹훅에 보낸 페이로드) 제한 시간까지 응답을 가져오지 못한 경우: '웹훅에 대한 사용자 응답을 찾을 수 없어 제한 시간으로 인해 작업이 중지되었습니다.' 작업이 실패하고 플레이북 실행을 중지합니다. 통합 구성에 웹훅 기반 URL이 지정되지 않고 웹훅 UUID 토큰이 지정된 경우: '작업을 실행하지 못했습니다. '웹훅 기본 URL' 통합 매개변수를 지정하세요. " 잘못된 사용자 인증 정보, 서버 연결 없음과 같은 치명적인 오류가 보고되는 경우: ''고급 메시지 보내기' 작업을 실행하지 못했습니다. 오류: {0}".format(exception.stacktrace) |
일반 |
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.