Gmail
Important: WORKSPACE REQUIRED: The Gmail connector only supports read operations and is intended to retrieve emails from within an organization's Google Workspace (@mybusiness.com). Currently, there is no way to extract an individual user's emails due to an unknown issue with restricted API usage.
Authentication Connection
In order to retrieve emails you will need an account with the Super Admin Role, as only this role can supply the required permissions. Admin SDK Console. You will also need to create an app in the Google Cloud console.

Creating your Google Project
-
Navigate to Google Cloud Console and sign in with your Super Admin Workspace account.
-
Type in the name of your project such as "3Sixty". Then click Create
Enabling APIs
-
Go to the following link and click select for your project from the drop-down, then click Continue.
-
Next, click on libraries. Then select APIs.
-
In the next screen, search for Gmail and select
-
Then, click Enable.

-
Go to the APIs and Services Dashboard
-
Click Credentials
-
Click Create Credentials
-
Select Service Account
-
You will be asked you to assign roles to the account. Since we need wide-ranging access for now, we should choose Owner. This can be changed later.
-
The final screen invites other users to access this service account through their own service account portals. Use as needed for your organization.
-
Click DONE. You will be taken back to the service account list for the project.
SERVICE ACCOUNT CLIENTID
Make note of the clientId for your service account. You will need it in the next step. -
Click on the three dots under Actions, then click Manage Keys
-
Click ADD KEY then Create New Key, then select JSON
-
Click Create. A JSON file will be downloaded. Save it for later.

Domain wide delegation allows a single set of credentials to act as different users within the organization, thus giving us access to their individual inboxes.
-
Go to admin.google.com and log in as your Super Admin
-
On the sidebar, go to Security > Access and data control > API Controls
-
Scroll to the bottom of the page and click MANAGE DOMAIN-WIDE DELEGATION
-
Alternatively, you can just go here
-
-
Click Add New
-
Paste your client Id from the previous section into the text box.
-
Add the scope https://www.googleapis.com/auth/gmail.readonly, since we only wish to read and not write.
-
Click Authorise

-
Go to Connections > Authentication
-
Create a Google JWT Auth Connector
-
Paste the content of that json file into the text box.
-
Click Save.
Integration Connection
This is used to store and write content alongside its metadata to Google Drive.
-
Connection Name: This is a unique name given to the connector instance upon creation.
-
Description: A description of the connector to help identify it better.
-
Authentication Connection: Your Google JWT Auth Connection
Job Configuration
-
Email addresses of users: A tag input for users in the organisations you wish to crawl
-
Each user's emails will be stored in a folder with their username. So, admin@mycompany.com, will have a folder called admin.
-
-
Gmail Query: By default, 3Sixty performs the following query: in:inbox before:<startTime> after:<endTime>. Populating this field will completely override this query. Possible parameters can be found here
-
Only retrieve emails with these tags: Tags input for various labels in the user inboxes. Will filter on these labels even if Gmail Query is populated.
-
Format: There are three available formats:
-
EML: Base EML format. Attachments will be automatically integrated into the body of the document.
-
HTML: The body will be output in html format. Attachments, if included, will also be output under the user's folder.
-
Text: The plain text of each email will be the body of the document. Attachments, if included, will also be output under the user's folder.
-
-
Get Attachments: For Html and Text format. Attachments will be processed as individual documents with the type attachment.
-
Each attachment will have the metadata field attachment.messageId to associate it with its message.
-
-
Each thread will be given its own folder: Each email in Gmail has a thread id. This option simply prepends this thread id to emails so email threads will be grouped together on output
-
Include spam and trash: These folders are not searched by default. Checking this will add them to search results.
API Keys
Gmail Connector: Read=true: Write=false: MIP=false
Repo (Read) Specs
Key |
Description |
Data Type |
---|---|---|
emails | Email addresses of users | String |
mailQuery |
Gmail Query. This will completely override the default date range query. |
String |
tagFilter |
Only retrieve emails with these tags |
String |
messageFormat |
Select a format |
|
getAttachments |
Retrieve email attachments. Only works in HTML or Text mode. |
Boolean |
batchThreads |
Each email thread fill be given its own folder |
Boolean |
includeSpamTrash |
Includes trash and spam messages (to only retrieve one, use a query) |
Boolean |
Looking to integrate with Gmail? We can help.