FREE WhatsApp CRM — Self-Host Your Own Automation Server ($0/Month!) — Transcript
Full transcript
- 0:00Friends, stop wasting 2000, 5000, or
- 0:021000 rupees every month on WhatsApp
- 0:04automation! Because today, I’m going
- 0:07to tell you about a secret tool with
- 0:08which you can set up your own free,
- 0:10open-source WhatsApp automation service
- 0:12. And the best part, no monthly
- 0:14subscription, absolutely zero recurring
- 0:16costs. You don't need to know any
- 0:18coding to set this up. Anyone can
- 0:20easily set it up. And since it is free
- 0:22and open-source. If you ever need a
- 0:25feature that isn't available, you can
- 0:27customize and add it without any
- 0:29restrictions. Just set it up once, and
- 0:31you’ll have lifetime control in your
- 0:33hands. Let me first show you a quick
- 0:35demo of what it looks like and what
- 0:37features it has. So friends, as you can
- 0:40see on my screen. This is its main
- 0:42dashboard. Here you will get complete
- 0:44analytics. How many conversations are
- 0:46active? How are the chats progressing,
- 0:49and how is the server response? A clean
- 0:51and simple visual view. But now the
- 0:53most interesting part starts from here.
- 0:55If you go to its inbox section, you
- 0:57will see all your active chats lined up
- 1:00here. Suppose you’ve finished talking
- 1:03to a client or the deal is closed, you
- 1:05can simply click the dropdown at the
- 1:07top to mark the status as open or
- 1:09closed. You can also set up
- 1:12pre-approved templates directly here.
- 1:15Meaning, for those common FAQs or
- 1:16answers, you can set them in advance
- 1:18and just click to send them
- 1:20automatically. And yes, you can also
- 1:23have AI automatically generate replies
- 1:25and send them directly. Now, take a
- 1:27look at their pipeline feature. This is
- 1:29my personal favorite. Here, you can
- 1:31drag and drop leads in a Trello-style
- 1:33interface. Suppose a new client arrives
- 1:35. What is he now? First, he is in your
- 1:37lead stage. So you called them, your
- 1:39conversation progressed, and your
- 1:41client responded well. So you can just
- 1:44grab them, drag and drop them here into
- 1:47the negotiation column. Now, as soon as
- 1:50the deal with your client is closed,
- 1:51meaning the client has made the payment
- 1:53, you can drag and drop them here to
- 1:55shift them to 'won'. When your team
- 1:57handles multiple clients, this CRM will
- 1:59save you hours of work. The next
- 2:01feature here is Broadcast. Suppose you
- 2:04have a Diwali or New Year offer running
- 2:06, or there is a new update about your
- 2:08service. You can send bulk messages to
- 2:11your clients without any hassle at all.
- 2:13Then comes the automation scene here.
- 2:16This is even more incredible. You can
- 2:18directly create visual workflows here.
- 2:20Regarding this automation part,
- 2:22remember the video I made on N8N
- 2:24WhatsApp automation? You can kind of do
- 2:27that here as well, and the special
- 2:29thing is that you don't need to connect
- 2:31WhatsApp repeatedly because this is
- 2:33built specifically for your WhatsApp.
- 2:36Then here comes the Flow Builder. It is
- 2:39currently in beta. But this tool is
- 2:41also a powerful one. Through this, you
- 2:44can save interactive button
- 2:46configurations. You must have explored
- 2:50features in WhatsApp where you receive
- 2:52messages, meaning in business chats,
- 2:54you see buttons along with the text.
- 2:58Right? Now, when you click on those
- 3:00buttons, you get messages based on your
- 3:03activity. So, you can set up the same
- 3:05thing here too. Meaning, if a client
- 3:07presses button A, the reply will be
- 3:09sent accordingly. Then, if your client
- 3:11presses button B, a new menu will open.
- 3:14So, a completely interactive experience
- 3:17is created here. You can build this
- 3:19very easily through this. Apart from
- 3:21this, you get an AI agent here. You
- 3:23will have to connect the API here. Once
- 3:27you connect the API, the AI can talk to
- 3:29your customers in natural human
- 3:31language, in Hindi or English, and
- 3:33qualify the deal. And if you have a
- 3:37sales or support team, you can go to
- 3:39team members and add your friends or
- 3:41employees here. This will be useful for
- 3:44handling different chats entirely. And
- 3:46do you know the most interesting part?
- 3:48This entire system runs completely on
- 3:50your cloud and on your server. Meaning
- 3:52your data, your server, and zero
- 3:54monthly fees. So, the matter of privacy
- 3:57remains entirely under your control.
- 4:00Now you might be thinking, "Brother, is
- 4:01it necessary to know coding to set this
- 4:03up?" The answer is absolutely not; in
- 4:06the next few minutes, I am going to
- 4:08teach you how to install and run it
- 4:09live, step-by-step, without any coding.
- 4:12So watch the screen very carefully and
- 4:14don't miss any steps. So friends, let's
- 4:17first see what things we need to
- 4:19download to set this up. First of all,
- 4:22I have provided a link for you in the
- 4:24description box. Click on it, and you
- 4:26will be taken directly to this GH
- 4:29repository. When this GH page opens,
- 4:31you will see a button labeled "Code" in
- 4:34green. Just click on it and tap on "
- 4:37Download ZIP." The entire source code
- 4:40will be downloaded to your computer as
- 4:43a ZIP folder. Once it is downloaded,
- 4:46right-click on the ZIP folder and
- 4:48choose "Extract All." Keep the path as
- 4:52default and click "Extract," and your
- 4:54folder will be unzipped easily. Now,
- 4:57since this is a Node.js project. To run
- 5:01it smoothly, we will need some
- 5:02essential tools. So first, we need to
- 5:05download Node.js. Okay? Open a new tab
- 5:09in your browser, type "Node.js download
- 5:12," and download the LTS installer for
- 5:15Windows. If you already do a bit of
- 5:18coding, it might already be installed
- 5:20on your system. After that, to open the
- 5:24code, you can install the standard VS
- 5:27Code. But I recommend you download
- 5:30Google's Anti-Gravity IDE here instead.
- 5:33Because what's special about it? Along
- 5:35with coding, you can use powerful
- 5:38built-in AI features. Meaning, if you
- 5:41get an error or want to implement new
- 5:43features later, you can just give a
- 5:45simple prompt in Anti-Gravity and have
- 5:47the AI do the work. So make sure you
- 5:51download the IDE version of
- 5:52Anti-Gravity so you don't face any
- 5:54issues later. Once everything is
- 5:58downloaded, just install it like you
- 6:00would any normal game or software by
- 6:02clicking "Next." Once everything is
- 6:06installed, open Anti-Gravity. After
- 6:11opening Anti-Gravity, go to the top
- 6:13menu, click "File," and choose "Open
- 6:15Folder." Carefully select the same
- 6:19unzipped folder, and ensure that
- 6:22folders like "git,""dos," and "
- 6:25mcp-server" are visible inside. Just
- 6:29exactly as it is on my screen. If you
- 6:31accidentally select the parent or outer
- 6:34folder, you might run into errors in
- 6:36your terminal later on. So, make sure
- 6:38you open the exact, correct folder and
- 6:40click on that. Once the folder is open,
- 6:43if you look to the right side, you will
- 6:45see the Antigravity AI agent here. As I
- 6:49was saying, if you need to implement
- 6:51features later on or if an error pops
- 6:53up in your code, you can chat right
- 6:55here and get help directly from the
- 6:57agent. But for now, this isn't strictly
- 6:59necessary. Now, we need the terminal.
- 7:01So, in the top menu, look next to 'Run'
- 7:04and you will see the 'Terminal' option
- 7:07there. You need to click that and open
- 7:10a new terminal from there. We will run
- 7:12all our commands in this terminal. And
- 7:15yes, if any mistake happens while
- 7:17running commands, or if you don't
- 7:19understand what went wrong, don't worry
- 7:21. Just simply open the Antigravity
- 7:25agent on the right side. Then, just
- 7:28mention the Antigravity terminal here
- 7:30and ask your questions. The AI will
- 7:33understand your error and automatically
- 7:35fix it for you. Now comes the main part
- 7:38of our setup. On the left side in the
- 7:41file explorer, you will see a file
- 7:44named env.local.example. The first
- 7:47thing we need to do is rename this file
- 7:50. You can just right-click on this file
- 7:53to rename it, or you can press F2 on
- 7:55your keyboard. Okay, remove the '
- 7:59.example' part from the end and just
- 8:02rename it to .env.local, that's it. As
- 8:06soon as you open this file, you'll see
- 8:08it is asking for your Supabase
- 8:09credentials first. What is Supabase and
- 8:13how do we connect it to our project?
- 8:15Let's talk about that now. So friends,
- 8:19first we need the Supabase URL for this
- 8:22.env.local file, right? For that, I
- 8:26will go to the browser and search for
- 8:28Supabase. Open the first website that
- 8:31appears, and you can easily sign up
- 8:33using your Google account. Okay? Then
- 8:37go ahead and log in; the login process
- 8:39is quite simple. We know you must
- 8:41already know all of this. So, go ahead
- 8:42and do that. Now, after logging in,
- 8:44simply click on "Start your project"
- 8:47here and then select "New Project." You
- 8:49can name your project whatever you like
- 8:51. For instance, I will enter WA CRM,
- 8:54meaning WhatsApp CRM. Okay? Next, you
- 8:57will need a database password. Set a
- 9:00strong password and note it down
- 9:03somewhere safe because you will need it
- 9:06later if you ever require access.
- 9:10Simply enter the password here and
- 9:11click on "Create your project." Once
- 9:14the project is ready, you will see your
- 9:16Supabase Project URL here. Copy it with
- 9:19a single click and paste it into the
- 9:21file that was asking for the Supabase
- 9:24URL. Now, we need an anon key. Okay? So
- 9:28, where can you find that? It is very
- 9:29simple. On the left-hand menu of
- 9:32Supabase, go to Project Settings and
- 9:34click on API keys. You will find the
- 9:37anon public key right there. Copy it
- 9:40and paste it into the .env.local file.
- 9:44And yes, if this long key is
- 9:46overlapping outside the screen in the
- 9:48editor, you can do one thing. Go to the
- 9:51View menu at the top, find the "Word
- 9:53Wrap" option, and turn it on. This will
- 9:56make your screen look much clearer. Now
- 9:59, the next thing we need is the
- 10:01Supabase role key—that is, the
- 10:03service role key—which you can find
- 10:05in the same API section under the role
- 10:07key section. Simply click "Reveal" here
- 10:10, copy it, and paste it. And yes
- 10:14friends, do not copy the credentials
- 10:16shown on my screen, as I will delete
- 10:19these secret keys after the video.
- 10:23Instead, create your own Supabase
- 10:25account and get fresh credentials from
- 10:27there. If the steps I am explaining
- 10:30feel fast, you can pause or slow down
- 10:32the video to watch at your own pace.
- 10:36Okay, our next credential is an
- 10:38encryption key. Now, why is this needed
- 10:40? Because all the passwords and
- 10:43sensitive data in our CRM should be
- 10:45stored in an encrypted format in the
- 10:48database so that no hacker can steal
- 10:51our data. For this, we need a 64-hex
- 10:54character key. So, where can we get
- 10:56that? Actually, this needs to be
- 10:58generated; it is very easy. Look here
- 11:00in the file, there will be a command
- 11:02line below; copy this entire part,
- 11:03excluding the hash line. Now, press
- 11:06Control and the backtick key on your
- 11:08keyboard. This is basically a shortcut
- 11:10to open your terminal. Now, paste the
- 11:12command here in the terminal, hit enter
- 11:15, and boom, you will get your
- 11:17encryption key. Copy it directly and
- 11:19paste it into your file next to the
- 11:21encryption key. There you go, your
- 11:23Supabase credential part is now
- 11:25completely done. Now, let's try running
- 11:28this project locally. So, first, we
- 11:30need to install all the dependencies in
- 11:33the terminal. So, simply type ` npm
- 11:36install` here. Okay? And press enter
- 11:39here, and in a few seconds, all your
- 11:41necessary files will be installed. And
- 11:44after that, to run the project, type: `
- 11:47npm run dev`. As soon as it starts, you
- 11:50will see a localhost link in the
- 11:52terminal. Press Ctrl and click it, or
- 11:55copy it and open it in your browser.
- 11:58Look, our WhatsApp CRM website is now
- 12:00running locally. But, if you try to
- 12:04create a new account on this website
- 12:06right now, it will not register. Why?
- 12:10Because our database tables and SQL
- 12:12migrations, etc., have not yet been
- 12:14uploaded to our Supabase database cloud
- 12:17. So, if you look inside the project
- 12:20folder here, you will see a migrations
- 12:22folder inside Supabase. There are about
- 12:2539 different SQL tables here. All these
- 12:28tables need to be pushed to our
- 12:30database. I have provided a
- 12:31documentation link in the description
- 12:33box. Simply open it. Now there are two
- 12:36ways to do this. One is to go to the
- 12:39Supabase dashboard, copy and paste each
- 12:41file into the SQL editor, and spend a
- 12:43lot of time struggling with it. This
- 12:46will take a lot of time and be very
- 12:49tedious. So, for this, we will use the
- 12:51first method, which is the Supabase CLI
- 12:53. First of all, we should stop the
- 12:56terminal's running server. So let's see
- 12:59how that happens. For this, we will
- 13:01press Ctrl + C. Now, from the
- 13:04documentation provided in the
- 13:05description, copy the first install
- 13:07command for option B, i.e., the
- 13:09Supabase CLI, and run it in the
- 13:11terminal. After it is installed,
- 13:14Supabase will be installed locally on
- 13:16your system. What do we need to do now?
- 13:19Superbase needs to log in to our
- 13:21terminal. So for that, we will use this
- 13:23superbase login command. As soon as you
- 13:26hit enter here, the terminal will
- 13:27provide a login link. It will open
- 13:29directly in the browser and provide an
- 13:31authentication code. Copy that, paste
- 13:33it into the terminal, and then press
- 13:35enter. Now, our terminal will be logged
- 13:38in. Now we need to connect our project.
- 13:41For that, there is a command here,
- 13:43superbase link, which will ask for a
- 13:45project reference ID. Do you know where
- 13:48to find this ID? In the Superbase
- 13:52dashboard URL, look closely at the
- 13:54unique code that comes right after the
- 13:57slash project part. Look here, the
- 14:02unique code that appears after the
- 14:04slash project is the secret code you
- 14:05need to copy and paste into the
- 14:07terminal. Don't include the rest of the
- 14:10URL parts. Just like my ID, you will
- 14:14see a similar ID on your dashboard;
- 14:16copy it and paste it here, and the
- 14:18project will connect. Once the project
- 14:23is connected, use the superbase db push
- 14:26command to push the tables; it will
- 14:28detect all 39 SQL files, and as you hit
- 14:31enter, all these files will start
- 14:34uploading. However, look here, we have
- 14:39encountered a migration error. But
- 14:41don't worry about it. At the start of
- 14:44the video, I told you why the
- 14:46Antigravity AI agent is so special.
- 14:48Well, now it's going to come in handy.
- 14:49Just open the Antigravity agent on the
- 14:52right side, tag the terminal, and
- 14:55simply write "fix this." By writing
- 14:58just that, our AI agent will read the
- 15:01entire terminal error, analyze it, and
- 15:03automatically push it to the database
- 15:06to upload all your tables. Now you just
- 15:10need to tap on "accept all" on the
- 15:12screen. Now, to confirm, I will run the
- 15:15last command in the terminal one more
- 15:18time. Okay, it shows that our database
- 15:21is already up to date. Actually,
- 15:25instead of running these CLI commands
- 15:27yourself, you can just copy the entire
- 15:29command block and tell this AI agent to
- 15:32run it, and when the login part comes,
- 15:34it will automatically open the browser.
- 15:38You simply copy that authentication
- 15:40code and paste it here. Alright? And
- 15:42all of this work happens in the
- 15:43background. It will automatically do
- 15:45everything for you. So this is the real
- 15:47power of AI coding. By the way, whether
- 15:51it's Antigravity, Cursor, Claude Code,
- 15:53or GLM 5.3, these are all AI coding
- 15:56tools. If you understand their concepts
- 16:00well, you can solve any problem and
- 16:02build any software, app, or website. I
- 16:05have already made a video on this. If
- 16:07you want, you can watch it by clicking
- 16:08on the 'i' button. Yeah, okay. You can
- 16:10watch that later. You can save it for
- 16:12later. Let's watch this first. Okay?
- 16:15Now friends, our database is ready. So
- 16:19let's go back to our terminal and run
- 16:21it. npm run dev. Now open the localhost
- 16:25link. Ours was already opened. So I
- 16:28will simply reload it. Now let's try
- 16:31signing up and see. I will simply go to
- 16:34sign up, enter my name, email, and
- 16:36password, and click on register. Look,
- 16:38our account has been successfully
- 16:40created. Now it says that a
- 16:42verification link has been sent to the
- 16:44email. So I will quickly open my email
- 16:47inbox. Yes, look here, a confirmation
- 16:49mail from Supabase has arrived. So I
- 16:51will simply click on it, and it will
- 16:53automatically verify the link. So,
- 16:56coming back, as soon as you log in,
- 16:58boom, the dashboard of our WhatsApp CRM
- 17:01is fully unlocked and live on screen.
- 17:05So now if I go to the settings section,
- 17:06look here, I'll click on the WhatsApp
- 17:08section. It is asking for the Meta API
- 17:13key and those credentials. So, how to
- 17:17connect WhatsApp to this CRM? Let's
- 17:20look at it step by step. So friends,
- 17:24for this, we need to search for Meta
- 17:26for Developers on Google, because
- 17:28WhatsApp is a Facebook company, and
- 17:30Facebook, Instagram, WhatsApp, etc.,
- 17:32all fall under Meta. Alright? As soon
- 17:35as you search for this, open the first
- 17:36website that appears. And here, now you
- 17:39will find the 'My Apps' option in the
- 17:41top right corner, click on it. So,
- 17:43simply log in using your Facebook
- 17:46account. Now you will see a dashboard
- 17:49here, where you will see a 'Create App'
- 17:51button, so you need to click that. Now
- 17:55it will ask for an app name, so I will
- 17:57simply enter 'WhatsApp' CRA. After that
- 18:00, click on the next part and in the
- 18:02category section, select 'Others', then
- 18:04I will click 'Others' again and click
- 18:06Next. Now here comes the type, so since
- 18:10our type is business, I will choose '
- 18:13Business' and go to details and click
- 18:15on create app. Yes, our WhatsApp
- 18:18developer app is now ready. Now we need
- 18:21to set up its WhatsApp, right? But
- 18:24before that, if you look at our code,
- 18:27meaning this .env local file, you can
- 18:30see it's asking for the Meta App Secret
- 18:32. So to get it, look here, in the Meta
- 18:36dashboard's left menu, go to App
- 18:38Settings and click on Basic. You will
- 18:42see the App Secret here, click on the '
- 18:44Show' button. Facebook might ask you
- 18:48for verification; so simply enter your
- 18:50password and copy this App Secret. Then
- 18:55come back here to the editor and paste
- 18:58it into the Meta App Secret section of
- 19:01the .env local file. And yes friends,
- 19:05the same old reminder, there is no need
- 19:07to copy the credentials you see on the
- 19:09screen and paste them directly into
- 19:11your code. Because these are secure
- 19:14things, so I delete them completely as
- 19:16soon as the video ends. So they won't
- 19:19work then. It is better that you follow
- 19:22the entire video. Create your own
- 19:24account. Then the credentials will be
- 19:27your own. And yes, you won't face any
- 19:30issues in the future. So use your own
- 19:33fresh credentials. Now, if you look at
- 19:37the terminal, our env variable has
- 19:39automatically reloaded. Usually, it
- 19:42happens on its own. If you don't see
- 19:44this auto-reload command, then simply
- 19:46do it manually. Simply press Ctrl + C
- 19:50to close your server, then type npm run
- 19:53dev again to restart the server. Now,
- 19:57let's go to our CRM dashboard where we
- 19:59need to add the credentials and such.
- 20:01Go back to the Meta dashboard and click
- 20:04on the Dashboard option here. Now,
- 20:06scroll down here and click on Setup
- 20:08next to the WhatsApp product. So here,
- 20:11you can see the Available Products
- 20:13option. You need to click on the setup
- 20:15option for WhatsApp here. Upon arriving
- 20:18here, you might need to select your
- 20:20Facebook page. If you don't have a
- 20:23Facebook page, just create a Facebook
- 20:26business page. It only takes about two
- 20:28minutes. Right? You must be using
- 20:29Facebook. There is an option there to
- 20:31create a page. Just simply enter your
- 20:33Facebook page there. That's it. And
- 20:36look, it will appear here. Okay? Now,
- 20:38what next? There is nothing in the
- 20:40Overview. We need to come to Step 1,
- 20:42which is "Try it out." Click here. Now,
- 20:45you will find two important things here
- 20:47. The first is the phone number. Copy
- 20:50this Phone Number ID and paste it into
- 20:53the box inside our WhatsApp CRM
- 20:55settings. Then comes the WhatsApp
- 20:58Business Account ID. Copy that as well,
- 21:01bring it to our CRM, and paste it here.
- 21:03Now, the third thing it is asking for
- 21:05is the Access Token. For this temporary
- 21:08access token, we will click on the "
- 21:11Generate Token" option here, and a
- 21:13popup will appear; just keep clicking
- 21:15continue, and we will get the access
- 21:18token. Simply copy it and paste it into
- 21:22the token box in the CRM settings. This
- 21:25token is currently temporary because
- 21:27what we are doing right now is in the
- 21:29development phase, in testing mode. We
- 21:32will need to convert this to live mode,
- 21:34and then this token will become
- 21:36permanently fixed. I will tell you the
- 21:38details about that later on. Don't
- 21:39worry about that. Okay? Now, the next
- 21:42step is to set the Webhook verification
- 21:45token. Look here, enter any secret code
- 21:49of your choice here. For example, I
- 21:52will enter MDA here. Okay? And then you
- 21:54don't have to do anything here. We need
- 21:56to come to Web Configuration. So for
- 21:58that, we need the Step 2 Production
- 22:00Setup that was inside WhatsApp. Okay?
- 22:03Come here, and look, there is a
- 22:05Callback URL option. So, in this, click
- 22:08the copy button for the Web
- 22:09Configuration to copy it, and then we
- 22:11have to paste it. Once you paste it,
- 22:14okay? After that, there is a Verify
- 22:16Token, which you will have to enter.
- 22:18The same token we entered on the CRM
- 22:20dashboard there. We will enter the same
- 22:23one here and click on Verify and Save.
- 22:25So, for now, this will show you an
- 22:27error. Okay? Now, there could be many
- 22:29reasons for this. Okay? Now you might
- 22:32ask, brother, why is this error coming?
- 22:34Because Meta's WhatsApp webhook does
- 22:37not accept a simple HTTP local URL. It
- 22:40needs a secure public URL, meaning
- 22:43HTTPS. Okay? So, we simply need to
- 22:47convert our local server into a public
- 22:49HTTPS URL so that our webhook gets
- 22:51verified. So, let's look at the process
- 22:55ahead. So friends, to turn our HTTP URL
- 22:59into a secure HTTPS one, we will use a
- 23:02tool called Ngrok. First, I will open
- 23:06Windows PowerShell, and I will give you
- 23:09a necessary command in the description
- 23:12box. You just simply use that. If you
- 23:16enter this command, Ngrok will be
- 23:18installed on your device. Now, after it
- 23:21is installed, you simply search for
- 23:23Ngrok on Google and log in there for
- 23:25free. Go to the dashboard and click on
- 23:29'Authenticate'. As soon as you see a
- 23:32command line code there, go to your
- 23:34dashboard and click on 'Your Auth Token
- 23:36'. Where you will see a command line
- 23:40code, click on 'Show Auth Token', then
- 23:42copy this command, go to PowerShell,
- 23:45paste it, and hit enter. Now see, as
- 23:48soon as we pasted it, an error appeared
- 23:50. So, this is basically not an error.
- 23:52Don't you panic about this. This is
- 23:54happening because our terminal hasn't
- 23:56refreshed after the installation. Okay?
- 23:59So, what do we need to do? Just look
- 24:00here at the top, you'll find a plus
- 24:02option. Meaning, an option to open a
- 24:05new tab. And I will run the same
- 24:07command again. So look, friends, our
- 24:09auth token has been configured
- 24:10successfully. So, I want to confirm
- 24:13once if our Ngrok is updated or not.
- 24:16Okay? There is one more command. I will
- 24:18run this one too. Look, our Ngrok is
- 24:21already up to date. Okay? This means we
- 24:24can proceed smoothly. So, what will I
- 24:26do? Now that our Ngrok is installed. I
- 24:29will completely close PowerShell. So
- 24:31now, let's go back to our Antigravity
- 24:34terminal. Here, click on the plus icon
- 24:37or open a new terminal tab from the
- 24:39terminal menu at the top. Here you just
- 24:42need a simple command, which is: "ngrok
- 24:45http 3000". Since our local project was
- 24:49running on 3000, that's why we wrote
- 24:513000 here, okay? If your project is
- 24:54showing localhost 3000 on the browser,
- 24:57or whatever number is shown there, you
- 24:59paste that number here. Usually, it is
- 25:033000, so you can easily type 3000, okay
- 25:06? Now, as soon as you press Enter, look
- 25:09, Ngrok has generated a secure public
- 25:11forwarding URL for us. If I copy this
- 25:14and open it in the browser, then click
- 25:16on 'Visit Site', look, our local CRM is
- 25:19now running on this public link. This
- 25:22means our Ngrok connection is perfect.
- 25:25Now, we will copy this Ngrok URL up to
- 25:28.dev. Or copy the URL shown in the
- 25:32terminal, then come to the Meta
- 25:35dashboard, and look, if I remove the
- 25:37localhost part from the callback URL
- 25:40and paste the Ngrok URL there. And yes,
- 25:44pay attention here, if your URL has a
- 25:47double slash, then remove the slash
- 25:49just like I am showing you on the
- 25:51screen and make the URL look exactly
- 25:53like mine. Okay, now I will simply
- 25:56click on Verify and Save. Okay, and
- 25:59look, the error has appeared again.
- 26:02Well, the reason this error is coming
- 26:04up, friends, is because we forgot to
- 26:06save the configuration we entered
- 26:07inside the WhatsApp CRM dashboard.
- 26:10Sorry for that. So, I will simply go to
- 26:13our CRM and click the Save
- 26:15Configuration button to save these
- 26:17settings. Now, come back to the Meta
- 26:20dashboard and click on Verify and Save
- 26:22again. And boom, look, our Facebook
- 26:25page has reloaded, and a pop-up has
- 26:27appeared saying our webhook has been
- 26:29successfully verified. So friends,
- 26:34let's now look at our final testing to
- 26:36check if the messages are actually
- 26:38coming through or not. I will simply go
- 26:41to the "Try it out" section of step one
- 26:43in Meta WhatsApp, and look, we have
- 26:45been given a testing number here. And
- 26:48yes friends, if you want to add your
- 26:50own number or personal business number
- 26:51here, then let me know in the comments.
- 26:54I will make a separate video on that.
- 26:56For now, we will proceed with this
- 26:58testing number. Okay? But before
- 27:00sending the message, let's do one
- 27:02important thing. The one we created
- 27:04keeps expiring. Okay? The WhatsApp API
- 27:07stops working after some time. So, to
- 27:10avoid this problem, we will convert our
- 27:12Meta app from development mode to live
- 27:15mode. For this, I will simply go to the
- 27:18Meta dashboard, look at the left menu,
- 27:20go to App Settings, and click on Basic.
- 27:23Here you will see a field for the
- 27:25Privacy Policy URL. So, you can put a
- 27:27link to your own live website here. And
- 27:30if you already have a live business
- 27:32privacy policy page URL, then simply
- 27:34enter it here. Okay? Now, as soon as
- 27:37you enter this URL and click on Save
- 27:39Changes, it's done. Now we will switch
- 27:42our app mode from the top from
- 27:44development to live. That's it, our
- 27:47access token has now switched to live
- 27:49mode. This means this token will not
- 27:51expire repeatedly anymore. Meaning,
- 27:54that hassle is gone forever. Now, let's
- 27:56test this out. I am opening WhatsApp.
- 28:00And look here on the screen, I am
- 28:01sending a message to the testing number
- 28:03. Hi. Okay. Now let's see if this
- 28:05message has arrived on our CRM
- 28:07dashboard or not. So look here, the 'Hi
- 28:09' message has been delivered to our
- 28:11WhatsApp CRM dashboard in real-time.
- 28:14Now let me try sending a message from
- 28:16the CRM. I am simply replying to it. I
- 28:20will just add a 'hello' emoji here and
- 28:22click on send. Now I will open my
- 28:24WhatsApp and check. Boom, the message
- 28:27sent through our CRM has been received
- 28:29instantly on our WhatsApp, look. So
- 28:33this means our completely free
- 28:35open-source WhatsApp CRM is now ready
- 28:37in 100%working condition without any
- 28:39monthly fees. Now, the features I
- 28:43showed you in the demo earlier, like
- 28:45pipelines, flows, builders, AI agents,
- 28:47and broadcasts—you can now implement
- 28:50everything as per your needs. Alright?
- 28:54But friends, what is the biggest main
- 28:56problem now? So far, this WhatsApp CRM
- 28:59of ours is running on our laptop on
- 29:01localhost. Alright? That is, on a local
- 29:04server. As soon as you turn off your
- 29:06laptop or shut down your server.
- 29:08Alright? Then this WhatsApp messaging
- 29:11will stop. But what do we need? We need
- 29:15it to be live on a public URL on the
- 29:1724x7 internet cloud permanently. So now
- 29:21we need to take it to the 24x7 internet
- 29:23cloud, on a public URL, so that whether
- 29:25your laptop is off, or you are sleeping
- 29:27, or accessing from a mobile, your
- 29:29WhatsApp automation keeps running
- 29:30automatically around the clock without
- 29:32stopping. And for this, first of all,
- 29:36we have to upload our code to GitHub.
- 29:38And yes friends, before moving forward,
- 29:40let me also tell you the prerequisites.
- 29:42To set up GitHub here, the Git software
- 29:45must be installed on your computer,
- 29:47alright? So installing it is very easy.
- 29:50You simply install the software that is
- 29:52Git. Alright? If you face any issues,
- 29:54tell me in the comments. I will provide
- 29:56you with documentation for it. Or just
- 29:57go straight to YouTube and watch a 1-
- 29:59minute tutorial on how to install Git
- 30:01software. Alright? So now, I'll simply
- 30:04go to the browser, search for GitHub,
- 30:06and open it. Now, I'll click the "New"
- 30:10button on the top right and enter the
- 30:12repository name here. WhatsApp CRM, and
- 30:15then I'll click on "Create repository"
- 30:18to create one. Alright? As soon as it's
- 30:20created, it will show some terminal
- 30:23commands on our screen. Alright? You
- 30:25can manually paste these commands into
- 30:27the Antigravity terminal if you want.
- 30:30But we are people who use AI. Right? So
- 30:32, I'll show you this in a slightly
- 30:34lazier way. First, we will use AI power
- 30:37. Just tell this Antigravity AI agent,
- 30:40"Upload all code to GitHub," and I'll
- 30:43paste the link to our Git repository
- 30:47here along with it. Now watch, this
- 30:49agent will start doing all the work in
- 30:51the background. If you reload this GH
- 30:54page, you will see that your code has
- 30:56appeared here. But the code hasn't
- 30:59appeared here. So, I'll do one thing:
- 31:01I'll just write to the agent, "Nothing
- 31:03happened," right? Okay, just by saying
- 31:05that, look, the agent has understood.
- 31:07It has fast-forwarded this background
- 31:09task and pushed all the code directly
- 31:11to our GitHub. So, I will reload the
- 31:13GitHub page once again to check. And
- 31:15boom, all project files are now live on
- 31:18our Git repository. Now, the final step
- 31:20is to deploy it live on the internet
- 31:2324x7. Right? For this, we will use
- 31:25Vercel. So, go to the browser, visit
- 31:28the Vercel website, and easily log in
- 31:30or sign up for free. Alright? And once
- 31:33you reach the dashboard, you will find
- 31:35the "Add New Project" section. Select
- 31:38it and select your project. Alright? So
- 31:40, what's happening here? I have already
- 31:42connected GitHub. So, my project is
- 31:44being shown here. But if you are doing
- 31:47this for the first time, simply click
- 31:50on the GH scope icon here, and a popup
- 31:52will appear. Alright? Now, you just
- 31:55need to allow the GitHub permissions,
- 31:57and GitHub will be connected to your
- 31:59Vercel. Once it's linked, you will see
- 32:02the list of your GitHub repositories
- 32:04right here, just like you see on my
- 32:06screen. Just click the import button
- 32:10for that WhatsApp CRM project you have.
- 32:13Now, it will ask you for environment
- 32:15variables. For this, I will go to
- 32:17AntiGravity and access all the keys and
- 32:19data from our ENV file. I will simply
- 32:23press Control + A to select everything,
- 32:24copy it, and paste it into the
- 32:26environment variables section here.
- 32:29This will automatically paste all our
- 32:31environment keys in an organized way.
- 32:35Just click on "Create Project" and "
- 32:37Deploy," and in a few seconds, the
- 32:39build will complete. Boom! Your
- 32:41WhatsApp CRM is now officially 100%live
- 32:44on Vercel Cloud. Now, let me log in to
- 32:47our account within Vercel to check it.
- 32:51Yes, look, our account is logging in
- 32:53completely. This means our CRM is now
- 32:55working online as well. Now, you can go
- 32:58ahead and shut down your laptop. Even
- 33:00then, your system will continue to work
- 33:02uninterrupted 24/7. So friends, this
- 33:05was the complete setup method to build
- 33:07your own powerful WhatsApp automation
- 33:09without any monthly subscriptions.
- 33:11Friends, there is an interesting point
- 33:13here because this entire CRM is open
- 33:15source. So, you can implement any extra
- 33:18features you want through AntiGravity
- 33:21or AI agents. I hope you liked this
- 33:23video. If you liked the video, go ahead
- 33:25and hit the like button. Share it with
- 33:27your friends, and if you are new to the
- 33:29channel, make sure to subscribe. And
- 33:31yes, let me know in the comments what
- 33:32the next video topic should be. See you
- 33:34in the next video. Until then, take
- 33:35care, bye-bye, and tata.
About this transcript
This page contains the full transcript of FREE WhatsApp CRM — Self-Host Your Own Automation Server ($0/Month!) by Manish Digital Academy, generated from the public captions YouTube serves with the video. The transcript has 5,548 words across 802 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.