Transcription
Today, I'm going to go through how you can build your own fully custom CRM system by using Claude Code. You're going to be able to cancel your existing HubSpot, Go High Level, whichever platform you're currently using. You can completely cancel those subscriptions and use your own fully custom-built system. So, not only is this going to be way more customized to everything that you do day-to-day, but you're actually going to be saving money on this as well.
At least from the work that I've been doing, building my own custom applications, especially CRM systems, has probably been one of the biggest advantages from a productivity standpoint. For example, this right here is my content CRM. I manage all of my content that I'm releasing here on YouTube and everywhere else. And because this entire application was fully created by myself, I'm able to add in any kind of very specific and niche features that I want to use into it. This entire app is planning content, managing content, scheduling it, literally doing so much.
And this right here is a CRM system that we use internally for our agency. And this almost has 8,000 contacts, 500 companies stored in it. I don't want to leak any sensitive data, but this app is incredibly powerful. We've got this directly connected into my Fathom meeting note-taker software, so all of those meetings come into our CRM and into the leads and the company specifically. We've got the ability to manage our entire lead pipeline through this as well. So, your common CRM features, obviously, you can build all of them in. We can obviously have these different leads in different stages.
Here's an example for new leads that come in. You can see right here we've got an automatic AI enrichment. We've got automatic AI scoring, if it's a warm lead or cold lead. We've got lots of company intelligence that we're going to be adding into this as well. We're going to assign people to the company. We can assign deals and projects, upload onboarding forms. We've got a system to automatically generate a project flow diagram. It's obviously using AI to generate that. We can generate AI summaries. We've got a chatbot that we can talk to specifically about that company, about any information that we need. So, this is pretty well built.
And the point that I'm trying to prove is that these are features that you would not be able to get very easily through HubSpot or Go High Level at all.
So, for this video, I'm going to do a full breakdown on exactly how we can start from scratch in Claude Code to having one of these CRM systems fully functional, deployed on the internet. So, not only you, but all your team members can use it as well. And I'll just go through everything that I've learned from building a ton of internal systems for our agency, whether that's through best practices, or through how to get MCP servers connected, or APIs connected to plug into all different types of applications to really build the best system possible.
Diving right in, this right here is obviously Claude Code. This is going to be the main tool, the main thing that we're going to be using in order to build out our CRM system. I'm currently using Claude Code through Visual Studio Code as just a desktop application, which allows me to run Claude Code through it. And it makes it a little bit easier to manage if you're going to be building applications, but otherwise, this is possible to build directly through the Claude desktop app as well if you are familiar with that.
So, getting started, as simple as it sounds, we are pretty much just going to tell Claude Code that we are going to be looking to build a CRM system. And really, just by speaking in plain English, we can give it all of the requirements that we're looking for in this application. Obviously, we want to make sure that it knows that we want it to be a web application, so I'll mention that as well. But I'm just going to detail everything that I'm looking for in a CRM system that I want it to replicate. So, I'll get Claude to do that first, and then once we've got some sort of an interface going, once we've got that web app going, then I'll dive into integrating into other external applications, whether that's through MC servers, or API calls, and then really just work through what the best stack is if maybe we want to build automations into our applications as well.
Hey Claude, are you able to go ahead and build me a CRM system? I want this to be able to store a bunch of contacts in it. I want to build out a lead pipeline as well, so we want to have multiple different stages to move these leads throughout. This is going to be for our agency, Inflate AI. We just want a brand new CRM system from scratch. Um, don't populate it with any leads at the moment; we can add them in later ourselves. But this lead pipeline should have about five stages. You can come up with exactly what those stages are. Uh, we also want to have the ability to look into these uh, leads and look into their profiles and details. We also want to have uh, dedicated company profiles as well to be able to view into. And we also want to have an analytics tab as well in the CRM system where we're going to be able to view how many leads are coming through, how many deals are being done. Just a really good analytics tab that it really just showcases very high level what's going on across the entire business and CRM system.
Okay, I just used my speech-to-text tool to speak that all out. Obviously, this is a bit quicker than typing it, so I would recommend doing that. And really, what I would recommend is just starting as basic as this. Just get the fundamentals out. Get something built so you can see how it happens in real time.
And the one thing that I will add onto this in order to actually get this application hosted on the internet, the one thing that we do need to use is an application called Railway. So ultimately, what this is, is it just allows us to host our applications on the internet. We aren't going to be able to just host our web app through Claude Code locally on our computer, or at least you wouldn't want to do that. And we obviously do need to do this if we want other people on our team to be able to access the CRM system, obviously. So, you don't have to use Railway. There's plenty of other sort of server cloud providers out there, but this is one that I've just found works quite well for using with Claude Code.
Once this application is built, can you also go ahead and create a project in Railway and have the web app hosted in Railway and then provide me back with the live hosted link so I can go ahead and view this application?
Now, I personally have already set up my Claude account with Railway itself, so it will probably go ahead and figure out how to integrate itself because I've already done that connection before. But in your case, when you send this through, it might come up with a couple of prompts to log into your Railway account with a Railway API key. Just follow through with those instructions. Should be pretty simple. You can just ask Claude if you run into any issues.
Anyways, I've just sent that message off right now. We can see it has been sent off, and Claude is now at work. Pretty much just going to let this run for, you know, probably a few minutes here where it's going to start to build. It might have some questions for us. We're just going to go through, accept those questions, answer it as we would, and it should be really easy.
Okay, so finally, Claude Code has wrapped up. It has been about 10 minutes in order for it to get to this stage. It didn't really ask me any questions. It kind of just went through and knew everything that it needed to do. I can scroll through here and you can see just the level of detail that it went into to build out everything. Obviously, we gave it enough detail to know exactly what to build and where to deploy it with Railway as well. Well, I can just scroll through this. You can see, um, I didn't provide any additional input at all. Just went through, decided what needed to be built, and just continued to go on. Obviously, because I told it that I wanted a web app and that I wanted to deploy to Railway, that was more than enough for it to know exactly, you know, the specific things that it needed to do. Yeah.
Once again, as I mentioned earlier, because I have connected Railway to this instance of Claude Code before, I didn't have to authenticate it again. But, chances are, if you are doing this for the first time, you will have to authenticate your Railway account. So, it's more than likely that Claude Code will tell you that it needs to authenticate. It might provide you with a URL to do a login to then create your own account, or it might ask for an API key or something like that. Either way, that's the only setup that you will need to do. Once it's connected to that Railway account, it will do everything for you. You don't even have to jump into Railway really yourself. It will do everything it needs to in Railway and come back and provide you with the live link.
And so, clicking into that live link, this right here is the CRM that was just generated. So, the first tab we've got is our lead pipeline I talked about. Looks like we can add a lead to the pipeline, and then it would probably give us the pipeline. So, I'll go ahead and just test this out and just see what's going on. We don't have a company or a primary contact, so I'm just going to continue to click through and just see what's happening. But, really, this is the process of building. I've never seen any of this before, and we can obviously then go to Claude Code to make updates.
But, here we go. We've now just added a lead right here, um, in our lead pipeline. Looks like we can move this between each stage as well, which is cool. Looks like it's working pretty quick and updating quite quick as well, which is awesome. And if I go ahead and click into this lead, looks like it opens up into a page as well, which is awesome. We've got different stages we can move from here. We can edit the lead as well. So, legitimately, this is a replica of like a lot of CRMs that are out there that you'd have to pay for in order to just get this ability, which is so incredibly basic.
We've then got our contacts page, which I told it to build as well. Looks like we can just add in a contact here as well, so we can obviously just test that everything works as we'd expect it to. And here we go, added the lead in, and now we can see the contact for myself as the lead as well, which is here. We can probably go back to the pipeline. We could probably assign ourselves now as a primary contact to a project in the pipeline as well, which is cool.
Jump into companies, we can create a company, and the analytics tab here as well, which looks like it's already connected into the part of the pipeline as well. We can see the lead coming in here as well. So, legitimately, this almost looks like a GoHighLevel, to be totally honest with you. And this is just a really good core foundation now that we can track this, you know, basic pipeline. We can then add the next feature and the next feature, and that's pretty much how I managed to build the other internal systems that we currently use. And really just working back from the work that I'm doing and just thinking about how can I automate as much of this as possible. And then if there is some sort of an idea I have, then I can just tell Claude to make that feature or make this a possibility and just see what happens.
And just for your knowledge, this is Railway. So, this is what it automatically created in my Railway account. This is the deployment of the CRM. You really don't have to even look at this, to be totally honest. Just make sure that it obviously works. Inside of Railway, you're going to be getting a couple of nodes in a project on Railway, which is going to be associated with the application that you're hosting. Once again, you don't have to even understand this at all. Claude Code knows exactly what's going on here. So, you can just jump directly into the app and start to send out some features.
Now, when it comes to integrating with external apps through API calls or MCP calls, they are super easy to do as well. Once again, we just come back to our instance of Claude Code here, and I can pretty much tell it if we wanted to, you know, integrate with some external application. Maybe it's going to be Google Meet or maybe the Fathom meeting note taker app. We can pretty much come here and just say that I would like to integrate with this application. And as you can imagine, Claude Code will go ahead and look through the documentation of that other app. It will figure out everything necessary to integrate with it, and it will go ahead and make that connection.
So, let's say we wanted to send myself or a member on the team an email whenever a lead gets moved into the closed or one section here on the pipeline. So, if this gets moved all the way over here, we want a specific email to be sent to myself or somebody on the team about this movement. I can easily come back to Claude here and tell it exactly what I just told you in terms of when somebody gets moved to the closed one section, I would like an email to be sent off to myself.
Hey Claude, when somebody gets moved into the closed or one section on the lead pipeline, I would like you to have an email get sent to my email me that somebody has been moved into this stage.
Now, there is a couple different ways that it could build this. It could natively integrate through Gmail through my Gmail account. The issue with that is that I would be sending myself an email as opposed to some other email address. For an application like your own CRM system, what I would recommend using is like an external third-party email sending system. So, an example of that would be using an application like Resend. So, we'll see what Claude Code recommends, but I would recommend using something like Resend, which I can cover in just a second.
Just quickly taking a look at the process that it's going through as it's building right now. I haven't touched anything. We can see that it has actually recommended to itself to use the Resend sending email system in order to integrate into this. So, I have used Resend before, so it's probably taken some inspiration from another app and done that. But, very high-level, Resend is just like a third-party email sending service. So, we're going to be able to send emails from emails that are not our, and it is best used for transactional emails. So, obviously, in our CRM system, sending internal emails is like a transactional email. It's not marketing or communicating, really.
And it looks like I just got notified cuz I just got this email sent off from Claude Code just then with this test email that I just sent myself from the CRM system, of course. Because I have set up Resend inside my Claude Code instance, it was able to use that email that we'd already connected before. And then we go. So, it seems to have completed now. It tells me that it sent off the test email, which is what we got. Just showed you that one. And yeah, it's all done.
Ultimately, it went through and looked at the Resend documentation to recognize what it needed to use in order to send the email through the application. Once again, because Resend was already set up on my end, I had a domain connected to Resend already, so it just decided to use the one that was already on my account. Once again, you would need to set up your own Resend account, connect your own domain, and then once again, just let Claude Code handle everything else. You do not have to do any code work yourself.
And just to test this further, let's go ahead and create a brand new lead. I'll call this the test two, give it a new deal value, and we'll create lead, and then I'll move it over to the closed one section, and hopefully, a couple of seconds, we might get an email from this system.
And there we go, just got this email from the system. We can see here, deal one, test two, that's the name that I gave it, 10,000, that's the amount that I put in. Didn't fill in the other fields, but this is the email that we got. Obviously, if we want to modify this, just jump into Claude Code, tell it to modify it, but this is all set up and it's now connected into an email sending system.
So, that really is the process for integrating MCP connections and API calls as well. Claude is going to be the one to decide if it's going to be using an MCP server or an API call through the application, and honestly, it really doesn't matter as long as it does the job that you're expecting.
When it comes to building automations in these apps as well, which I know is a big thing that everybody wants to do, no doubt about it, that's obviously very possible to do. Obviously, because this app is hosted on Railway, it's running 24/7. So, we can just come to Claude Code and tell it to build us an automation. If we want all of our new leads to get moved into the contacted stage after one week, for whatever reason, that is something that I could tell Claude Code to do very easily. Just for demo purposes, I'm going to tell Claude Code that whenever I create a new lead, after 60 seconds, I want it to get moved into the contacted stage. What I'll do is I'm also going to close the app as well. I'll completely just close the tab of the web page, and then we'll see if after 60 seconds, it got properly moved over, and then that obviously proves that we can build automation workflows.
Hey Claude, are you able to make it so that when we add a new lead in the lead pipeline, after 60 seconds, I want that lead to get moved into the next contacted stage in the lead pipeline?
Okay, so it seems to believe that it is now built. It seems to believe it also tested it and it works as well, but I'll be the judge of that.
Okay, so we'll create a brand new lead. I'm going to call it test three. We're going to give it a deal value, and we're going to just keep it all the same. Create lead, and now I'm going to close out of that tab, and now I'm going to give it 60 seconds. So obviously, it was on that lead pipeline. We're now going to wait for this automation in 60 seconds to trigger.
And the key point that I'm trying to prove here is that this is a server that's running in the background. So since we've programmed it to run an automation in the background, which is the sort of clock to check of the 60 seconds and then move it over to the next stage, that's happening right now in the background of the app that's running on that railway server. And if we can do this, we can really do any automation workflows that are running in the background, checking for statuses of different APIs to check for maybe new meetings from the fathom note taker, which is something that we've done before, is something that would run in the background all the time, checking for a new meeting and then just making an update.
Okay, and here we are. It's been more than 60 seconds, and you can see on the app it is now moved it over to that next contacted stage after the 60 seconds, of course. So that automation, that workflow, is now working. Obviously, that is incredibly basic, but just to prove the point that the tech is capable of doing that. We could now come to Claude here and tell it to do all kinds of automations to run in the background for us.
If you want to see five Claude Code skills that I genuinely couldn't live without and I use all the time inside of my Claude Code operating system like I just showed you, check out this video right here where I break down all five of those Claude Code skills.