@robinpath/gmail
0.1.1Node.jsPublicGmail module for RobinPath.
Gmail
Gmail module for RobinPath.
Package: @robinpath/gmail | Category: Productivity | Type: Integration
Authentication
gmail.setCredentials "your-credentials"
Call this once at the start of your script before using any other function. Credentials persist for the duration of the script execution.
Use Cases
Use the gmail module when you need to:
- List/search messages -- Use
gmail.listMessagesto perform this operation - Get message details -- Use
gmail.getMessageto perform this operation - Send a plain text email -- Use
gmail.sendEmailto perform this operation - Move message to trash -- Use
gmail.trashMessageto perform this operation - Remove from trash -- Use
gmail.untrashMessageto perform this operation
Quick Reference
| Function | Description | Returns |
|---|---|---|
setCredentials | Configure Gmail OAuth2 credentials. | object |
listMessages | List/search messages | object |
getMessage | Get message details | object |
sendEmail | Send a plain text email | object |
trashMessage | Move message to trash | object |
untrashMessage | Remove from trash | object |
deleteMessage | Permanently delete message | object |
modifyLabels | Add/remove labels | object |
markAsRead | Mark as read | object |
markAsUnread | Mark as unread | object |
listLabels | List all labels | object |
createLabel | Create a label | object |
createDraft | Create a draft | object |
listDrafts | List drafts | object |
sendDraft | Send a draft | object |
deleteDraft | Delete a draft | object |
getProfile | Get user profile | object |
Functions
setCredentials
Configure Gmail OAuth2 credentials.
Module: gmail | Returns: object -- API response.
gmail.setCredentials
| Parameter | Type | Required | Description |
|---|---|---|---|
accessToken | string | Yes | OAuth2 access token |
listMessages
List/search messages
Module: gmail | Returns: object -- API response.
gmail.listMessages
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | No | Search query |
maxResults | number | No | Max results |
getMessage
Get message details
Module: gmail | Returns: object -- API response.
gmail.getMessage
| Parameter | Type | Required | Description |
|---|---|---|---|
messageId | string | Yes | Message ID |
sendEmail
Send a plain text email
Module: gmail | Returns: object -- API response.
gmail.sendEmail
| Parameter | Type | Required | Description |
|---|---|---|---|
to | string | Yes | Recipient |
subject | string | Yes | Subject |
body | string | Yes | Body |
trashMessage
Move message to trash
Module: gmail | Returns: object -- API response.
gmail.trashMessage
| Parameter | Type | Required | Description |
|---|---|---|---|
messageId | string | Yes | Message ID |
untrashMessage
Remove from trash
Module: gmail | Returns: object -- API response.
gmail.untrashMessage
| Parameter | Type | Required | Description |
|---|---|---|---|
messageId | string | Yes | Message ID |
deleteMessage
Permanently delete message
Module: gmail | Returns: object -- API response.
gmail.deleteMessage
| Parameter | Type | Required | Description |
|---|---|---|---|
messageId | string | Yes | Message ID |
modifyLabels
Add/remove labels
Module: gmail | Returns: object -- API response.
gmail.modifyLabels
| Parameter | Type | Required | Description |
|---|---|---|---|
messageId | string | Yes | Message ID |
addLabels | object | No | Labels to add |
removeLabels | object | No | Labels to remove |
markAsRead
Mark as read
Module: gmail | Returns: object -- API response.
gmail.markAsRead
| Parameter | Type | Required | Description |
|---|---|---|---|
messageId | string | Yes | Message ID |
markAsUnread
Mark as unread
Module: gmail | Returns: object -- API response.
gmail.markAsUnread
| Parameter | Type | Required | Description |
|---|---|---|---|
messageId | string | Yes | Message ID |
listLabels
List all labels
Module: gmail | Returns: object -- API response.
gmail.listLabels
| Parameter | Type | Required | Description |
|---|---|---|---|
| (none) | No | Call with no arguments |
createLabel
Create a label
Module: gmail | Returns: object -- API response.
gmail.createLabel
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Label name |
createDraft
Create a draft
Module: gmail | Returns: object -- API response.
gmail.createDraft
| Parameter | Type | Required | Description |
|---|---|---|---|
to | string | Yes | Recipient |
subject | string | Yes | Subject |
body | string | Yes | Body |
listDrafts
List drafts
Module: gmail | Returns: object -- API response.
gmail.listDrafts
| Parameter | Type | Required | Description |
|---|---|---|---|
maxResults | number | No | Max results |
sendDraft
Send a draft
Module: gmail | Returns: object -- API response.
gmail.sendDraft
| Parameter | Type | Required | Description |
|---|---|---|---|
draftId | string | Yes | Draft ID |
deleteDraft
Delete a draft
Module: gmail | Returns: object -- API response.
gmail.deleteDraft
| Parameter | Type | Required | Description |
|---|---|---|---|
draftId | string | Yes | Draft ID |
getProfile
Get user profile
Module: gmail | Returns: object -- API response.
gmail.getProfile
| Parameter | Type | Required | Description |
|---|---|---|---|
| (none) | No | Call with no arguments |
Error Handling
All functions throw on failure. Common errors:
| Error | Cause |
|---|---|
Gmail API error (${res.status}): ${t} | Check the error message for details |
gmail.setCredentials requires accessToken. | Check the error message for details |
getMessage requires messageId | Check the error message for details |
sendEmail requires to, subject, body | Check the error message for details |
trashMessage requires messageId | Check the error message for details |
untrashMessage requires messageId | Check the error message for details |
deleteMessage requires messageId | Check the error message for details |
modifyLabels requires messageId | Check the error message for details |
@desc "List messages and validate result"
do
set $result as gmail.listMessages
if $result != null
print "Success"
else
print "No result"
end
enddo
Recipes
1. List and iterate Messages
Retrieve all items and loop through them.
@desc "Setup authentication"
do
gmail.setCredentials $token
enddo
@desc "List messages and iterate results"
do
set $result as gmail.listMessages
each $item in $result
print $item
end
enddo
2. Create a new item with sendEmail
Create a new resource and capture the result.
@desc "Setup authentication"
do
gmail.setCredentials $token
enddo
@desc "Send email"
do
set $result as gmail.sendEmail
print "Created: " + $result
enddo
3. Create and update workflow
Create an item and then update it.
@desc "Setup authentication"
do
gmail.setCredentials $token
enddo
@desc "Send email and modify labels"
do
set $created as gmail.sendEmail
# Update the created item
gmail.modifyLabels
enddo
4. Check before creating
List existing items and only create if needed.
@desc "Setup authentication"
do
gmail.setCredentials $token
enddo
@desc "List messages and send email"
do
set $existing as gmail.listMessages
if $existing == null
gmail.sendEmail
print "Item created"
else
print "Item already exists"
end
enddo
5. Multi-step Gmail workflow
Chain multiple gmail operations together.
@desc "Setup authentication"
do
gmail.setCredentials $token
enddo
@desc "List messages, get message, and more"
do
set $r_listMessages as gmail.listMessages
set $r_getMessage as gmail.getMessage
set $r_sendEmail as gmail.sendEmail
print "All operations complete"
enddo
6. Safe listMessages with validation
Check results before proceeding.
@desc "Setup authentication"
do
gmail.setCredentials $token
enddo
@desc "List messages and validate result"
do
set $result as gmail.listMessages
if $result != null
print "Success: " + $result
else
print "Operation returned no data"
end
enddo
Related Modules
- google-sheets -- Google Sheets module for complementary functionality
- google-calendar -- Google Calendar module for complementary functionality
- google-contacts -- Google Contacts module for complementary functionality
- google-forms -- Google Forms module for complementary functionality
- outlook -- Outlook module for complementary functionality
Versions (1)
| Version | Tag | Published |
|---|---|---|
| 0.1.1 | latest | 1 months ago |
Related Modules
rightplace
JS@robinpathv0.1.3
RightPlace integration — 130 functions for projects, WordPress, WooCommerce, email, files, git, spreadsheets, stages, docs, automations via rightplace-cli
asana
JS@robinpathv0.1.2
Asana module for RobinPath.
google-sheets
JS@robinpathv0.1.1
Google Sheets module for RobinPath.
airtable
JS@robinpathv0.1.2
Airtable module for RobinPath.
$ robinpath add @robinpath/gmail
