# Gmail - Workflow node | Docs - nodulz

Source: https://nodulz.com/docs/nodes/gmail

Language: en

Search, read and send Gmail messages, manage labels and trash.

## Usage and specifics

Select a Gmail OAuth credential authorized for the operation. Use query and pagination to list messages; supply recipients and content to send. Check labels and permissions before modifying messages.

Technical type : `gmail`. Runtime : `nodulz`.

## Credentials and prerequisites

- [Gmail](/docs/credentials) (`integration` / `gmail`). Google OAuth access to your Gmail mailbox with automatic token renewal.

Create credentials in your nodulz instance’s Credentials area, then select them on the node. Availability depends on ownership and sharing. See the [credentials guide](/docs/credentials) for access and rotation.

## Parameters

Names below are technical keys. Defaults are not a ready-to-run configuration: complete fields required by your operation. Paths containing [] describe list items; some fields depend on the selected mode.

| Parameter | Type | Default | Values / limits |
| --- | --- | --- | --- |
| `credentialId` | `string` | `""` | - |
| `operation` | `enum` | `"list_messages"` | `list_messages`, `get_message`, `send_message`, `modify_labels`, `trash_message`, `untrash_message`, `list_labels` |
| `messageId` | `string` | `""` | - |
| `query` | `string` | `""` | - |
| `pageSize` | `number` | `100` | -; ≥ 1, ≤ 500 |
| `pageToken` | `string` | `""` | - |
| `to` | `string` | `""` | - |
| `cc` | `string` | `""` | - |
| `bcc` | `string` | `""` | - |
| `subject` | `string` | `""` | - |
| `body` | `string` | `""` | - |
| `bodyType` | `enum` | `"text"` | `text`, `html` |
| `addLabelIds` | `string` | `""` | - |
| `removeLabelIds` | `string` | `""` | - |

## Configuration help

| Setting | Purpose and guidance |
| --- | --- |
| `credentialId`<br>Gmail credential | Use a Gmail OAuth credential. No password or service account. Permissions must allow the selected action. |
| `operation`<br>Action | Trash is reversible. To archive or mark as read, remove INBOX or UNREAD respectively. |
| `bodyType`<br>Message format | Plain text or HTML. MIME and Base64 URL encoding is automatic. |
| `body`<br>Body | Message content or expression. Maximum 5 MiB for the encoded MIME message. |

## Initial configuration

Initial catalog configuration example, to adapt before running. Keep secrets in credentials.

```json
{
  "credentialId": "",
  "operation": "list_messages",
  "query": "",
  "pageSize": 100,
  "pageToken": "",
  "messageId": "",
  "to": "",
  "cc": "",
  "bcc": "",
  "subject": "",
  "body": "",
  "bodyType": "text",
  "addLabelIds": "",
  "removeLabelIds": ""
}
```

## Verification

Test with representative data. Check node output in the inspector and logs, then use editor mapping for downstream fields. A trigger test with a simulated payload does not validate external service delivery.

See also : [Expressions and data](/docs/expressions), [Executions](/docs/executions), [Node catalog](/docs/nodes).

## Explore further

- [Features - nodulz](https://nodulz.com/product/overview)
- [Node catalog - nodulz](https://nodulz.com/product/catalog)
- [MCP server - nodulz](https://nodulz.com/product/mcp)
- [Pricing - nodulz](https://nodulz.com/pricing)
- [Use cases and workflow automation - nodulz](https://nodulz.com/use-cases)
- [Choose what your workflows can do. - nodulz](https://nodulz.com/compare)
- [Documentation - nodulz](https://nodulz.com/docs)
