원클릭으로
slack
Send messages or notifications to Slack channels
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Send messages or notifications to Slack channels
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Read or update contacts, opportunities, notes, and conversations in GoHighLevel
Save or retrieve records from Airtable bases
Send emails, SMS, or manage contacts via Brevo (formerly Sendinblue)
Manage bookings, availability, and event types in Cal.com
Check availability, create scheduling links, or list upcoming events in Calendly
Create or update tasks and lists in ClickUp
| name | slack |
| display_name | Slack |
| description | Send messages or notifications to Slack channels |
| auth_type | oauth2 |
| category | messaging |
When the user wants their voice agent to send notifications, alerts, or summaries to a Slack channel during or after a phone call. Common triggers:
Check connection via check_connection("slack").
If not connected: Use secret("slack") in tool scripts. The system
will automatically emit the correct action card based on the platform
configuration. Do NOT emit action cards manually.
Discover channels (Slack supports auto-discovery):
api_call("slack", "GET", "/conversations.list?types=public_channel,private_channel&limit=100") → list channels with IDsUse the real channel ID in the tool config.
If discovery fails, ask the user for the channel name and help them find the ID (right-click channel → View channel details → scroll to bottom).
{
"name": "slack.post_message",
"description": "Send a call summary notification to the Slack sales channel",
"params": [
{"name": "channel", "description": "Slack channel ID", "type": "string", "required": true},
{"name": "text", "description": "Message text summarizing the call", "type": "string", "required": true}
],
"script": "let key = secret('slack');\nlet resp = http_post_h('https://slack.com/api/chat.postMessage', {channel: channel, text: text}, {'Authorization': 'Bearer ' + key, 'Content-Type': 'application/json'});\nif (resp.status < 200 || resp.status >= 300) { throw new Error(`Slack ${resp.status}: ${resp.body}`); }\nlet data = JSON.parse(resp.body);\nif (!data.ok) { throw new Error(`Slack API error: ${data.error || 'unknown_error'}`); }\nreturn 'Message sent.';",
"side_effect": true
}
secret("slack") for credentialsapi_call to discover channel IDs instead of askingthrow using resp.status/resp.body; for APIs like Slack that may return HTTP 200 on business errors, parse the response body and throw when ok is false