com um clique
Send messages to Discord channels or DMs
npx skills add https://github.com/ferosai/feros --skill discordCopie e cole este comando no Claude Code para instalar a skill
Send messages to Discord channels or DMs
npx skills add https://github.com/ferosai/feros --skill discordCopie e cole este comando no Claude Code para instalar a skill
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 | discord |
| display_name | Discord |
| description | Send messages to Discord channels or DMs |
| auth_type | oauth2 |
| category | messaging |
When the user wants their voice agent to send notifications or alerts to a Discord channel. Common triggers:
Check connection via check_connection("discord").
If not connected: Use secret("discord") in tool scripts. The system
will automatically emit the correct action card based on the platform
configuration. Do NOT emit action cards manually.
Get channel ID: Discord requires a channel ID (not name). Options:
Recommended approach for simple notifications: Use a Discord Webhook URL instead of the bot token — it requires no OAuth and is simpler to set up.
{
"name": "discord.send_message",
"description": "Send a call notification to a Discord channel",
"params": [
{"name": "channel_id", "description": "Discord channel ID", "type": "string", "required": true},
{"name": "content", "description": "Message text", "type": "string", "required": true}
],
"script": "let key = secret('discord');\nlet resp = http_post_h('https://discord.com/api/v10/channels/' + channel_id + '/messages', {content: content}, {'Authorization': 'Bot ' + key, 'Content-Type': 'application/json'});\nif (resp.status >= 200 && resp.status < 300) { return 'Message sent.'; }\nthrow new Error(`Discord ${resp.status}: ${resp.body}`);",
"side_effect": true
}
secret("discord") for credentialsBot prefix, NOT Bearerthrow using resp.status/resp.body