Skip to main content

Gmail Destination

Nexla's bi-directional connectors allow data to flow both to and from any location, making it simple to create a FlexFlow data flow that sends data to a Gmail location.
gmail_api_v2.png

Gmail

Create a Gmail Destination

  1. Click the + icon on the Nexset that will be sent to the Gmail destination, and select the Send to Destination option from the menu.

  2. Select the Gmail connector from the list of available destination connectors. Then, select the credential that will be used to connect to the Gmail organization, and click Next; or, create a new Gmail credential for use in this flow.

  3. In Nexla, Gmail destinations can be created using pre-built endpoint templates, which expedite destination setup for common Gmail endpoints. Each template is designed specifically for the corresponding Gmail endpoint, making destination configuration easy and efficient.
    • To configure this destination using a template, follow the instructions in Configure Using a Template.

    Gmail destinations can also be configured manually, allowing you to send data to Gmail endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this destination manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Gmail endpoints. Each template is designed specifically for the corresponding Gmail endpoint, making destination setup easy and efficient.

  • To configure this destination using a template, select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

    Modify Message Labels

    Adds or removes labels from a specific message. Use this endpoint to organize messages by applying labels (such as STARRED or custom labels) or removing labels (such as UNREAD to mark messages as read).

    • In the User ID field, enter the Gmail user ID. The default value is me, which refers to the authenticated user's mailbox.
    • In the Message ID field, enter the unique identifier of the message whose labels should be modified. This field is required.
    • In the Labels to Add field, enter a JSON array of label IDs to apply to the message (e.g., ["STARRED"]). The default value is an empty array [].
    • In the Labels to Remove field, enter a JSON array of label IDs to remove from the message (e.g., ["UNREAD"]). The default value is an empty array [].

    Use the "List Labels" source endpoint to retrieve available label IDs for your mailbox. Common system label IDs include INBOX, UNREAD, STARRED, IMPORTANT, SPAM, and TRASH. For additional details, refer to the Gmail API messages.modify documentation.

    Create Draft

    Creates a new email draft in the user's mailbox. Use this endpoint when you need to prepare messages for review before sending, or to programmatically create drafts that can be sent later.

    • In the User ID field, enter the Gmail user ID. The default value is me, which refers to the authenticated user's mailbox.
    • In the Raw Message (Base64Url) field, enter the complete email message content encoded as a base64url string. The raw message must be a valid RFC 822 email, including headers such as To, From, Subject, and the message body. This field is required.

    The raw message must be base64url-encoded (not standard base64). Base64url encoding replaces + with - and / with _, and omits padding characters. For additional details on constructing RFC 822 messages, refer to the Gmail API drafts.create documentation.

    Send Message

    Sends an email message directly to the specified recipients. Use this endpoint when you need to send messages programmatically, such as automated notifications, reports, or transactional emails.

    • In the User ID field, enter the Gmail user ID. The default value is me, which refers to the authenticated user's mailbox.
    • In the Raw Message (Base64Url) field, enter the complete email message content encoded as a base64url string. The raw message must be a valid RFC 822 email, including headers such as To, From, Subject, and the message body. This field is required.

    Messages sent through this endpoint will appear in the user's Sent Mail. The raw message must be base64url-encoded and include all required RFC 822 headers. For additional details, refer to the Gmail API messages.send documentation.

    Send Draft

    Sends an existing draft to its intended recipients. Use this endpoint when drafts have been created (either manually or via the "Create Draft" endpoint) and are ready to be delivered.

    • In the User ID field, enter the Gmail user ID. The default value is me, which refers to the authenticated user's mailbox.
    • In the Draft ID field, enter the unique identifier of the draft to send. This field is required. Draft IDs can be obtained from the Gmail API drafts.list endpoint or from the response of a previous "Create Draft" call.

    Once a draft is sent, it is removed from the Drafts folder and the sent message appears in the Sent Mail folder. This action cannot be undone. For additional details, refer to the Gmail API drafts.send documentation.

    Delete Message

    Immediately and permanently deletes a specific message. Use this endpoint with caution, as deleted messages cannot be recovered.

    • In the User ID field, enter the Gmail user ID. The default value is me, which refers to the authenticated user's mailbox.
    • In the Message ID field, enter the unique identifier of the message to permanently delete. This field is required.

    ⚠ Danger: This operation is irreversible. The message is permanently deleted and cannot be recovered from Trash. To move a message to Trash instead (which allows recovery), use the "Modify Message Labels" endpoint and add the TRASH label.

    For additional details, refer to the Gmail API messages.delete documentation.

