Developing with Nylas
Developing an app with a Nylas integration can be divided into a few phases, and this guide is here to help you along the way.
- Set up your Nylas account and organization, create a development application.
- Plan your application and authentication method.
- Set up authentication including integration apps with your service providers.
- Set up end-user account status monitoring using webhooks.
- Develop your application using the Nylas APIs.
- Set up webhooks and systems for handling them at scale.
- Set up error monitoring and handling.
Once you’re happy with the state of your application, move on to the Production Checklist to get your app through security review, published, and launched!

Before we begin: What’s an “application”?
“Application” can mean three different things in the Nylas documentation:
- Your application: Sometimes “your app”. This is the thing you — our customer — are building. Whether that’s a mobile scheduler app, an automated email responder, or something else, this is the overall project and code that you are working on.
- Nylas application: A set of configurations, authentication settings, and end user accounts used to connect to a specific provider, using a specific authentication type.
- Provider application: Large service providers require that you connect to their servers using an application tailored to their platform. For example, Google requires a Google Cloud application to connect to Gmail.
We do our best to be clear and specific about which type of application we’re referring to, in order to avoid confusion.
Planning your application
Your application will use Nylas APIs to access your end user accounts on their behalf, and use webhooks to monitor activity that your application needs to know about. Before you start integrating with Nylas, you should list the activities that you want to do in your app that require access to the service provider, and the results and changes you want to monitor to inform how your app responds.
For example, if you are building a calendaring app, you know you want to be able to read a user’s calendar so you can pick an available time slot. You also know you want to write to the calendar so you can create new events. Perhaps you also want to choose from a list of the user’s contacts when inviting people to the event, which requires read access to their contacts.
But what happens if the person you invite to the event declines? Or if the creator cancels the event from outside your app? You’ll want to monitor for these changes using Nylas webhooks, so your app can respond helpfully.
Once you have a working list of what objects you want to interact with and get notifications about, you can review the list of access scopes for each provider, the Webhooks API reference, and build the list for your application.
Create a Nylas account and organization
When you’re ready to start, create a new Nylas account.
If you’re the first person on your team to create an account, you can make your account the “organization”, and invite colleagues who are helping with development and testing. The account that hosts the organization is the one that has the billing details attached to it, so decide among yourselves which account should “host” the organization.
An organization represents a company within the Nylas platform. It’s a collection of Nylas applications and Dashboard accounts that are linked together and paid for in the same way. Billing, support, data usage, and feature enablement are handled at the organization level.
To invite teammates to v3 Nylas organizations, follow these steps:
- Log in to the v3 Nylas Dashboard.
- Click the organization menu at the top-right of the page, and select Members.
- Click Invite members.
- Enter your teammates’ email addresses, and choose if you want to make them administrators for the organization.
- Click Invite members.
For v2 Nylas organizations, follow these steps:
- Log in to the v2 Nylas Dashboard.
- Select Org settings from the left navigation menu.
- Click Add a team member.
- Enter the teammate’s name and email address, and choose if you want to make them an administrator for the organization.
- Click Add a team member.
- Repeat steps 3–5 for each teammate you want to add to the organization.
Nylas sends an email message containing an invitation link. When your teammate clicks the link, they can create their own Nylas account, and it’s automatically associated with your organization.
Create a Nylas application for development
Each organization can have multiple Nylas applications registered to it. When you first create your account, Nylas creates a Sandbox application for you to use to test out the services. When you’re ready, create an application to use for testing.
An application is a Nylas term for a set of authentication configuration, and logical collections of “accounts”, which are permissions to connect to email and calendar accounts.
Nylas strongly recommends you set up separate Nylas applications for your development, staging, and production environments. Each application has a unique client ID and client secret which you use to manage and authenticate your end users.
The client ID and client secret allow account and application management, so you should treat them like any other credentials and store them securely. Don’t save them in your source code, and don’t leave them in unencrypted storage. Follow Nylas’ security best practices to store important credentials.
Each Nylas application has separate configurations for the following settings:
- Notifications: Each Nylas application has its own notification settings for both webhooks and notification channels. This allows you to create a development application to test notification changes with a limited amount of traffic without impacting end users in your production environment.
- Customized authentication: Nylas stores customization information (for example, your company’s name and logo) for each Nylas application that uses Hosted auth. This means you can have multiple projects, each with its own Nylas application, and each with a different customized auth experience.
- Google and Office365 OAuth credentials: Nylas suggests you create separate provider applications for each environment. This way, you won’t lock yourself out of a development or test environment when you submit a provider application for review.
Choose how to authenticate users
Nylas saves you time by simplifying the process of securely authenticating different types of email accounts, and with minimum effort for end users. Nylas offers two different ways to authenticate accounts based on your application’s requirements: hosted authentication (Nylas handles the entire process) and native authentication (full customization with authentication information submitted to Nylas).
For most developers this choice is easy, and you’ll use Nylas hosted authentication. When you use hosted authentication, Nylas detects which email provider the end user has, passes the user through authentication with that provider, and returns the now-authenticated user to your app. The work required to integrate is minimal.
If you want to completely hide Nylas and the email provider details from the user, you might want to use Nylas native authentication, however this can require a lot of development work. See the Authentication documentation to learn more about choosing an authentication type.
You might also want to read more about the requirements from individual service providers: See the guides for Google, Microsoft, iCloud, Yahoo, and others.
Planning for service provider application(s)
If you expect to connect to Google or Microsoft, you must create a provider application to connect to their servers. Once created, you can use the provider application with internal company accounts for development and testing, but you must get it reviewed by the provider before you can distribute or “go live” with your application.
Creating the provider application is straightforward, and you can create one (or several) quickly so you can start developing. However, the provider review can take several weeks, and depends entirely on the provider’s review process and which scopes your app uses. You’ll want to plan this into your development timeline!