Before you create your application with Google there are a few things to keep in mind.
Hosted or Native Authentication
Decide which method of authentication works for you.
Hosted Authentication
The fastest way to get started. If you aren't interested in whitelisting your application, or just want to test with a few users, use Hosted Authentication.
Review our Hosted Authentication Guide.
Native Authentication
Use this method if you want to whitelist your application. This means your users will see your company name instead of Nylas on the OAuth screen. Native Authentication requires that you have an application built with a callback URL.
Review our Native Authentication Guide.
Switching Authorization
Switching between Native and Hosted Auth will require a new application and for accounts to be reauthorized.
Internal or External Application
Decide if you want your application available to anyone or only users part of your organization.
Internal Application
Use internal users for Google account access for development or production applications that are internal only. Only users who have an account within your organization, @your-organization.com, can access the application.
When users from your organization authorize against your application they will not see the unverified application warning.
Use internal applications to skip the App Verification and Security Review process. If anyone outside your organization needs to verify against your application at any time, you will need to go through the Google security review.
Learn more about Univerfied apps at Google.
External Application
Use external users if you are creating a production app and will need to go through Google security verification. This option will allow users who are not in your organization to authenticate against your application.
When users from your organization authorize against your application they will see the unverified application warning.
External apps are limited to 100 accounts before verification.
Learn more about Univerfied apps at Google.
Create a Google App
- Go to https://console.developers.google.com/project
- Click Create Project.
- Give your project a name.
- Select your project Organization and Location if applicable.
- It can take several minutes for the project to be created. Once complete, you should see a green checkmark notification.


Enable Your APIs
- Click Enable APIs and Services or Library.


- Enable the following APIs. You can find the APIs using the search.
- Gmail API
- Google Calendar API
- Contacts API
- People API
- Admin SDK API - Enable this if you need access to room information for calendar events.


Configure Your OAuth Screen
You can configure your application's OAuth screen. This is the page users will see when they authenticate your application.


- From the Google APIs dashboard, click OAuth consent screen.
Choose your user type, either Internal or External.
Internal Oauth Screen
- Next, fill out the required OAuth consent information. For the Authorized domains use
nylas.com
. - Save and Continue.
- Click Add or Remove Scopes. Select
.../auth/userinfo.email
,.../auth/userinfo.profile
, andopenid
. - Then review the Google Scopes and how they map Nylas. Then select the scopes needed for your application.
- Review the Summary and make sure the information is correct for your application.
External OAuth Screen
- Next, fill out the required OAuth consent information. For the Authorized domains use
nylas.com
. - Save and Continue.
- Click Add or Remove Scopes. Select
.../auth/userinfo.email
,.../auth/userinfo.profile
, andopenid
. - Then review the Google Scopes and how they map Nylas. Then select the scopes needed for your application.
- At step 3, Test Users, you can skip this for now. We’ll go back and change the app to Production.
- Review the Summary and make sure the information is correct for your application.
- Click Back to Dashboard.
- Under the heading Publishing status, click Publish App. Publishing your app makes it so that you authorize users using the Nylas API instead of needing to add them one at a time to the Google test users. The app will show as unverified until you go through the Google Security Review.


Google Authentication Scopes
Review the scopes and choose the ones for your application.
Known Bug in Google Scopes
Due to a known bug with the Google API you shouldn't authenticate Google accounts with both
email.read_only
andemail.metadata
scopes. Doing so will cause Google to return 403 errors.
Google Scope | Nylas Scopes |
---|---|
userinfo.email | Required Google scopes |
userinfo.profile | Required Google scopes |
openid | Required Google scopes |
gmail.compose | email.drafts, email.send |
gmail.modify | email.modify, email.send |
gmail.labels | email.folders_and_labels |
gmail.metadata | email.metadata |
gmail.send | email.send |
gmail.readonly | email.read_only |
calendar | calendar |
calendar.readonly | calendar.read_only |
contacts | contacts |
admin.directory.resource.calendar.readonly | room_resources.read_only |
Create Credentials
- Click Create Credentials or Credentials.
- Select OAuth client ID.
- Select Web Application as the Application Type.
- Give the application a name.
- Update Authorized redirect URIs:
- Hosted Authentication - https://api.nylas.com/oauth/callback
- Native Authentication - Use the callback URI for your application.
- Click Create.
- You’ll see your Client ID and Secret displayed in OAuth client created. Save this someplace safe. You’ll need these for your Nylas application.


Add Nylas To Your Application
Adding Nylas as an application owner will help our support team diagnose any issues that may arise.
- Click the menu, and select IAM & Admin > IAM.
- Click Add.
- Add
[email protected]
as an owner. - Save.


Add Your Client ID and Secret to Nylas
- Log in to your Nylas Dashboard.
- If you don’t have an application, select Create New App.
- Select the App you want to update.
- Click App Settings.
- Select Google OAuth.
- Fill out your Google OAuth Client ID and Google OAuth Client Secret.


Congratulations!
You’ve created a Google App and added it to your Nylas application!
Updated 2 months ago