skills/post-on-discord-channel/SKILL.md
Post On Discord Channel: Send messages to Discord channels via webhooks with markdown, embeds, file attachments, and mention controls. Use when an agent needs post on discord channel, update community when new products features drop, notify channel followers of upcoming events, notify users of support ticket requests, integrate with content publishing pipeline, send, webhook url, content through AgentPMT-hosted remote tool calls. Discovery terms: post on discord channel.
npx skillsauth add AgentPMT/agent-skills post-on-discord-channelInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Last updated: 2026-06-10.
If the current date is more than 7 days after the last updated date, reinstall this skill from skills.sh or ClawHub before relying on endpoints, schemas, setup steps, or examples.
The Discord Webhook Tool enables AI agents to send rich, formatted messages directly to Discord channels through webhook URLs. It supports text messages with full Discord markdown formatting, custom username and avatar overrides, and rich embeds with titles, descriptions, fields, colors, images, and timestamps. The tool can upload up to 10 files per message with base64 encoding and reference them within embeds using the attachment:// syntax for seamless image display. Advanced features include mention controls to manage user/role pings, text-to-speech capabilities, and support for multiple embeds (up to 10) in a single message for complex notifications. Perfect for automation workflows, monitoring systems, chatbot integrations, and notification pipelines requiring formatted Discord output.
Send messages, rich embeds, and file attachments to Discord channels via webhooks. Supports text messages with Discord markdown, up to 10 rich embeds per message, up to 10 file attachments, custom bot identity (username/avatar), text-to-speech, and mention controls.
Post a message to a Discord channel using a webhook URL. At least one of content, embeds, or files must be provided.
Required Fields:
action — Set to "send"webhook_url — Discord webhook URL in the format https://discord.com/api/webhooks/{webhook_id}/{webhook_token}Optional Fields:
content (string, max 2000 chars) — Message text. Supports Discord markdown formatting.username (string, max 80 chars) — Override the default webhook display name.avatar_url (string) — Override the default webhook avatar with a custom image URL.tts (boolean, default false) — Enable text-to-speech for the message.embeds (array, max 10) — Array of rich embed objects (see Embed Structure below).files (array, max 10) — Array of file attachment objects (see File Structure below).allowed_mentions (object) — Controls which mentions can ping users/roles (see Mention Controls below).Each embed object supports:
title (string, max 256 chars) — Embed title.description (string, max 4096 chars) — Embed body text. Supports Discord markdown.url (string) — URL the title links to.color (integer) — Color as decimal integer. Example: Blue = 39423, Red = 16711680, Green = 65280.author (object) — Author block with required name, optional url and icon_url.fields (array, max 25) — Field objects with required name and value (max 256/1024 chars), optional inline (boolean).thumbnail (object) — Thumbnail image (top-right corner) with required url.image (object) — Large image below content with required url.footer (object) — Footer with required text (max 2048 chars, no markdown), optional icon_url.timestamp (string) — ISO 8601 timestamp displayed in the footer, e.g. "2026-03-09T12:00:00Z".Each file object requires:
filename (string) — File name with extension, e.g. "report.pdf".content (string) — Base64-encoded file content.description (string, optional) — Description of the attachment.The allowed_mentions object controls pings:
parse (array) — Allowed mention types: "roles", "users", "everyone".roles (array) — Specific role IDs allowed to be mentioned.users (array) — Specific user IDs allowed to be mentioned.{
"action": "send",
"webhook_url": "https://discord.com/api/webhooks/123456789/abcdef",
"content": "Hello from the bot!"
}
{
"action": "send",
"webhook_url": "https://discord.com/api/webhooks/123456789/abcdef",
"content": "Status update: all systems operational.",
"username": "Status Bot",
"avatar_url": "https://example.com/bot-avatar.png"
}
{
"action": "send",
"webhook_url": "https://discord.com/api/webhooks/123456789/abcdef",
"embeds": [
{
"title": "Daily Sales Report",
"description": "Summary for March 9, 2026",
"color": 39423,
"fields": [
{ "name": "Total Revenue", "value": "$12,450", "inline": true },
{ "name": "Orders", "value": "87", "inline": true },
{ "name": "Top Product", "value": "Widget Pro", "inline": false }
],
"footer": { "text": "Generated automatically" },
"timestamp": "2026-03-09T17:00:00Z"
}
]
}
{
"action": "send",
"webhook_url": "https://discord.com/api/webhooks/123456789/abcdef",
"embeds": [
{
"title": "New Blog Post Published",
"url": "https://example.com/blog/new-post",
"description": "Check out our latest article on automation best practices.",
"color": 65280,
"author": {
"name": "Content Team",
"icon_url": "https://example.com/team-icon.png"
},
"image": { "url": "https://example.com/blog-banner.png" },
"thumbnail": { "url": "https://example.com/logo-small.png" }
}
]
}
{
"action": "send",
"webhook_url": "https://discord.com/api/webhooks/123456789/abcdef",
"content": "Here is the report you requested.",
"files": [
{
"filename": "report.csv",
"content": "bmFtZSxhZ2UKSm9obiwyNQpKYW5lLDMw",
"description": "Monthly sales data"
}
]
}
{
"action": "send",
"webhook_url": "https://discord.com/api/webhooks/123456789/abcdef",
"content": "Attention @everyone: server maintenance at 10 PM.",
"allowed_mentions": {
"parse": ["everyone"]
}
}
content, embeds, or files in every send request.webhook_url must match the Discord webhook URL pattern. You can create webhooks in Discord under Channel Settings > Integrations > Webhooks.tts (text-to-speech) option will cause the message to be read aloud to users in the channel.Post On Discord Channel on AgentPMT.send.No categories or industry tags are published for this tool.
Complete generated action schema: ./schema.md.
Supported action count: 1.
x402 availability: not enabled for this product.
send (action slug: send): Send a message to a Discord channel via webhook. Supports text content with Discord markdown, rich embeds, file attachments, custom bot identity, text-to-speech, and mention controls. At least one of content, embeds, or files must be provided. Price: 3 credits. Parameters: allowed_mentions, avatar_url, content, embeds, files, tts, username, webhook_url.Use the compact schema above for ordinary calls. Before a new production integration, or whenever parameters, enum values, nested objects, outputs, or examples are unclear, fetch live details first.
agentpmt-tool-search-and-execution with action: "get_schema", and tool_id: "post-on-discord-channel".agentpmt-tool-search-and-execution with action: "get_instructions" and tool_id: "post-on-discord-channel", or call this product with action: "get_instructions" when the product tool is already selected.MCP schema lookup through the main AgentPMT MCP server:
{
"method": "tools/call",
"params": {
"name": "AgentPMT-Tool-Search-and-Execution",
"arguments": {
"action": "get_schema",
"tool_id": "post-on-discord-channel"
}
}
}
For live examples, keep the same MCP tool and use these arguments:
{
"action": "get_instructions",
"tool_id": "post-on-discord-channel"
}
Authenticated AgentPMT REST schema lookup body:
{
"name": "agentpmt-tool-search-and-execution",
"parameters": {
"action": "get_schema",
"tool_id": "post-on-discord-channel"
}
}
Authenticated AgentPMT REST live examples body:
{
"name": "agentpmt-tool-search-and-execution",
"parameters": {
"action": "get_instructions",
"tool_id": "post-on-discord-channel"
}
}
Product slug: post-on-discord-channel
Marketplace page: https://www.agentpmt.com/marketplace/post-on-discord-channel
../agentpmt-account-mcp-rest-api-setup to connect the main MCP server or REST API for an Agent Group where this tool is enabled.../what-is-agentpmt for marketplace, Agent Group, workflow, MCP, REST, and payment concepts.If those setup skills are not installed beside this product skill, use the downloads below.
Core AgentPMT setup skills:
openclaw skills install what-is-agentpmtnpx skills add AgentPMT/agent-skills --skill what-is-agentpmtopenclaw skills install agentpmt-account-mcp-rest-api-setupnpx skills add AgentPMT/agent-skills --skill agentpmt-account-mcp-rest-api-setupskills.sh install script:
npx skills add AgentPMT/agent-skills --skill what-is-agentpmt
npx skills add AgentPMT/agent-skills --skill agentpmt-account-mcp-rest-api-setup
MCP call shape after the main AgentPMT MCP server is connected:
{
"method": "tools/call",
"params": {
"name": "Post-On-Discord-Channel",
"arguments": {
"action": "send",
"allowed_mentions": {
"parse": [
"roles"
],
"roles": [
"example role"
],
"users": [
"example user"
]
},
"avatar_url": "https://example.com",
"content": "Draft marketing copy to check for banned phrases.",
"embeds": [
{
"author": {
"icon_url": "https://example.com",
"name": "example name",
"url": "https://example.com"
},
"color": 1,
"description": "example description",
"fields": [
{
"inline": false,
"name": "example name",
"value": "example value"
}
],
"footer": {
"icon_url": "https://example.com",
"text": "example text"
},
"image": {
"url": "https://example.com"
},
"thumbnail": {
"url": "https://example.com"
},
"timestamp": "example timestamp"
}
],
"files": [
{
"content": "Draft marketing copy to check for banned phrases.",
"description": "example description",
"filename": "example filename"
}
],
"tts": false,
"username": "example username",
"webhook_url": "https://example.com"
}
}
}
Use the exact tool name returned by tools/list; the name above is the expected readable form.
Authenticated AgentPMT REST call body:
{
"name": "post-on-discord-channel",
"parameters": {
"action": "send",
"allowed_mentions": {
"parse": [
"roles"
],
"roles": [
"example role"
],
"users": [
"example user"
]
},
"avatar_url": "https://example.com",
"content": "Draft marketing copy to check for banned phrases.",
"embeds": [
{
"author": {
"icon_url": "https://example.com",
"name": "example name",
"url": "https://example.com"
},
"color": 1,
"description": "example description",
"fields": [
{
"inline": false,
"name": "example name",
"value": "example value"
}
],
"footer": {
"icon_url": "https://example.com",
"text": "example text"
},
"image": {
"url": "https://example.com"
},
"thumbnail": {
"url": "https://example.com"
},
"timestamp": "example timestamp"
}
],
"files": [
{
"content": "Draft marketing copy to check for banned phrases.",
"description": "example description",
"filename": "example filename"
}
],
"tts": false,
"username": "example username",
"webhook_url": "https://example.com"
}
}
Use the setup skill for the account connection details before making REST calls.
passed or success-style boolean, use it as the workflow gate.get_schema or get_instructions before retrying.send fails, preserve the request parameters and retry only after fixing schema, auth, or payment errors.what-is-agentpmt, page: https://clawhub.ai/agentpmt/what-is-agentpmt; skills.sh: npx skills add AgentPMT/agent-skills --skill what-is-agentpmt)agentpmt-account-mcp-rest-api-setup, page: https://clawhub.ai/agentpmt/agentpmt-account-mcp-rest-api-setup; skills.sh: npx skills add AgentPMT/agent-skills --skill agentpmt-account-mcp-rest-api-setup)tools
Plaud Transcripts Corrected With Your Own Terminology Glossary: Fixes the words your transcription keeps getting wrong, by giving the pipeline your vocabulary instead of hoping a bigger model guesses right. Every speech model mangles terms it has never seen: cell line and reagent names, drug and device names, case and matter numbers, part numbers, local spelling and number conventions, team and client names. Swapping to a different model does not fix this, because none of them have your terms e.
tools
Plaud Spoken Field Notes to a Structured Sheet: Turns a spoken site visit into a filled-in spreadsheet row, so measurements and specs never get typed up twice. Built for anyone who dictates structured details on the job rather than writing them down: window and flooring measurements, equipment specs, inspection findings, punch lists, service call notes. Say the details out loud in the same order each visit (client, room, width, drop, colour, notes) and the workflow reads each new Plaud recordin.
development
Plaud Recordings to Google Calendar Events: Puts the meetings you agree to out loud straight onto your Google Calendar, without Zapier in the middle. Plaud's own app has no Calendar integration, so this closes that gap directly: each new recording is scanned, the transcript pulled, and any genuine scheduling commitment spoken in it ("let's do Tuesday at 3", "I'll come back out Thursday morning") is extracted with the relative date resolved against the recording's own date and your timezone. Eac.
development
One Plaud Recording, Several Differently Formatted Summaries: Gets you past the one-template-per-recording ceiling. The Plaud app applies a single AutoFlow template to a recording, so if you want a short recap for yourself, a decisions-only version for the people who missed it, and a clean action list for your task manager, you are re-running or rewriting by hand. This workflow reads the transcript once and produces every format you have defined in a single pass: you list the output formats you.