This is the third entry in a series on my Notion architecture for various life management systems. To see the full series, please visit the home page, Productivity In Notion
One of the first things that I wanted to build in Notion was a personal CRM system. I'm not the first to do this in Notion, but I do have some handy customization that make it highly actionable.
First, the basics of the CRM: we use a single database that houses each of my contacts. This contains some of the usual fields, name, contact info, city, et cetera.
Besides those, there are a few fields that govern the main interactions that actively prompt me to reach out to people at the right time:
- Bucket - this is either "Family", "Friend", or "Network" and classifies the broad section of my life this person is in. Thus, if I visit my "Friends" project, it filters my contact database to just contacts in that bucket.
- Level - the level of the relationship. This operates on a code that I won't relay in detail, but ranges from "V+" which would include my fiancée and goes all the way down to "P" which, well, includes people I don't really have any desire to see again. It's harsh but true and feels slightly more satisfying than simply deleting their entry.
- Birthday - perhaps obviously, this keeps the person's birthday, which for many people is a great reason to reach out!
- Last Contact Date - the date at which I last was in touch with each person. This could get tedious, but I keep as a loose estimate as well which is fine.
So this data is great, but we need a couple computed columns to make it useful! So we have two fields that calculate based off these inputs:
- Next Birthday - easy enough, this takes the actual birthdate and calculates the next day that'll happen. E.g. if your birthday is April 1st, then it will show 4/1/2021 until that day comes at which point it'll switch over to 4/1/2022.
- Status - this is the magic that converts the last contact date, and level into a binary status of "good" or "time to catch up." The formula for this looks complex, but it basically translates a level into a desired catch-up frequency. If that is say, six months, it will prompt me to catch up if [today] - [last catchup] is greater than six months.
So we're close now to having a useful system, all we need are some handy views to bring it home!
Here are the main views that help this:
- The Reach Out List: a list of anyone who is overdue or that has an upcoming birthday, which looks like this (anonymized)
- The Birthday Calendar: This views well as a calendar (not shown), but I also built a quick view on my home dashboard that shows any birthdays coming up in the next week:
- The Family, Friends, and Network views: these views are still tables, but filter based on the Bucket one is in. These obviously help focus depending on what I need to do at the time. Particularly, the family and friends boards are much smaller relative to the network list, so this helps focus and prioritize staying in touch with those connections. Meanwhile, the Networking board is larger but can be used for connecting people to jobs, jobs to people, or people to people.
One other useful thing: by having a city and company listed for each person, it makes it very easy to figure out who to send a note to if I'm going to be in, say, San Francisco sometime next month. This is less applicable during the Age of 'Roni, but the ability to do this and other ad hoc queries easily is essential.
So that makes up the bones of the system. There are a few other linkages - e.g. my gift databases "Gift Recipient" column ties to this. Though not essential, it could be helpful to see as the years go by, and it basically comes for free from the setup.
At current, I don't have too many plans for extending this system. It largely does it's job, and I purposely don't want to get pedantic about, say, adding notes for each person or conversation. The goal is to stay in touch more frequently with people to build up connections, not to be creepy!
That said, I will be tempted to add in some features once the long-awaited Notion API comes out. I could imagine creating a few small services to one-click setup a time to catch up, send a birthday note, etc. One cool thing I could imagine is that as soon as I put a trip in my calendar to a specific place, I could pretty easily have it automatically send my itinerary to all of my contacts above, say, an L+ who are in the city. It's a bit less personal, but it's better than me forgetting to reach out until I'm already on the ground!
The more I think about it, the more uses that could come into play with an API. If I tag people with interests, say, "golf" or specific stock symbols, I could automatically e-mail them when I write something or put an interesting article about golf in my content database. Done sparingly, that'd be a great way to stay in touch with people as well.