Revolt is a free and open-source chat platform offering secure and customizable communication.
Revolt is a free and open-source chat platform offering secure and customizable communication. On Nagent, Revolt is exposed as a fully-configurable communication integration that any agent can call — 26 actions, and API key authentication. No code is required to wire Revolt into your workflow — connect it once via the External Integrations panel and reuse it across every agent you build.
Agent builders use Revolt to automate the kinds of tasks communication teams previously handled manually. Concrete examples — each one is a single agent step in Nagent — include:
Every action and trigger is paired with a structured input/output schema (visible in the sections below), so when you wire Revolt into Helix — our agentic agent builder — the editor knows exactly what each step expects and produces. Configure once, deploy anywhere across your Nagent agents.
Every operation an agent can call against Revolt, with input parameters and output schema. Drop these into any step of an agent built in Helix.
REVOLT_ACKNOWLEDGE_POLICY_CHANGESTool to acknowledge platform policy changes. Use when accepting or confirming policy updates for your bot account.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_ADD_CHANNELS_MESSAGES_REACTIONSTool to add a reaction to a message in a channel. Use when you want to react with an emoji to a specific message. Returns success on completion.
Input parameters
The ID of the message to react to
The emoji to use for the reaction. Can be a unicode emoji or custom emoji ID. Provide the raw emoji character (e.g., 👍) or custom emoji ID - encoding is handled automatically.
The ID of the channel containing the message
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_BLOCK_USERTool to block another user by their ID. Use when you need to prevent interactions with a specific user.
Input parameters
The ID of the user to block
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_CREATE_SYNC_SETTINGS_SETTool to upload and save settings data to Revolt's sync storage. Use when you need to persist user settings or preferences.
Input parameters
Key-value pairs of settings to save. Keys and values must be strings.
Timestamp of settings change in milliseconds. Used to avoid feedback loops.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_DELETE_MESSAGETool to delete a message you've sent or one you have permission to delete. Use when you need to remove a message from a channel.
Input parameters
The ID of the channel containing the message to delete
The ID of the message to delete
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_DELETE_MESSAGES_BULKTool to bulk delete multiple messages from a channel. Use when you need to delete multiple messages at once. Requires ManageMessages permission regardless of message ownership. Messages must have been sent within the past 1 week.
Input parameters
The ID of the channel containing the messages to delete
List of message IDs to delete. Messages must have been sent within the past 1 week. You must either own the messages or have ManageMessages permission.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_FETCH_OWNED_BOTSTool to fetch all bots that you have control over. Use when you need to retrieve information about bots owned by the authenticated user account.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_FETCH_SYNC_SETTINGSTool to fetch settings from server filtered by keys. Returns an object with the requested keys where each value is a tuple of (timestamp, value). Only settings that exist on the server will be included in the response.
Input parameters
List of setting keys to fetch from the server
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_FETCH_USERTool to fetch detailed information about a user. Use when you have a valid user ID and need full account details. Call after authenticating with bot token.
Input parameters
The ID of the user to fetch
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_FETCH_USER_FLAGSTool to fetch flags associated with a specific user. Use after obtaining the user ID to inspect their special statuses or roles.
Input parameters
The unique identifier of the user whose flags will be fetched
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_GET_API_INFOTool to fetch the server configuration for this Revolt instance. Use when you need to discover API version, feature availability, WebSocket endpoints, or service URLs.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_GET_CHANNELTool to fetch a channel by its ID. Use when you need to retrieve detailed information about a specific channel.
Input parameters
The ID of the channel to fetch
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_GET_CURRENT_USERTool to retrieve your own user information. Use when you need to fetch details about the authenticated user account.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_GET_INVITETool to fetch detailed information about an invite by its code. Use when you have a valid invite code and need to retrieve invite details including server info, channel info, and member count.
Input parameters
The invite code to fetch (e.g., 'API', 'abc123')
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_GET_SYNC_UNREADSTool to fetch information about unread state on channels. Use when you need to check which channels have unread messages or mentions.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_GET_USER_PROFILETool to retrieve a user's profile data including bio and background. Use when you need profile-specific information beyond basic user data. Will fail if you do not have permission to access the target user's profile.
Input parameters
The ID of the user whose profile to fetch
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_GET_USERS_DEFAULT_AVATARTool to fetch a user's default avatar image based on their ID. Use when you need to retrieve the default avatar picture for a specific user.
Input parameters
The ID of the user whose default avatar will be fetched
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_GET_USERS_DMTool to open a DM with another user. Use when you need to start or access a direct message conversation. If the target is oneself, returns a saved messages channel.
Input parameters
The ID of the user to open a DM with. If the target is the authenticated user themselves, a saved messages channel is returned.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_GET_USERS_DMSTool to fetch all direct message conversations for the authenticated user. Use when you need to list all DM and group DM channels.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_PIN_MESSAGETool to pin a message in a channel by its ID. Use when you need to highlight important messages for channel members.
Input parameters
The ID of the message to pin
The ID of the channel containing the message
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_REMOVE_MESSAGE_REACTIONTool to remove a reaction from a message. Use when you need to remove your own, someone else's, or all reactions of a given emoji from a message. Requires ManageMessages permission if removing others' reactions.
Input parameters
The ID of the message to remove the reaction from
The emoji to remove from the message (can be unicode emoji or custom emoji ID)
The ID of the channel containing the message
Remove a specific user's reaction. Requires ManageMessages permission if removing others' reactions. If not specified, removes your own reaction.
Remove all reactions of this emoji type from the message. Requires ManageMessages permission.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_SEND_CHANNELS_MESSAGESTool to send a message to a Revolt channel. Use when you need to post a text message, embed, or attachment to a specific channel. Call after authenticating with bot token.
Input parameters
Bitfield of message flags (see https://docs.rs/revolt-models/latest/revolt_models/v0/enum.MessageFlags.html)
Deprecated: Unique token to prevent duplicate message sending. Use Idempotency-Key header instead
List of embeds to include in message. Text embed content contributes to the content length cap
ID of the channel to send the message to
Message content to send (max 2000 characters)
List of messages to reply to
Masquerade to apply to this message.
List of attachment file IDs to include in message
Information about how this message should be interacted with.
Unique key to prevent duplicate requests. Sent as Idempotency-Key header
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_UNBLOCK_USERTool to unblock another user by their ID. Use when you need to remove a block on a specific user. The relationship status will change from 'Blocked' to 'None' after successful execution.
Input parameters
The ID of the user to unblock
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_UNPIN_MESSAGETool to unpin a message in a channel. Use when you need to remove a pinned message from the channel's pinned messages list.
Input parameters
The ID of the channel containing the message
The ID of the message to unpin
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_UPDATE_CHANNELS_MESSAGESTool to edit a message that you've previously sent in a channel. Use when you need to update the content or embeds of an existing message. At least one of content or embeds must be provided.
Input parameters
The ID of the message to edit
Embeds to include in the message. Maximum of 10 embeds allowed.
The ID of the channel containing the message
New message content to replace the existing message text
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
REVOLT_UPDATE_USERTool to update user information. Use when you need to modify user profile or status fields. Call after authenticating with bot token.
Input parameters
List of profile fields to clear
Avatar file ID to set as new avatar
The ID of the user to update
New status text for the user
Profile content asset ID or base64 data
Profile background asset ID or base64 data
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
No publicly available marketplace agent is found using this tool yet. There are 98 agents privately built on Nagent that already use Revolt.
Build on Nagent
Connect Revolt to any Nagent agent in minutes — no API key management, no boilerplate. Just configure and deploy.
The five questions agent builders ask before adopting a new integration.
Open the External Integrations panel inside Nagent (app.nagent.ai/externalIntegration), find Revolt, and click "Connect Now." You'll authenticate with an API key — Nagent handles credential storage and refresh automatically. Once connected, Revolt is available to any agent in your workspace.
No. Nagent provides no-code integration for every tool. Once Revolt is connected, you configure its 26 actions directly in the agent builder UI — no API calls, no boilerplate, no schema management.
Helix — Nagent's agentic agent builder — lets you drop Revolt steps into any workflow visually. Pick an action (e.g., one of those listed above), fill in the inputs (Helix knows the required vs. optional schema for each parameter), and connect it to upstream/downstream steps. Triggers run as the entry point of an agent, so when a Revolt event fires, the agent kicks off automatically.
Every Revolt action and trigger ships with a fully-typed schema — input parameters with name, type, required flag, and description, plus the output payload shape. The schemas are documented in the sections above. Helix uses these schemas to validate your configuration at build time and to type-check the data flowing between steps.
Yes. While Revolt ships with 26 pre-built communication actions, you can layer custom logic around them inside Helix — pre/post-processing steps, conditional branches, retries, or stitching Revolt together with other connected tools. For deeper customization, talk to our team about Nagent's Agentic AI Lab — forward-deployed engineers who build Revolt-based workflows tailored to your business.