Configure Manually

Gmail destinations can be manually configured to send data to any valid Gmail API endpoint.

Using manual configuration, you can also configure Nexla to automatically send the response received from the Gmail API after each call to a new Nexla webhook data source.

API Method

  1. To manually configure this destination, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the Gmail API from the Method pulldown menu.

Data Format

  1. Select the format in which the Nexset data will be sent to the Gmail API from the Content Format pulldown menu. Nexla will automatically convert the data to the selected format for each API call.

API Endpoint URL

  1. Enter the URL of the Gmail API endpoint to which you want to send the Nexset data in the URL field. Gmail API endpoints follow the base URL pattern https://gmail.googleapis.com/gmail/v1/users/{userId}/{resource}. For update/upsert operations, include the ID of the object to be updated at the end of the URL.

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this destination, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2).

    You do not need to include any headers already present in the credentials.

Exclude Attributes from the Call

Optional
  • If any record attributes in the Nexset should be omitted when sending data to this Gmail destination, select the attributes from the Exclude Attributes pulldown menu.

  • Any number of attributes can be selected for exclusion, and all excluded attributes will be shown in the field. To remove an attribute from the list, click the X icon next to the attribute name.

Record Batching

Optional
  1. If records should be sent to this destination in batched API calls, check the box next to Would you like to batch your records together? to enable record batching.

  2. Enter the maximum number of records that should be batched together in a single API call in the Batch Size field. By default, this value is set to 100.

  3. Select the algorithm that will be used to group records into batches from the Grouping Algorithm pulldown menu. The sample request shown in the panel on the right will be updated to reflect the current batching settings. Some algorithms require additional settings—click on an algorithm listed below to view instructions for configuring these settings.

    Property Inside JSON Object

    1. Enter the name of the JSON property that should contain the batched records in the Property Name field.
    2. If any additional properties should be included in the request, enter the properties in the Other Props field in JSON format.

    Code

    1. Enter the code that will be used to create the batched request in the code editor below the Grouping Algorithm field.

Response Webhook

Optional

Nexla can automatically send the response received from the Gmail API after each call to a new Nexla webhook data source. This option allows you to keep track of the status of each API call and any additional information returned after each call.

  • To enable this option, check the box next to Would you like to process the API response as a Nexla Webhook source?.

Sample Request Payload

Sample request payloads containing a portion of the Nexset data that will be sent to the Gmail API endpoint based on the current settings are shown in the Sample Payload panel on the right. These samples can be referenced to ensure that the destination and request settings are correctly configured.

  • Click on a sample request payload to expand it and view the complete payload content.
  • Sample payloads are automatically updated with each setting change, making it easy to verify that changes achieve the desired effect.

Endpoint Testing (Manual Configuration)

After all endpoint settings have been configured, Nexla can send a test payload to the Gmail API to ensure that the destination is configured correctly.

  1. To send a test payload, select the Test button at the top of the Sample Payload panel, and click on a listed sample payload to expand it.

  2. If any modifications to the sample payload are needed, make the necessary changes directly within the sample window.

  3. Click the Send Test Data button at the top of a sample payload to send the test payload to the Gmail API using the current settings.

Save & Activate the Destination

  • Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Gmail destination, open the destination resource menu, and select Activate.

    The Nexset data will not be sent to Gmail until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.