Skip to main content
Discord actions send messages and read context — a channel’s recent history, or the server’s own channels, roles, and members — through a configured Discord integration.
All three actions need a discord integration. See Configuration Reference for setup details.

discord/sendmessage

Sends a message to a Discord channel, thread, or person.

Discord Bot

The Discord integration to act as. It carries the bot token and names the server.

Content

The message to send.

Channel ID

The channel to post to.

User ID

Send a direct message to this person instead of posting to a channel.

Thread ID

Send to an existing thread.

Create Thread

Start a new thread for this message.

Thread Name

The name for the new thread. Required when create_thread is true.

Reply To

The id of a message to reply to.

Mentions

Who this message is allowed to notify. Allowed values: none, reply, users, roles, everyone
The default of none means text like @here in the content renders but notifies nobody. Widen it only as far as you need.

Split

Post text longer than Discord’s 2000-character limit as several messages instead of failing.

Output

{{ .step_id }} is an object:

Example

Reply in a channel:
Send a direct message:

discord/readmessages

Reads a channel’s recent history as a transcript an agent can read.

Discord Bot

The Discord integration to act as. It carries the bot token and names the server.

Channel ID

The channel to read.

Limit

How many messages to read, from 1 to 100.

Before / After / Around

Read relative to a message id: what came before it, what came after it, or what surrounds it.

Output

{{ .step_id }} is an object:

Example

Pass transcript straight into an agent’s userPrompt — it is already formatted for a model to read.

discord/readguild

Reads the integration’s Discord server: its details, channels, roles, or members.

Discord Bot

The Discord integration to act as. It carries the bot token and names the server.

Resource

What to read about the server. Allowed values: guild, channels, roles, member, member_search, members

User ID

The member to look up. Required for the member resource.

Query

The start of a username or nickname. Required for member_search.

Limit

How many members to return: 1 to 1000 for member_search, 1 to 5000 for members.

Output

Every resource returns a summary string — the result rendered as text a prompt can read — alongside structured fields. What else is present depends on resource:

Example

Look up who sent a message:
List the server’s channels:

Next Steps

AI Agents

Give an agent Discord actions as tools.

GitHub

Read and comment on pull requests.

Communication

Send email instead.

Actions Overview

Learn the fundamentals of ServFlow actions.