Gmail
Connect Gmail to the rest of your business: accounts, files, mail and calendars kept in step.
22 ways to read, 7 ways to write, each write switched on by you.
Quality checks
Built and tested with example responses.
- Ready to connect: doneEvery listed action is built in.
- Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Connected, approved, proven.
The things teams do most with Gmail, an example flow with a person in the loop, and what Nexra keeps as proof.
Top actions
- Create draftApproval by rule
- Create labelApproval by rule
- List draftsRead
Example flow
- Gmail · List draftsDone
- Gmail · Create draftNeeds approval
- Nexra · Record the decision and result in the evidence chainProven
Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches Gmail.
What gets logged
- Whether it ran on its own or who approved it, and under which rule
- A fingerprint of the exact request sent to Gmail
- Gmail's reply: what it created or changed
- One entry in the evidence chain, linked to the one before
Try this in the sandbox
Run the whole flow with test data in your sandbox, then connect a Google test account before you go live.
For developers
Technical detail
Read Gmail messages, threads, attachments metadata, history, labels and settings; manage labels; insert messages and drafts for review. Nexra never sends email.
Google API docs- Source actions
- 22
- Destination actions
- 7
- Data types
- 17
What you can map
Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.
Auto forwarding1
- Get auto-forwarding settingSource
Whether incoming mail is automatically forwarded, to which address, and what happens to the original. Read-only.
Drafts4
- Create draftDestinationNot retried automaticallyApproval before production
Creates a draft (new message or reply in a thread) for a person to review and send. Nexra never sends it.
- Get draftSource
One draft with recipients, subject and body.
- List draftsSource
Drafts in the mailbox with their message and thread IDs.
- Update draftDestinationProvider duplicate protectionApproval before production
Replaces a draft's recipients, subject and body. The draft is not sent.
Filters2
- Get mail filterSource
One filter rule with its criteria and actions. Read-only.
- List mail filtersSource
The mailbox's filter rules (criteria and actions). Read-only.
Forwarding addresses2
- Get forwarding addressSource
One forwarding address and its verification status. Read-only.
- List forwarding addressesSource
Addresses the mailbox may forward to, with verification status. Read-only.
History1
- List mailbox changesSourceIncremental
Messages added or deleted and labels added or removed since a history ID, for incremental sync.
Imap settings1
- Get IMAP settingSource
Whether IMAP access is enabled and how deletions are handled. Read-only.
Labels4
- Create labelDestinationProvider duplicate protectionApproval before production
Creates a user label; nest labels with a slash, for example Clients/Acme.
- Get labelSource
One label with its message and thread counts.
- List labelsSource
System and user labels in the mailbox.
- Update labelDestinationProvider duplicate protectionApproval before production
Renames a user label or changes its visibility and colour.
Language settings1
- Get language settingSource
The mailbox display language. Read-only.
Message attachments1
- List message attachmentsSource
Attachment metadata for one message: file name, MIME type, size and attachment ID. File contents are not downloaded.
Message labels1
- Change message labelsDestinationProvider duplicate protectionApproval before production
Adds or removes labels on a message, for example to mark it read, star it or archive it.
Messages3
- Insert message into mailboxDestinationNot retried automaticallyApproval before production
Places a message directly in this mailbox, like IMAP APPEND, for example to archive mail from another system. It is never sent to anyone.
- Get messageSource
One message with headers, labels, decoded text and HTML bodies and attachment metadata.
- List messagesSourceIncremental
Message and thread IDs by label, received time, unread state, attachment or inbox category.
Pop settings1
- Get POP settingSource
POP access window and what happens to messages after POP download. Read-only.
Profile1
- Get mailbox profileSource
The authorised address, message and thread counts and current history ID.
Send as2
- Get send-as addressSource
One send-as address or alias with its signature and verification status.
- List send-as addressesSource
Addresses and aliases the mailbox can send as, with display names and signatures.
Thread labels1
- Change thread labelsDestinationProvider duplicate protectionApproval before production
Adds or removes labels on every message in a conversation.
Threads2
- Get threadSource
A conversation with every message's headers, labels and bodies.
- List threadsSourceIncremental
Conversation IDs and snippets by label, received time, unread state or category.
Vacation settings1
- Get vacation responderSource
The out-of-office auto-reply: whether it is on, its subject, body and date range. Read-only.
Access and limits
- Authentication
- Google OAuth client and refresh token
- Plans and access
- Personal Google accounts and all Google Workspace editions. Requires a customer-owned Google Cloud OAuth client. Gmail read and modify scopes are restricted: apps for external users need Google verification and a security assessment.
- Test environment
- Use a test Google account and an OAuth client in testing mode.
- Rate limits
- 6,000 quota units per user per minute and 1,200,000 per project per minute (messages.list 5 units, messages.get 20, threads.get 40); HTTP 429 or 403 rate-limit reasons with backoff.
- Pagination
- nextPageToken cursors.
- Provider events
- Gmail push notifications through Cloud Pub/Sub (users.watch). Flows run on demand, on a schedule, or when a scheduled check finds new or changed records.
Before you build a flow
- Sending is intentionally not implemented: messages.send and drafts.send are excluded, and drafts are left for a person to review and send. The gmail.compose scope technically allows sending, but Nexra never calls a send endpoint.
- Deleting, trashing and marking messages or threads as spam are not implemented; label changes refuse the TRASH and SPAM labels.
- Free-text Gmail search (sender, subject, words) is not exposed because Gmail takes the search in the URL query string; filters are limited to label, received time, unread, attachment and inbox category.
- Message list results contain only IDs; use messages.get or threads.get for headers and bodies. Bodies are truncated at 100,000 characters and attachments are returned as metadata only.
- messages.list incremental reads filter by received time; to detect label changes and deletions use history.list with the last historyId. Gmail returns HTTP 404 when the history ID is too old, which requires a full read.
- Draft creation has no idempotency key; uncertain creates are not repeated automatically. Draft updates replace the whole draft.
- Label names are unique per mailbox; creating an existing name is rejected (HTTP 409).
- Mail settings (filters, auto-forwarding, forwarding addresses, IMAP, POP, vacation responder, language, send-as) are read-only. Nexra never creates or changes filters or forwarding.
- Inserting a message (users.messages.insert) stores it in this mailbox only and does not send it; it needs the gmail.insert or gmail.modify scope. Inserts have no idempotency key, so uncertain inserts are not repeated automatically.
- Delegates are not exposed: Google documents users.settings.delegates as available only to service-account clients with domain-wide authority, which this OAuth connection does not use.
- Attachment contents are not downloaded; message_attachments.list returns metadata from the message's MIME parts.
Developer reference
- Create the Google credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose Gmail, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/gmail and the Connections API.