> ## Documentation Index
> Fetch the complete documentation index at: https://docs.noclick.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Gmail

> Connect Gmail to your workflows: 29 operations across 7 categories.

The Gmail node adds Gmail operations to your workflows. Add it on the canvas or ask the AI builder for it by name, then pick an operation and fill in its fields.

Gmail also includes 1 trigger operation (marked in the tables below) that can start a workflow when something happens in Gmail.

<Note>
  You can wire the Gmail node into an AI agent as a tool provider: the agent calls the operations you allow. See [Agent tools](/agents/tools).
</Note>

## Credentials

Connect Gmail under **Credentials** in the node settings. See [Connecting credentials](/credentials/connecting) for the general flow.

Sign in with your Gmail account when prompted; no keys to copy.

NoClick requests the following permissions:

* `https://www.googleapis.com/auth/gmail.modify`
* `https://www.googleapis.com/auth/gmail.compose`
* `https://www.googleapis.com/auth/gmail.labels`
* `https://www.googleapis.com/auth/gmail.settings.basic`

## Operations

### Draft

| Operation              | ID                   | Description                | Trigger |
| ---------------------- | -------------------- | -------------------------- | ------- |
| **Create Email Draft** | `create_email_draft` | Create a draft email       |         |
| **Delete Email Draft** | `delete_email_draft` | Delete a draft             |         |
| **Fetch Email Draft**  | `fetch_email_draft`  | Get a specific draft by ID |         |
| **List Email Drafts**  | `list_email_drafts`  | List all draft emails      |         |
| **Send Email Draft**   | `send_email_draft`   | Send an existing draft     |         |
| **Update Email Draft** | `update_email_draft` | Update an existing draft   |         |

### Inbox

| Operation                   | ID                        | Description            | Trigger |
| --------------------------- | ------------------------- | ---------------------- | ------- |
| **Fetch Emails from Inbox** | `fetch_emails_from_inbox` | Read emails from inbox |         |

### Label

| Operation              | ID                   | Description                     | Trigger |
| ---------------------- | -------------------- | ------------------------------- | ------- |
| **Create Email Label** | `create_email_label` | Create a new label              |         |
| **Delete Email Label** | `delete_email_label` | Delete a label                  |         |
| **Fetch Email Label**  | `fetch_email_label`  | Get details of a specific label |         |
| **List Email Labels**  | `list_email_labels`  | List all labels in the mailbox  |         |
| **Update Email Label** | `update_email_label` | Update an existing label        |         |

### Message

| Operation                      | ID                           | Description                                           | Trigger |
| ------------------------------ | ---------------------------- | ----------------------------------------------------- | ------- |
| **Fetch Email Attachment**     | `fetch_email_attachment`     | Download a message attachment and extract its content |         |
| **Fetch Email Message**        | `fetch_email_message`        | Get a specific email by ID                            |         |
| **Forward Email Message**      | `forward_email_message`      | Forward an email                                      |         |
| **Move Message to Trash**      | `move_message_to_trash`      | Move a message to trash                               |         |
| **Permanently Delete Message** | `permanently_delete_message` | Permanently delete a message (cannot be undone)       |         |
| **Reply to Email Message**     | `reply_to_email_message`     | Reply to an email                                     |         |
| **Restore Message from Trash** | `restore_message_from_trash` | Remove a message from trash                           |         |
| **Send Email Message**         | `send_email_message`         | Send an email                                         |         |
| **Update Message Labels**      | `update_message_labels`      | Add or remove labels from a message                   |         |

### Profile

| Operation              | ID                   | Description                          | Trigger |
| ---------------------- | -------------------- | ------------------------------------ | ------- |
| **Fetch User Profile** | `fetch_user_profile` | Get the current user's Gmail profile |         |

### Thread

| Operation                     | ID                          | Description                                    | Trigger |
| ----------------------------- | --------------------------- | ---------------------------------------------- | ------- |
| **Fetch Email Thread**        | `fetch_email_thread`        | Get a specific email thread                    |         |
| **List Email Threads**        | `list_email_threads`        | List email threads                             |         |
| **Move Thread to Trash**      | `move_thread_to_trash`      | Move an entire thread to trash                 |         |
| **Permanently Delete Thread** | `permanently_delete_thread` | Permanently delete a thread (cannot be undone) |         |
| **Restore Thread from Trash** | `restore_thread_from_trash` | Restore a thread from trash                    |         |
| **Update Thread Labels**      | `update_thread_labels`      | Add or remove labels from a thread             |         |

### Other

| Operation               | ID                    | Description                    | Trigger |
| ----------------------- | --------------------- | ------------------------------ | ------- |
| **Poll for New Emails** | `poll_for_new_emails` | Trigger workflow on new emails | Yes     |
