Communication Tools
Communication tools enable agents to send messages, manage conversations, and interact with popular communication platforms.send_email
Send email via SMTP.Recipient email address
Email subject line
Email body (HTML or plain text)
Sender email address (optional if configured)
CC recipients (comma-separated)
BCC recipients (comma-separated)
Example
Configuration
Environment Variables
Gmail
gmail_list_messages
List Gmail messages using search queries.Gmail search query
Maximum messages to return (1-500)
Token for fetching next page
Account alias for multi-account support
Common Gmail Queries
| Query | Description |
|---|---|
is:unread | Unread messages |
from:[email protected] | From specific sender |
subject:report | Subject contains “report” |
has:attachment | Has attachments |
newer_than:7d | Last 7 days |
label:INBOX | In inbox |
is:starred | Starred messages |
gmail_get_message
Get detailed message information.Gmail message ID
“metadata”, “full”, or “minimal”
Account alias
Example
gmail_modify_message
Modify labels on a message (star, mark read, etc.).Gmail message ID
Labels to add
Labels to remove
Common Label IDs
STARRED- Star a messageUNREAD- Mark as unread (remove to mark read)IMPORTANT- Mark as importantSPAM- Mark as spamTRASH- Move to trashINBOX- Add to inboxSENT- Sent messagesDRAFT- Draft messages
gmail_trash_message
Move message to trash.gmail_create_draft
Create a draft email.gmail_batch_modify_messages
Modify labels on multiple messages at once.Slack
slack_send_message
Send a message to a Slack channel.Channel ID or name (e.g., ‘C0123456789’ or ‘#general’)
Message text (supports Slack markdown)
Thread timestamp to reply in a thread
Account alias for multi-workspace support
Example
slack_list_channels
List channels in the workspace.slack_get_channel_history
Get recent messages from a channel.slack_add_reaction
Add emoji reaction to a message.slack_create_channel
Create a new channel.slack_schedule_message
Schedule a message for future delivery.Configuration
Environment Variables
- Create app at api.slack.com/apps
- Add OAuth scopes (channels:read, chat:write, etc.)
- Install to workspace
- Copy Bot/User OAuth tokens
Discord
discord_send_message
Send a message to a Discord channel.Discord channel ID
Message content (max 2000 characters)
Enable text-to-speech
Example
discord_get_messages
Get recent messages from a channel.Discord channel ID
Number of messages (1-100)
Get messages before this message ID
Get messages after this message ID
discord_list_channels
List channels in a Discord server.discord_list_guilds
List Discord servers the bot is in.Configuration
Environment Variables
- Create app at discord.com/developers/applications
- Go to Bot section
- Copy token
- Invite bot to server with appropriate permissions
Telegram
telegram_send_message
Send a message via Telegram Bot API.telegram_send_document
Send a document file.Configuration
Best Practices
Rate Limit Handling
Rate Limit Handling
All communication platforms have rate limits:
- Gmail: 100 emails/day (free), quota varies
- Slack: Tier-based limits, use batch operations
- Discord: 5 requests/second per channel
Message Formatting
Message Formatting
Each platform has different markdown support:
- Slack: mrkdwn syntax
- Discord: Standard markdown
- Gmail: HTML or plain text
- Telegram: Markdown or HTML
Batch Operations
Batch Operations
Use batch operations when available:
Error Recovery
Error Recovery
Always handle network and auth errors:
Next Steps
Productivity Tools
Calendars and CRM systems
Cloud APIs
Google services and GitHub