Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Nylas — the next-generation email platform
Python Other
Branch: master

Don't tell lies in comments, and strip bad codepoints in email addres…

…ses too.

The whackness is coming from us/email, not Exchange.
latest commit db60871c04
@spang spang authored
Failed to load latest commit information.
arclib Fix PytestTestEngine to work with the latest version of arcanist
bin Configure SENTRY_DSN in syncback service.
debian Inbox now works with install_requires and tests pass.
docker Changed 'admin' to 'root' in postinstall-src file.
etc No search config in dev by default.
inbox Don't tell lies in comments, and strip bad codepoints in email addres…
migrations Basic contacts searching through Amazon CloudSearch.
tests Fix default args for MockIMAPClient.select_folder.
.arcconfig Update Conduit URI.
.dockerignore Support Docker-based development environment
.gitattributes [events] Initial support for iCloud and
.gitignore add pycharm files to .gitignore
Dockerfile Docker entrypoint must be run as root
LICENSE Initial commit Inbox now works with install_requires and tests pass. Fix git clone link to be accessible from anon user
Vagrantfile change vmware numvcpus to 1, fix for OSX vmware fusion
Vagrantfile.local.example Add Vagrantfile.local & Vagrantfile.local.d, allowing user to overrid…
alembic.ini Migrate server code from old repo.
fig.yml Support Docker-based development environment
requirements.txt Remove explicit futures dependency.
runtests Fix ./runtests so the command-line options work as expected i.e. Remove explicit futures dependency. Revert "Upgrade setuptools"
tox.ini Silence some flake8 errors

Nylas Sync Engine

The Nylas Sync Engine provides a RESTful API on top of a powerful email sync platform, making it easy to build apps on top of email. See the full API documentation for more details.

Join our Slack channel Slack Invite Button

Installation and Setup

  1. Install the latest versions of VirtualBox and Install Vagrant.

  2. git clone

  3. cd sync-engine

  4. vagrant up

    Feel free to check out the Vagrantfile while this starts up. It creates a host-only network for the VM at

  5. vagrant ssh

  6. cd /vagrant

  7. bin/inbox-start

And voilà! Auth an account via the commandline to start syncing:


The inbox-auth command will walk you through the process of obtaining an authorization token from Google or another service for syncing your mail. In the open-source version of the sync engine, your credentials are stored to the local MySQL database for simplicity. The open-source Nylas Sync Engine does not support Exchange, but the hosted version does.

The sync engine will automatically begin syncing your account with the underlying provider. The inbox-sync command allows you to manually stop or restart the sync by running inbox-sync stop [YOUR_ACCOUNT] or inbox-sync start [YOUR_ACCOUNT] Note that an initial sync can take quite a while depending on how much mail you have.

Nylas API Service

The Nylas API service provides a REST API for interacting with your data. To start it in your development environment, run command below from the /vagrant folder within your VM:

$ bin/inbox-api

This will start the API Server on port 5555. At this point You're now ready to make requests! If you're using VirtualBox or VMWare fusion with Vagrant, port 5555 has already been forwarded to your host machine, so you can hit the API from your regular web browser.

You can get a list of all connected accounts by requesting http://localhost:5555/accounts. This endpoint requires no authentication.

For subsequent requests to retreive mail, contacts, and calendar data, your app should pass the account_id value from the previous step as the "username" parameter in HTTP Basic auth. For example:

`curl --user 'ACCOUNT_ID_VALUE_HERE:' http://localhost:5555/threads

If you are using a web browser and would like to clear your cached HTTP Basic Auth values, simply visit http://localhost:5555/logout and click "Cancel".

Now you can start writing your own application on top of the Nylas API! For more information about the internals of the Nylas Sync Engine, see the Nylas API Documentation.

Production Support

We provide a fully manged and supported version of the Nylas sync engine for production apps. Read more at

Pull Requests

We'd love your help making Nylas better! Please sign-up for a developer account for project updates and the latest news. Feel free to create issues or pull requests to start discussions.

We require all authors sign our Contributor License Agreement when submitting pull requests. (It's similar to other projects, like NodeJS or Meteor.)


This code is free software, licensed under the The GNU Affero General Public License (AGPL). See the LICENSE file for more details.

Something went wrong with that request. Please try again.