# Revolt

Revolt is a free and open-source chat platform offering secure and customizable communication.

- **Category:** communication
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 26
- **Triggers:** 0
- **Slug:** `REVOLT`
- **Version:** 20260312_00

## Tools

### Acknowledge Policy Changes

**Slug:** `REVOLT_ACKNOWLEDGE_POLICY_CHANGES`

Tool to acknowledge platform policy changes. Use when accepting or confirming policy updates for your bot account.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Reaction to Message

**Slug:** `REVOLT_ADD_CHANNELS_MESSAGES_REACTIONS`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `msg` | string | Yes | The ID of the message to react to |
| `emoji` | string | Yes | The emoji to use for the reaction. Can be a unicode emoji or custom emoji ID. Unicode emojis should be URL-encoded. |
| `target` | string | Yes | The ID of the channel containing the message |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Block User

**Slug:** `REVOLT_BLOCK_USER`

Tool to block another user by their ID. Use when you need to prevent interactions with a specific user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `target` | string | Yes | The ID of the user to block |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Sync Settings

**Slug:** `REVOLT_CREATE_SYNC_SETTINGS_SET`

Tool to upload and save settings data to Revolt's sync storage. Use when you need to persist user settings or preferences.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `settings` | object | Yes | Key-value pairs of settings to save. Keys and values must be strings. |
| `timestamp` | integer | No | Timestamp of settings change in milliseconds. Used to avoid feedback loops. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Message

**Slug:** `REVOLT_DELETE_MESSAGE`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | The ID of the channel containing the message to delete |
| `message_id` | string | Yes | The ID of the message to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Delete Messages

**Slug:** `REVOLT_DELETE_MESSAGES_BULK`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | The ID of the channel containing the messages to delete |
| `message_ids` | array | Yes | 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch Owned Bots

**Slug:** `REVOLT_FETCH_OWNED_BOTS`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch Sync Settings

**Slug:** `REVOLT_FETCH_SYNC_SETTINGS`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `keys` | array | Yes | List of setting keys to fetch from the server |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch user

**Slug:** `REVOLT_FETCH_USER`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The ID of the user to fetch |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch User Flags

**Slug:** `REVOLT_FETCH_USER_FLAGS`

Tool to fetch flags associated with a specific user. Use after obtaining the user ID to inspect their special statuses or roles.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the user whose flags will be fetched |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get API Info

**Slug:** `REVOLT_GET_API_INFO`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Channel

**Slug:** `REVOLT_GET_CHANNEL`

Tool to fetch a channel by its ID. Use when you need to retrieve detailed information about a specific channel.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `target` | string | Yes | The ID of the channel to fetch |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Current User

**Slug:** `REVOLT_GET_CURRENT_USER`

Tool to retrieve your own user information. Use when you need to fetch details about the authenticated user account.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Invite

**Slug:** `REVOLT_GET_INVITE`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `target` | string | Yes | The invite code to fetch (e.g., 'API', 'abc123') |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Sync Unreads

**Slug:** `REVOLT_GET_SYNC_UNREADS`

Tool to fetch information about unread state on channels. Use when you need to check which channels have unread messages or mentions.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User Profile

**Slug:** `REVOLT_GET_USER_PROFILE`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `target` | string | Yes | The ID of the user whose profile to fetch |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User's Default Avatar

**Slug:** `REVOLT_GET_USERS_DEFAULT_AVATAR`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `target` | string | Yes | The ID of the user whose default avatar will be fetched |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Open DM with User

**Slug:** `REVOLT_GET_USERS_DM`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `target` | string | Yes | 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User DMs

**Slug:** `REVOLT_GET_USERS_DMS`

Tool to fetch all direct message conversations for the authenticated user. Use when you need to list all DM and group DM channels.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Pin Message

**Slug:** `REVOLT_PIN_MESSAGE`

Tool to pin a message in a channel by its ID. Use when you need to highlight important messages for channel members.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `msg` | string | Yes | The ID of the message to pin |
| `target` | string | Yes | The ID of the channel containing the message |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Message Reaction

**Slug:** `REVOLT_REMOVE_MESSAGE_REACTION`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `msg` | string | Yes | The ID of the message to remove the reaction from |
| `emoji` | string | Yes | The emoji to remove from the message (can be unicode emoji or custom emoji ID) |
| `target` | string | Yes | The ID of the channel containing the message |
| `user_id` | string | No | Remove a specific user's reaction. Requires ManageMessages permission if removing others' reactions. If not specified, removes your own reaction. |
| `remove_all` | boolean | No | Remove all reactions of this emoji type from the message. Requires ManageMessages permission. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Send Channel Message

**Slug:** `REVOLT_SEND_CHANNELS_MESSAGES`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `flags` | integer | No | Bitfield of message flags (see https://docs.rs/revolt-models/latest/revolt_models/v0/enum.MessageFlags.html) |
| `nonce` | string | No | Deprecated: Unique token to prevent duplicate message sending. Use Idempotency-Key header instead |
| `embeds` | array | No | List of embeds to include in message. Text embed content contributes to the content length cap |
| `target` | string | Yes | ID of the channel to send the message to |
| `content` | string | No | Message content to send (max 2000 characters) |
| `replies` | array | No | List of messages to reply to |
| `masquerade` | object | No | Masquerade to apply to this message. |
| `attachments` | array | No | List of attachment file IDs to include in message |
| `interactions` | object | No | Information about how this message should be interacted with. |
| `idempotency_key` | string | No | Unique key to prevent duplicate requests. Sent as Idempotency-Key header |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Unblock User

**Slug:** `REVOLT_UNBLOCK_USER`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `target` | string | Yes | The ID of the user to unblock |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Unpin Message

**Slug:** `REVOLT_UNPIN_MESSAGE`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | The ID of the channel containing the message |
| `message_id` | string | Yes | The ID of the message to unpin |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Channel Message

**Slug:** `REVOLT_UPDATE_CHANNELS_MESSAGES`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `msg` | string | Yes | The ID of the message to edit |
| `embeds` | array | No | Embeds to include in the message. Maximum of 10 embeds allowed. |
| `target` | string | Yes | The ID of the channel containing the message |
| `content` | string | No | New message content to replace the existing message text |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update User

**Slug:** `REVOLT_UPDATE_USER`

Tool to update user information. Use when you need to modify user profile or status fields. Call after authenticating with bot token.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `clear` | array | No | List of profile fields to clear |
| `avatar` | string | No | Avatar file ID to set as new avatar |
| `user_id` | string | Yes | The ID of the user to update |
| `status_text` | string | No | New status text for the user |
| `profile_content` | string | No | Profile content asset ID or base64 data |
| `profile_background` | string | No | Profile background asset ID or base64 data |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
