How to Build a Personal CRM

How to Build a Personal CRM

Personal CRM’s are one of the only apps that people actually consider building themselves rather than look for an existing solution. As the co-founder of a Personal CRM app, I’ve always found this very interesting.

We’re mostly competing against homebuilt apps.

Many of our existing customers actually started off by building a relationship manager for themselves using Airtable, Coda or Notion.

In this article, I will try to re-build our app using No-code tools!

Building a calendar integration with Airtable

Airtable famously offers a Personal CRM template to their users so I started there. You can see their template here. I realised soon that this would not work for a few reasons:

  • Airtable doesn’t offer a Gmail integration.
  • There is far too much (Companies I’d like to work for, Cities, Calendar view, …). I don’t want my Personal CRM to do everything poorly, rather just a few things very well.
  • It doesn’t sync back in time.

Despite the Gmail limitation, I wanted to give them a try as they offered a calendar integration. So I created an automation to import GCalendar interactions to my new Airtable.

airtable personal crm.png

Here are the steps:

  • Create a new Interactions table with the following rows: Date, email, & name.
  • Connect your GCalendar account
  • Set up the following calendar trigger: When an event is created
  • Set up the following action: Create record
  • And match data from the calendar event to the rows. … and run a test to see if it works!
airtable gmail data.png

Nice! As you can see, data appeared but all the attendees to the meeting are in the same box, whereas I would have wanted them to be in separate boxes. This is because we’re doing No-Code.

Funnily, this problem reminded me of when I actually built the calendar integration for our own personal relationship management app. If this was in python, I would have created a simple for loop to iterate through the attendees, but this is not going to work here.

Unfortunately, this means that I won’t be able to reproduce Nat.app’s calendar integration in Airtable. But calendar events are a hard thing because one calendar event can have 0 to 100 attendees.

Let’s instead try to build a Gmail integration using Zapier + Airtable. Email data is nicer because there is always a single sender.

Building a Gmail integration using Zapier + Airtable

Zapier offers an integration with both Airtable and Gmail, so I can use it as a bridge between the two apps I want to integrate.

Because the behaviour in the case of a sent email is different than a received email, I will need to create two Zaps:

  • Received an Email
  • Sent an Email

Everything is straight forward this time, I connect the dots:

Zapier Gmail Personal CRM integration.png

And finally, test the integration in Airtable:

zapier gmail data.png

This time, the data is correct!

Now that my Gmail interactions are flowing in correctly, it’s time to use this data to build up the actual tables that show me my contacts and who I’m losing touch with.

Fun fact, our actual infrastructure works similarly

Zapier pricing makes the Personal CRM impossible

On the free plan, Zapier allows 100 Gmail messages to be imported by month, after a quick check, I realised that I get around 1’500 emails per month, which puts me on the 40$/mo plan.

When you add the Zap for the calendar integration as well as a Zap to keep in Sync with Google Contacts, you land somewhere between their 50/mo and 90/mo plan.

Though considering that you still need to build everything around it, and you still haven’t paid for Airtable.

Historical integration is not an option

In addition to the above-mentioned issues, all of the options that I explored above don’t offer a history sync, which means that even if you manage to get the automation running, it will only start working from now on and all your past email & calendar data won’t be accessible.

This is a major drawback as most of us have years of useful data already available.

Don’t try to build your own Personal CRM if you want automations This is the basic summary of this experiment. The only way to make a homemade personal CRM work is to input all the data manually.

If you want instead to rely on automated data entry solutions, try out our app for example: nat.app

Curious about what we're building?

We're building the best personal CRM app for consultants and business owners