How to build a CRM in 3 sprints with Nylas

How to build a CRM in 3 sprints with Nylas

5 min read
Tags:

“I’d like to thanklessly toil away at my SaaS app’s communication features, edge case guardrails, and security hardening over the next seven years!”

— No one ever 

In engineering, there are two types of problems you can solve:

  1. Intellectually stimulating, complex technical problems that help grow your career
  2. Hard, but unsatisfying problems that require deep specialization in very niche technology

Building a CRM (Customer Relationship Management software) that sends and receives email from users’ email clients, and manages calendar events and notifications flawlessly across virtually every email and calendar provider falls into the second category.

Even if you’re building a simple Gmail or Microsoft integration, you’ll quickly run into roadblocks that will increase code complexity, lengthen your development time, and push back your ship date.

We can hop right past the hard and unsatisfying development work with Nylas.

Headaches you’ll avoid by building with Nylas

At the outset of this CRM tutorial series, let’s list up some of the complexity you won’t have to deal with using Nylas ????:

Bespoke authentication for every email and calendar provider
Since Nylas supports one-click secure OAuth/SSO, building a secure auth flow is streamlined.

Domain authentication
By integrating directly with the provider at the protocol level, Nylas obviates the IT admin nightmares encountered with transactional email providers like DNS settings. DNS? DKIM? DMARC? WTF!

❌ Normalizing API inconsistencies across providers
The Gmail and Microsoft APIs use different naming conventions and nomenclature that can break your code for a feature as simple as reading a contact’s name. Nylas smooths right over it.

❌ Parsing emails into structured data manually
Who wants to deal with structuring unstructured email data from multiple sources like Gmail, Microsoft, and IMAP? With Nylas, you won’t need to.

❌ Over-fetching data
Nylas allows for pre-sync filtering, which means you can fetch only emails that are required for your app.

❌ Waiting ages for historical sync
Nylas optimizes the time it takes to sync the entire inbox hierarchy, honoring provider filter rules.

❌ Being mislabeled as spam
You can connect to providers via the user’s account with Nylas. This means your important messages are no longer relegated to the spam folder.

Nylas makes it simple and secure to add bi-directional sync and CRUD functionality for email, calendar, and contacts to your CRM. We offer all of this via a single, universal API for all email and calendar providers, allowing you to build an entire CRM in just 3 sprints.

Getting ready to build a CRM in 3 sprints

This is your entry point to a tutorial series where we’ll be building a simple CRM from scratch. Since it’s a tutorial, we’ve made some decisions for you about the stack we’ll be using. 

But remember that you can use any stack you want: like any REST API, Nylas API endpoints are language-agnostic. To be helpful, we also provide SDKs for Ruby, Python, Node.js, and Java.

Throughout the tutorials, we’ll be using the following Nylas API offerings:

For our app stack, we’ll be using these technologies:

⚠️ If you plan to code along, install the app stack technologies above before continuing.

Your CRM roadmap

Here is a basic architecture of the sample CRM we’re going to build in this tutorial series:

We’ll get to this end state by breaking it into 3 sprints, each focused on a specific area: contacts, email, and calendars.

In sprint 1, we’ll start with contact management features. We’ll sync contacts from our user’s email and calendar provider into the application and provide users with the ability to create, update or delete contacts.

In sprint 2, we’ll add support for calendar events. We will enable our CRM users to create, update, and delete events, and set email alerts to minimize event attendee no-shows.

In sprint 3, we’ll integrate email capabilities, allowing users to read, compose, reply to, and delete emails. In addition, we’ll include mail merge capabilities, allowing us to batch send personalized emails.

By the time we’re done, we’ll have a basic CRM that looks like this:

As a result, you’ll have the tools and skills you need to expand on this sample app. Or you can incorporate what you’ve learned into your own CRM project!

Your CRM is 3 sprints away

During these 3 sprints, you’ll be in the extremely capable hands of our very own Sr. Developer Advocate, Blag. Blag is a seasoned technical content creator who you can find weekly on this very blog showing developers how to build all kinds of cool stuff with Nylas. 

For each sprint in this series, Blag will walk you through the steps of building CRM functionality using Nylas APIs. He’ll offer code snippets to illustrate key points as well as a repo of the full sample project. 

Additionally, Blag and I will host a couple of live streams on YouTube, Twitter, and LinkedIn. In the live streams we’ll walk you through the sample CRM features, the code, and the Nylas API calls that make it all possible.

So are you ready to get started on building your CRM? Let’s go!

Related resources

How to build a CRM in 3 sprints with Nylas: Implementing email sync (sprint #3)

Learn how to build a CRM in sprints with Nylas. We’ll finish by adding Email and Mail Merge capabilities using the Nylas Ruby SDK.