Gmail Connector for SSIS : Get list of messages for the current user

Integrate SSIS and Gmail
Integrate SSIS and Gmail

Learn how to get list of messages for the current user using the Gmail Connector for SSIS. This connector enables you to read and write Gmail data effortlessly. Send, manage, and sync messages, attachments, labels, and threads — almost no coding required. We'll walk you through the exact setup.

Let's dive in!

Video tutorial

Watch this quick video to see the integration in action. It walks you through the end-to-end setup, including:

  • Installing the SSIS PowerPack
  • Configuring a secure connection to Gmail
  • Working with Gmail data directly inside SSIS
  • Exploring advanced API Source features
While this video uses the OData Connector as an example, the core concepts and setup process are exactly the same for the Gmail Connector.

Once you are done watching, simply follow the step-by-step written guide below to configure your data source.

Prerequisites

Before we begin, make sure the following prerequisites are met:

  1. SSIS designer installed. Sometimes it is referred as BIDS or SSDT (download it from Microsoft).
  2. Basic knowledge of SSIS package development using Microsoft SQL Server Integration Services.
  3. SSIS PowerPack is installed (if you are new to SSIS PowerPack, then get started!).

Get list of messages for the current user in SSIS

  1. Open Visual Studio and click Create a new project.

  2. Select Integration Services Project. Enter a name and location for your project, then click OK.

  3. From the SSIS Toolbox, drag and drop a Data Flow Task onto the Control Flow surface, and double-click it:

    Drag Data Flow Task onto Control Flow to use SSIS PowerPack Data Flow components
  4. Make sure you are in the Data Flow Task designer:

    Make sure you are in Data Flow designer in SSIS package
  5. From the SSIS toolbox drag and API Source (Predefined Templates) on the data flow designer surface, and double click on it to edit it:

    SSIS API Source (Predefined Templates) - Drag and Drop
  6. Select New Connection to create a new connection:

    API Source - New Connection
  7. Use a preinstalled Gmail Connector from Popular Connector List or press Search Online radio button to download Gmail Connector. Once downloaded simply use it in the configuration:

    Gmail
    Gmail Connector Selection
  8. Select your authentication scenario below to expand connection configuration steps to:

    • Configure the authentication in Gmail.
    • Enter those details into the API Connection Manager configuration.
    Gmail authentication

    To make this work you will have to create a Google Cloud project. This project forms the basis for creating, enabling, and using all Google Cloud services, including managing APIs, enabling billing, adding and removing collaborators, and managing permissions.

    1. Go to the Google Cloud Console
    2. In the Google Cloud console, go to menu IAM & Admin, and then Create a Project.
    3. Enter the name of the new project into the Project Name field and select the appropriate organization, then click Create.
    4. The console navigates to the Dashboard page and your project is created within a few minutes.
    5. In the Google Cloud console, go to menu More products, Google Workspace, and then Product Library.
    6. Now we need to enable the Gmail API.
    7. Search for Gmail API. Select it and then click ENABLE.
    8. Select the Credentials tab on the left side of the screen.
    9. Select the + CREATE CREDENTIALS link to reveal a drop down menu.
    10. In the dropdown menu, select OAuth client ID.
    11. If presented, click the CONFIGURE CONSENT SCREEN button and then elect the appropriate User Type based on your business needs. Otherwise, continue to step 16.
    12. In the OAuth consent screen tab fill in your app's website and domain information, and then click SAVE AND CONTINUE.
    13. In the Scopes section of the app registration, click ADD OR REMOVE SCOPES and add the following scopes:
      • openid
      • https://mail.google.com/
      • https://www.googleapis.com/auth/userinfo.email
      • https://www.googleapis.com/auth/userinfo.profile
      • https://www.googleapis.com/auth/gmail.labels
      • https://www.googleapis.com/auth/gmail.send
      • https://www.googleapis.com/auth/gmail.modify
      • https://www.googleapis.com/auth/gmail.compose
      • https://www.googleapis.com/auth/gmail.readonly
    14. After the scopes have been added, click SAVE AND CONTINUE.
    15. Complete the wizard setting up scopes.
    16. Select the Credentials tab on the left side of the screen.
    17. Select the + CREATE CREDENTIALS link to reveal a drop down menu.
    18. In the dropdown menu, select OAuth client ID.
    19. In the Application type drop down, select Desktop application and then give your app client a name.
    20. Select the CREATE button.
    21. A popup window will appear that provides important information you should record for your records:
      • Client ID
      • Client secret
      And then click OK.
    22. Go to OAuth Consent Screen tab. Under Publishing Status click PUBLISH APP to ensure your refresh token doesnt expire often. If you planning to use App for Private use then do not have to worry about Verification Status after Publish.
    23. Back to Connection UI, Enter the client ID and client secret into the required parameters.
    API Connection Manager configuration

    Just perform these simple steps to finish authentication configuration:

    1. Set Authentication Type to User Account [OAuth]
    2. Optional step. Modify API Base URL if needed (in most cases default will work).
    3. Fill in all the required parameters and set optional parameters if needed.
    4. Press Generate Token button to generate the tokens.
    5. Finally, hit OK button:
    Gmail
    User Account [OAuth]
    https://gmail.googleapis.com/
    Required Parameters
    UseCustomApp Fill-in the parameter...
    Authorization URL Fill-in the parameter...
    Token URL Fill-in the parameter...
    Default API Version Fill-in the parameter...
    Default User Id Fill-in the parameter...
    Scope Fill-in the parameter...
    Optional Parameters
    Client Id
    Client Secret
    RetryMode RetryWhenStatusCodeMatch
    RetryStatusCodeList 429
    RetryCountMax 5
    RetryMultiplyWaitTime True
    Redirect URL (Only for Web App)
    ZappySys OAuth Connection
    Find full details in the Gmail Connector authentication reference.
  9. Select MyMessages table from the dropdown and hit Preview Data:

    API Source - Gmail
    Read and write Gmail data effortlessly. Send, manage, and sync messages, attachments, labels, and threads — almost no coding required.
    Gmail
    MyMessages
    There are no parameters to configure.
    SSIS API Source - Read from table or endpoint
  10. That's it! We are done! Just in a few clicks we configured the call to Gmail using Gmail Connector.

    You can load the source data into your desired destination using the Upsert Destination , which supports SQL Server, PostgreSQL, and Amazon Redshift. We also offer other destinations such as CSV , Excel , Azure Table , Salesforce , and more . You can check out our SSIS PowerPack Tasks and components for more options. (*loaded in Trash Destination)

    Execute Package - Reading data from Gmail and load into target

Conclusion

And there you have it — a complete guide on how to get list of messages for the current user in SSIS without writing complex code. All of this was powered by Gmail Connector, which handled the REST API pagination and authentication for us automatically.

Download the trial now or ping us via chat if you have any questions or are looking for a specific feature (you can also reach out to us by submitting a ticket):

More actions supported by Gmail Connector

Got another use case in mind? We've documented the exact setups for a variety of essential Gmail operations directly in SSIS, so you can skip the trial and error. Find your next step-by-step guide below:

More Gmail integrations

All
Data Integration
Database
BI & Reporting
Productivity
Programming Languages
Automation & Scripting
ODBC applications