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

# Gmail

> Start flows from incoming email, and read, send, reply to, forward, move, delete and label Gmail email

Use Gmail to start a flow when an email arrives, and to work with email from inside a flow. This flow labels every invoice from acme.com **Invoices** and forwards it to finance. Press **Run** to watch it.

Node
Output in this run

The trigger and every node need a Gmail connection. See [Connect Google Workspace](https://docs.noxus.ai/integrations/providers/google.md) to set one up.

## Triggers

The trigger checks the mailbox every minute. Only email that arrives after you turn the trigger on starts a flow: email already in the mailbox never does. Leave a filter empty to match every email; an email must match every filter you set. An email that later gets one of your chosen labels, or is moved into the Inbox, is checked again. An email starts a flow only once.

What it does

## Nodes

| Node | What it does |
| - | - |
| [Read Gmail Emails](#read-gmail-emails) | Reads emails with a label, with filters and search |
| [Get Gmail Email](#get-gmail-email) | Gets one email by its ID, whatever its label |
| [Send Gmail Email](#send-gmail-email) | Sends an email, or one email per recipient |
| [Reply to Gmail Email](#reply-to-gmail-email) | Replies to an email, in the same thread |
| [Forward Gmail Email](#forward-gmail-email) [From 1.11.0](https://docs.noxus.ai/core/changelog.md#1-11-0) | Forwards an email with its attachments |
| [Move Gmail Email to Label](#move-gmail-email-to-label) [From 1.11.0](https://docs.noxus.ai/core/changelog.md#1-11-0) | Archives a conversation or moves it under a label |
| [Delete Gmail Email](#delete-gmail-email) [From 1.11.0](https://docs.noxus.ai/core/changelog.md#1-11-0) | Moves an email to the bin |
| [Add Gmail Label](#add-gmail-label) [From 1.11.0](https://docs.noxus.ai/core/changelog.md#1-11-0) | Adds labels to an email |
| [Remove Gmail Label](#remove-gmail-label) [From 1.11.0](https://docs.noxus.ai/core/changelog.md#1-11-0) | Removes labels from an email |
| [List Gmail Labels](#list-gmail-labels) [From 1.11.0](https://docs.noxus.ai/core/changelog.md#1-11-0) | Lists the labels in your account |
| [Create Gmail Label](#create-gmail-label) [From 1.11.0](https://docs.noxus.ai/core/changelog.md#1-11-0) | Creates a label, nested if you like |

Every node that takes a message ID accepts the `message_id` of a Read or Get node, or the `gmail_message_id` or `internet_message_id` of the trigger.

What it does

## Working with several emails

Move Gmail Email to Label and Send Gmail Email take a whole list at once. When one of several emails fails, the run continues and shows a warning for that email. The run fails only when there was a single email. The other nodes run once per email in a bound list.

## Troubleshooting

> [accordion] An email did not start the trigger
>
> Open the trigger's events. Every skipped email is listed with a reason, such as `Sender doesn't match acme.com`, `Subject doesn't contain any of invoice`, `Email has none of the chosen labels` or `Email is in Spam`. Email that was in the mailbox before the trigger was turned on never starts a flow.

> [accordion] Gave up on an email that kept failing for 30 minutes
>
> The trigger retries an email that fails. After 30 minutes and five attempts it skips the email, notifies you, and lists it as skipped in the trigger's events.

> [accordion] Couldn't mark emails as read. Reconnect Gmail to grant the required permission.
>
> The trigger's **Mark as read** needs permission to change email. Reconnect Gmail and allow every permission. See [Connect Google Workspace](https://docs.noxus.ai/integrations/providers/google.md).

> [accordion] No email with message ID ... was found in this mailbox
>
> The email was deleted, or the ID comes from another mailbox. Check that the node uses the same connection as the node or trigger that read the ID.

> [accordion] This Gmail connection is not allowed to change labels
>
> Reconnect Gmail and grant the **Modify message labels** permission.

> [accordion] Gmail did not allow this email to be deleted
>
> Reconnect Gmail to grant permission to modify mail. If the connection already has it, a Gmail usage limit was reached: try again later.

> [accordion] Your Gmail connection is no longer valid
>
> Reconnect Gmail and run the flow again.

> [accordion] Gmail is limiting requests from this account
>
> Wait a minute and try again.

> [accordion] These Gmail labels don't exist: ...
>
> Check the spelling, or pick the labels from the list. Use **Create Gmail Label** first to create a label the flow needs.

> [accordion] Destination label '...' was not found
>
> Use a label name, a nested path such as `Clients/Invoices`, or a label ID.

> [accordion] '...' cannot be a destination label
>
> Sent, Draft, Unread and Chat cannot be destinations. Pick **Archive**, **Inbox** or one of your own labels.

> [accordion] The selected email label no longer exists
>
> The **Label** on Read Gmail Emails was deleted or renamed. Pick another label.

> [accordion] Email threading is not supported in broadcast mode
>
> **Thread ID** and **Message ID** on Send Gmail Email work only with **Send Mode** set to **Individual**.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.