Gmail
Send, search, and manage Gmail messages through the Gmail API in Axellero workflows.
Gmail Node
Send, search, and manage Gmail messages through OAuth2-authenticated Gmail API access in Axellero workflows.
Available Operations
- Send: Send individual emails and bulk broadcasts with optional attachments
- Search: Find messages using Gmail search syntax and filters
- Retrieve: Get detailed message content and metadata
- Manage: Organize messages with labels and read status management
- Delete: Remove messages from Gmail
Connection Configuration
| Parameter | Type | Required | Description |
|---|---|---|---|
accessToken | TEXT | Yes | OAuth2 access token for Gmail API with required scopes |
{
"accessToken": "{{ctx.consts.GMAIL_ACCESS_TOKEN}}"
}Operations
sendEmail
Send an email with optional CC/BCC recipients and HTML formatting.
| Parameter | Type | Required | Description |
|---|---|---|---|
to | TEXT | Yes | Recipient email address (comma-separated for multiple) |
subject | TEXT | Yes | Email subject line |
body | TEXT | Yes | Email body content (HTML or plain text) |
cc | TEXT | No | CC recipients (comma-separated) |
bcc | TEXT | No | BCC recipients (comma-separated) |
isHtml | BOOLEAN | No | Whether body content is HTML (default: false) |
{
"to": "recipient@example.com,another@example.com",
"subject": "Project Update",
"body": "<h2>Status Report</h2><p>Project is on track for delivery.</p>",
"cc": "manager@company.com",
"isHtml": true
}listMessages
List emails with optional filters and search criteria.
| Parameter | Type | Required | Description |
|---|---|---|---|
maxResults | INT | No | Maximum number of messages to return (default: 10) |
q | TEXT | No | Gmail search query (e.g., 'is:unread', 'from:example@email.com') |
labelIds | TEXT | No | Comma-separated label IDs to filter by |
includeSpamTrash | BOOLEAN | No | Include spam and trash messages (default: false) |
{
"maxResults": 20,
"q": "is:unread from:notifications@example.com",
"labelIds": "INBOX,IMPORTANT",
"includeSpamTrash": false
}getMessage
Get detailed content of a specific email message.
| Parameter | Type | Required | Description |
|---|---|---|---|
messageId | TEXT | Yes | Message ID to retrieve |
format | TEXT | No | Format of the message (full, minimal, metadata, raw) |
{
"messageId": "{{ctx.vars.messageId}}",
"format": "full"
}searchMessages
Search emails with advanced query parameters and Gmail search syntax.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | TEXT | Yes | Gmail search query (supports Gmail search syntax) |
maxResults | INT | No | Maximum number of results (default: 10) |
includeSpamTrash | BOOLEAN | No | Include spam and trash in results (default: false) |
{
"query": "has:attachment from:client@company.com newer_than:7d",
"maxResults": 50,
"includeSpamTrash": false
}sendBroadcast
Send bulk emails to multiple recipients with batch processing.
| Parameter | Type | Required | Description |
|---|---|---|---|
recipients | TEXT | Yes | JSON array of recipient objects with email and optional name |
subject | TEXT | Yes | Email subject line |
body | TEXT | Yes | Email body content (HTML or plain text) |
isHtml | BOOLEAN | No | Whether body content is HTML (default: false) |
batchSize | INT | No | Number of emails to send per batch (default: 10) |
{
"recipients": "[{\"email\":\"user1@example.com\",\"name\":\"User One\"},{\"email\":\"user2@example.com\",\"name\":\"User Two\"}]",
"subject": "Monthly Newsletter",
"body": "Your newsletter content here",
"isHtml": false,
"batchSize": 5
}markAsRead
Mark one or more messages as read or unread.
| Parameter | Type | Required | Description |
|---|---|---|---|
messageIds | TEXT | Yes | Comma-separated message IDs |
read | BOOLEAN | No | Mark as read (true) or unread (false), default: true |
{
"messageIds": "{{ctx.vars.messageId1}},{{ctx.vars.messageId2}}",
"read": true
}deleteMessage
Delete one or more messages permanently from Gmail.
| Parameter | Type | Required | Description |
|---|---|---|---|
messageIds | TEXT | Yes | Comma-separated message IDs to delete |
{
"messageIds": "{{ctx.vars.messageId1}},{{ctx.vars.messageId2}}"
}addLabel
Add labels to one or more messages for organization.
| Parameter | Type | Required | Description |
|---|---|---|---|
messageIds | TEXT | Yes | Comma-separated message IDs |
labelIds | TEXT | Yes | Comma-separated label IDs to add |
{
"messageIds": "{{ctx.vars.messageId}}",
"labelIds": "IMPORTANT,CATEGORY_PERSONAL"
}removeLabel
Remove labels from one or more messages.
| Parameter | Type | Required | Description |
|---|---|---|---|
messageIds | TEXT | Yes | Comma-separated message IDs |
labelIds | TEXT | Yes | Comma-separated label IDs to remove |
{
"messageIds": "{{ctx.vars.messageId}}",
"labelIds": "SPAM,CATEGORY_PROMOTIONS"
}Workflow Integration
Use workflow context to construct dynamic email content:
{
"to": "{{ctx.user.email}}",
"subject": "Order Confirmation #{{ctx.vars.orderNumber}}",
"body": "Hello {{ctx.user.name}}, your order for {{ctx.vars.productName}} has been confirmed.",
"isHtml": false
}Response Format
Success Response
{
"success": true,
"messageId": "gmail_msg_12345",
"threadId": "thread_67890"
}Error Response
{
"success": false,
"error": "Failed to send email: Invalid recipient"
}Use Cases
- Automated notifications: Send order confirmations and status updates
- Email management: Organize and process incoming emails automatically
- Bulk communications: Send newsletters and marketing campaigns
- Customer support: Monitor and respond to support inquiries