YouTube2Text

FREE WhatsApp CRM — Self-Host Your Own Automation Server ($0/Month!) — Transcript

by Manish Digital Academy · 5,548 words · 802 segments · language en · Watch on YouTube

Full transcript

  1. 0:00Friends, stop wasting 2000, 5000, or
  2. 0:021000 rupees every month on WhatsApp
  3. 0:04automation! Because today, I’m going
  4. 0:07to tell you about a secret tool with
  5. 0:08which you can set up your own free,
  6. 0:10open-source WhatsApp automation service
  7. 0:12. And the best part, no monthly
  8. 0:14subscription, absolutely zero recurring
  9. 0:16costs. You don't need to know any
  10. 0:18coding to set this up. Anyone can
  11. 0:20easily set it up. And since it is free
  12. 0:22and open-source. If you ever need a
  13. 0:25feature that isn't available, you can
  14. 0:27customize and add it without any
  15. 0:29restrictions. Just set it up once, and
  16. 0:31you’ll have lifetime control in your
  17. 0:33hands. Let me first show you a quick
  18. 0:35demo of what it looks like and what
  19. 0:37features it has. So friends, as you can
  20. 0:40see on my screen. This is its main
  21. 0:42dashboard. Here you will get complete
  22. 0:44analytics. How many conversations are
  23. 0:46active? How are the chats progressing,
  24. 0:49and how is the server response? A clean
  25. 0:51and simple visual view. But now the
  26. 0:53most interesting part starts from here.
  27. 0:55If you go to its inbox section, you
  28. 0:57will see all your active chats lined up
  29. 1:00here. Suppose you’ve finished talking
  30. 1:03to a client or the deal is closed, you
  31. 1:05can simply click the dropdown at the
  32. 1:07top to mark the status as open or
  33. 1:09closed. You can also set up
  34. 1:12pre-approved templates directly here.
  35. 1:15Meaning, for those common FAQs or
  36. 1:16answers, you can set them in advance
  37. 1:18and just click to send them
  38. 1:20automatically. And yes, you can also
  39. 1:23have AI automatically generate replies
  40. 1:25and send them directly. Now, take a
  41. 1:27look at their pipeline feature. This is
  42. 1:29my personal favorite. Here, you can
  43. 1:31drag and drop leads in a Trello-style
  44. 1:33interface. Suppose a new client arrives
  45. 1:35. What is he now? First, he is in your
  46. 1:37lead stage. So you called them, your
  47. 1:39conversation progressed, and your
  48. 1:41client responded well. So you can just
  49. 1:44grab them, drag and drop them here into
  50. 1:47the negotiation column. Now, as soon as
  51. 1:50the deal with your client is closed,
  52. 1:51meaning the client has made the payment
  53. 1:53, you can drag and drop them here to
  54. 1:55shift them to 'won'. When your team
  55. 1:57handles multiple clients, this CRM will
  56. 1:59save you hours of work. The next
  57. 2:01feature here is Broadcast. Suppose you
  58. 2:04have a Diwali or New Year offer running
  59. 2:06, or there is a new update about your
  60. 2:08service. You can send bulk messages to
  61. 2:11your clients without any hassle at all.
  62. 2:13Then comes the automation scene here.
  63. 2:16This is even more incredible. You can
  64. 2:18directly create visual workflows here.
  65. 2:20Regarding this automation part,
  66. 2:22remember the video I made on N8N
  67. 2:24WhatsApp automation? You can kind of do
  68. 2:27that here as well, and the special
  69. 2:29thing is that you don't need to connect
  70. 2:31WhatsApp repeatedly because this is
  71. 2:33built specifically for your WhatsApp.
  72. 2:36Then here comes the Flow Builder. It is
  73. 2:39currently in beta. But this tool is
  74. 2:41also a powerful one. Through this, you
  75. 2:44can save interactive button
  76. 2:46configurations. You must have explored
  77. 2:50features in WhatsApp where you receive
  78. 2:52messages, meaning in business chats,
  79. 2:54you see buttons along with the text.
  80. 2:58Right? Now, when you click on those
  81. 3:00buttons, you get messages based on your
  82. 3:03activity. So, you can set up the same
  83. 3:05thing here too. Meaning, if a client
  84. 3:07presses button A, the reply will be
  85. 3:09sent accordingly. Then, if your client
  86. 3:11presses button B, a new menu will open.
  87. 3:14So, a completely interactive experience
  88. 3:17is created here. You can build this
  89. 3:19very easily through this. Apart from
  90. 3:21this, you get an AI agent here. You
  91. 3:23will have to connect the API here. Once
  92. 3:27you connect the API, the AI can talk to
  93. 3:29your customers in natural human
  94. 3:31language, in Hindi or English, and
  95. 3:33qualify the deal. And if you have a
  96. 3:37sales or support team, you can go to
  97. 3:39team members and add your friends or
  98. 3:41employees here. This will be useful for
  99. 3:44handling different chats entirely. And
  100. 3:46do you know the most interesting part?
  101. 3:48This entire system runs completely on
  102. 3:50your cloud and on your server. Meaning
  103. 3:52your data, your server, and zero
  104. 3:54monthly fees. So, the matter of privacy
  105. 3:57remains entirely under your control.
  106. 4:00Now you might be thinking, "Brother, is
  107. 4:01it necessary to know coding to set this
  108. 4:03up?" The answer is absolutely not; in
  109. 4:06the next few minutes, I am going to
  110. 4:08teach you how to install and run it
  111. 4:09live, step-by-step, without any coding.
  112. 4:12So watch the screen very carefully and
  113. 4:14don't miss any steps. So friends, let's
  114. 4:17first see what things we need to
  115. 4:19download to set this up. First of all,
  116. 4:22I have provided a link for you in the
  117. 4:24description box. Click on it, and you
  118. 4:26will be taken directly to this GH
  119. 4:29repository. When this GH page opens,
  120. 4:31you will see a button labeled "Code" in
  121. 4:34green. Just click on it and tap on "
  122. 4:37Download ZIP." The entire source code
  123. 4:40will be downloaded to your computer as
  124. 4:43a ZIP folder. Once it is downloaded,
  125. 4:46right-click on the ZIP folder and
  126. 4:48choose "Extract All." Keep the path as
  127. 4:52default and click "Extract," and your
  128. 4:54folder will be unzipped easily. Now,
  129. 4:57since this is a Node.js project. To run
  130. 5:01it smoothly, we will need some
  131. 5:02essential tools. So first, we need to
  132. 5:05download Node.js. Okay? Open a new tab
  133. 5:09in your browser, type "Node.js download
  134. 5:12," and download the LTS installer for
  135. 5:15Windows. If you already do a bit of
  136. 5:18coding, it might already be installed
  137. 5:20on your system. After that, to open the
  138. 5:24code, you can install the standard VS
  139. 5:27Code. But I recommend you download
  140. 5:30Google's Anti-Gravity IDE here instead.
  141. 5:33Because what's special about it? Along
  142. 5:35with coding, you can use powerful
  143. 5:38built-in AI features. Meaning, if you
  144. 5:41get an error or want to implement new
  145. 5:43features later, you can just give a
  146. 5:45simple prompt in Anti-Gravity and have
  147. 5:47the AI do the work. So make sure you
  148. 5:51download the IDE version of
  149. 5:52Anti-Gravity so you don't face any
  150. 5:54issues later. Once everything is
  151. 5:58downloaded, just install it like you
  152. 6:00would any normal game or software by
  153. 6:02clicking "Next." Once everything is
  154. 6:06installed, open Anti-Gravity. After
  155. 6:11opening Anti-Gravity, go to the top
  156. 6:13menu, click "File," and choose "Open
  157. 6:15Folder." Carefully select the same
  158. 6:19unzipped folder, and ensure that
  159. 6:22folders like "git,""dos," and "
  160. 6:25mcp-server" are visible inside. Just
  161. 6:29exactly as it is on my screen. If you
  162. 6:31accidentally select the parent or outer
  163. 6:34folder, you might run into errors in
  164. 6:36your terminal later on. So, make sure
  165. 6:38you open the exact, correct folder and
  166. 6:40click on that. Once the folder is open,
  167. 6:43if you look to the right side, you will
  168. 6:45see the Antigravity AI agent here. As I
  169. 6:49was saying, if you need to implement
  170. 6:51features later on or if an error pops
  171. 6:53up in your code, you can chat right
  172. 6:55here and get help directly from the
  173. 6:57agent. But for now, this isn't strictly
  174. 6:59necessary. Now, we need the terminal.
  175. 7:01So, in the top menu, look next to 'Run'
  176. 7:04and you will see the 'Terminal' option
  177. 7:07there. You need to click that and open
  178. 7:10a new terminal from there. We will run
  179. 7:12all our commands in this terminal. And
  180. 7:15yes, if any mistake happens while
  181. 7:17running commands, or if you don't
  182. 7:19understand what went wrong, don't worry
  183. 7:21. Just simply open the Antigravity
  184. 7:25agent on the right side. Then, just
  185. 7:28mention the Antigravity terminal here
  186. 7:30and ask your questions. The AI will
  187. 7:33understand your error and automatically
  188. 7:35fix it for you. Now comes the main part
  189. 7:38of our setup. On the left side in the
  190. 7:41file explorer, you will see a file
  191. 7:44named env.local.example. The first
  192. 7:47thing we need to do is rename this file
  193. 7:50. You can just right-click on this file
  194. 7:53to rename it, or you can press F2 on
  195. 7:55your keyboard. Okay, remove the '
  196. 7:59.example' part from the end and just
  197. 8:02rename it to .env.local, that's it. As
  198. 8:06soon as you open this file, you'll see
  199. 8:08it is asking for your Supabase
  200. 8:09credentials first. What is Supabase and
  201. 8:13how do we connect it to our project?
  202. 8:15Let's talk about that now. So friends,
  203. 8:19first we need the Supabase URL for this
  204. 8:22.env.local file, right? For that, I
  205. 8:26will go to the browser and search for
  206. 8:28Supabase. Open the first website that
  207. 8:31appears, and you can easily sign up
  208. 8:33using your Google account. Okay? Then
  209. 8:37go ahead and log in; the login process
  210. 8:39is quite simple. We know you must
  211. 8:41already know all of this. So, go ahead
  212. 8:42and do that. Now, after logging in,
  213. 8:44simply click on "Start your project"
  214. 8:47here and then select "New Project." You
  215. 8:49can name your project whatever you like
  216. 8:51. For instance, I will enter WA CRM,
  217. 8:54meaning WhatsApp CRM. Okay? Next, you
  218. 8:57will need a database password. Set a
  219. 9:00strong password and note it down
  220. 9:03somewhere safe because you will need it
  221. 9:06later if you ever require access.
  222. 9:10Simply enter the password here and
  223. 9:11click on "Create your project." Once
  224. 9:14the project is ready, you will see your
  225. 9:16Supabase Project URL here. Copy it with
  226. 9:19a single click and paste it into the
  227. 9:21file that was asking for the Supabase
  228. 9:24URL. Now, we need an anon key. Okay? So
  229. 9:28, where can you find that? It is very
  230. 9:29simple. On the left-hand menu of
  231. 9:32Supabase, go to Project Settings and
  232. 9:34click on API keys. You will find the
  233. 9:37anon public key right there. Copy it
  234. 9:40and paste it into the .env.local file.
  235. 9:44And yes, if this long key is
  236. 9:46overlapping outside the screen in the
  237. 9:48editor, you can do one thing. Go to the
  238. 9:51View menu at the top, find the "Word
  239. 9:53Wrap" option, and turn it on. This will
  240. 9:56make your screen look much clearer. Now
  241. 9:59, the next thing we need is the
  242. 10:01Supabase role key—that is, the
  243. 10:03service role key—which you can find
  244. 10:05in the same API section under the role
  245. 10:07key section. Simply click "Reveal" here
  246. 10:10, copy it, and paste it. And yes
  247. 10:14friends, do not copy the credentials
  248. 10:16shown on my screen, as I will delete
  249. 10:19these secret keys after the video.
  250. 10:23Instead, create your own Supabase
  251. 10:25account and get fresh credentials from
  252. 10:27there. If the steps I am explaining
  253. 10:30feel fast, you can pause or slow down
  254. 10:32the video to watch at your own pace.
  255. 10:36Okay, our next credential is an
  256. 10:38encryption key. Now, why is this needed
  257. 10:40? Because all the passwords and
  258. 10:43sensitive data in our CRM should be
  259. 10:45stored in an encrypted format in the
  260. 10:48database so that no hacker can steal
  261. 10:51our data. For this, we need a 64-hex
  262. 10:54character key. So, where can we get
  263. 10:56that? Actually, this needs to be
  264. 10:58generated; it is very easy. Look here
  265. 11:00in the file, there will be a command
  266. 11:02line below; copy this entire part,
  267. 11:03excluding the hash line. Now, press
  268. 11:06Control and the backtick key on your
  269. 11:08keyboard. This is basically a shortcut
  270. 11:10to open your terminal. Now, paste the
  271. 11:12command here in the terminal, hit enter
  272. 11:15, and boom, you will get your
  273. 11:17encryption key. Copy it directly and
  274. 11:19paste it into your file next to the
  275. 11:21encryption key. There you go, your
  276. 11:23Supabase credential part is now
  277. 11:25completely done. Now, let's try running
  278. 11:28this project locally. So, first, we
  279. 11:30need to install all the dependencies in
  280. 11:33the terminal. So, simply type ` npm
  281. 11:36install` here. Okay? And press enter
  282. 11:39here, and in a few seconds, all your
  283. 11:41necessary files will be installed. And
  284. 11:44after that, to run the project, type: `
  285. 11:47npm run dev`. As soon as it starts, you
  286. 11:50will see a localhost link in the
  287. 11:52terminal. Press Ctrl and click it, or
  288. 11:55copy it and open it in your browser.
  289. 11:58Look, our WhatsApp CRM website is now
  290. 12:00running locally. But, if you try to
  291. 12:04create a new account on this website
  292. 12:06right now, it will not register. Why?
  293. 12:10Because our database tables and SQL
  294. 12:12migrations, etc., have not yet been
  295. 12:14uploaded to our Supabase database cloud
  296. 12:17. So, if you look inside the project
  297. 12:20folder here, you will see a migrations
  298. 12:22folder inside Supabase. There are about
  299. 12:2539 different SQL tables here. All these
  300. 12:28tables need to be pushed to our
  301. 12:30database. I have provided a
  302. 12:31documentation link in the description
  303. 12:33box. Simply open it. Now there are two
  304. 12:36ways to do this. One is to go to the
  305. 12:39Supabase dashboard, copy and paste each
  306. 12:41file into the SQL editor, and spend a
  307. 12:43lot of time struggling with it. This
  308. 12:46will take a lot of time and be very
  309. 12:49tedious. So, for this, we will use the
  310. 12:51first method, which is the Supabase CLI
  311. 12:53. First of all, we should stop the
  312. 12:56terminal's running server. So let's see
  313. 12:59how that happens. For this, we will
  314. 13:01press Ctrl + C. Now, from the
  315. 13:04documentation provided in the
  316. 13:05description, copy the first install
  317. 13:07command for option B, i.e., the
  318. 13:09Supabase CLI, and run it in the
  319. 13:11terminal. After it is installed,
  320. 13:14Supabase will be installed locally on
  321. 13:16your system. What do we need to do now?
  322. 13:19Superbase needs to log in to our
  323. 13:21terminal. So for that, we will use this
  324. 13:23superbase login command. As soon as you
  325. 13:26hit enter here, the terminal will
  326. 13:27provide a login link. It will open
  327. 13:29directly in the browser and provide an
  328. 13:31authentication code. Copy that, paste
  329. 13:33it into the terminal, and then press
  330. 13:35enter. Now, our terminal will be logged
  331. 13:38in. Now we need to connect our project.
  332. 13:41For that, there is a command here,
  333. 13:43superbase link, which will ask for a
  334. 13:45project reference ID. Do you know where
  335. 13:48to find this ID? In the Superbase
  336. 13:52dashboard URL, look closely at the
  337. 13:54unique code that comes right after the
  338. 13:57slash project part. Look here, the
  339. 14:02unique code that appears after the
  340. 14:04slash project is the secret code you
  341. 14:05need to copy and paste into the
  342. 14:07terminal. Don't include the rest of the
  343. 14:10URL parts. Just like my ID, you will
  344. 14:14see a similar ID on your dashboard;
  345. 14:16copy it and paste it here, and the
  346. 14:18project will connect. Once the project
  347. 14:23is connected, use the superbase db push
  348. 14:26command to push the tables; it will
  349. 14:28detect all 39 SQL files, and as you hit
  350. 14:31enter, all these files will start
  351. 14:34uploading. However, look here, we have
  352. 14:39encountered a migration error. But
  353. 14:41don't worry about it. At the start of
  354. 14:44the video, I told you why the
  355. 14:46Antigravity AI agent is so special.
  356. 14:48Well, now it's going to come in handy.
  357. 14:49Just open the Antigravity agent on the
  358. 14:52right side, tag the terminal, and
  359. 14:55simply write "fix this." By writing
  360. 14:58just that, our AI agent will read the
  361. 15:01entire terminal error, analyze it, and
  362. 15:03automatically push it to the database
  363. 15:06to upload all your tables. Now you just
  364. 15:10need to tap on "accept all" on the
  365. 15:12screen. Now, to confirm, I will run the
  366. 15:15last command in the terminal one more
  367. 15:18time. Okay, it shows that our database
  368. 15:21is already up to date. Actually,
  369. 15:25instead of running these CLI commands
  370. 15:27yourself, you can just copy the entire
  371. 15:29command block and tell this AI agent to
  372. 15:32run it, and when the login part comes,
  373. 15:34it will automatically open the browser.
  374. 15:38You simply copy that authentication
  375. 15:40code and paste it here. Alright? And
  376. 15:42all of this work happens in the
  377. 15:43background. It will automatically do
  378. 15:45everything for you. So this is the real
  379. 15:47power of AI coding. By the way, whether
  380. 15:51it's Antigravity, Cursor, Claude Code,
  381. 15:53or GLM 5.3, these are all AI coding
  382. 15:56tools. If you understand their concepts
  383. 16:00well, you can solve any problem and
  384. 16:02build any software, app, or website. I
  385. 16:05have already made a video on this. If
  386. 16:07you want, you can watch it by clicking
  387. 16:08on the 'i' button. Yeah, okay. You can
  388. 16:10watch that later. You can save it for
  389. 16:12later. Let's watch this first. Okay?
  390. 16:15Now friends, our database is ready. So
  391. 16:19let's go back to our terminal and run
  392. 16:21it. npm run dev. Now open the localhost
  393. 16:25link. Ours was already opened. So I
  394. 16:28will simply reload it. Now let's try
  395. 16:31signing up and see. I will simply go to
  396. 16:34sign up, enter my name, email, and
  397. 16:36password, and click on register. Look,
  398. 16:38our account has been successfully
  399. 16:40created. Now it says that a
  400. 16:42verification link has been sent to the
  401. 16:44email. So I will quickly open my email
  402. 16:47inbox. Yes, look here, a confirmation
  403. 16:49mail from Supabase has arrived. So I
  404. 16:51will simply click on it, and it will
  405. 16:53automatically verify the link. So,
  406. 16:56coming back, as soon as you log in,
  407. 16:58boom, the dashboard of our WhatsApp CRM
  408. 17:01is fully unlocked and live on screen.
  409. 17:05So now if I go to the settings section,
  410. 17:06look here, I'll click on the WhatsApp
  411. 17:08section. It is asking for the Meta API
  412. 17:13key and those credentials. So, how to
  413. 17:17connect WhatsApp to this CRM? Let's
  414. 17:20look at it step by step. So friends,
  415. 17:24for this, we need to search for Meta
  416. 17:26for Developers on Google, because
  417. 17:28WhatsApp is a Facebook company, and
  418. 17:30Facebook, Instagram, WhatsApp, etc.,
  419. 17:32all fall under Meta. Alright? As soon
  420. 17:35as you search for this, open the first
  421. 17:36website that appears. And here, now you
  422. 17:39will find the 'My Apps' option in the
  423. 17:41top right corner, click on it. So,
  424. 17:43simply log in using your Facebook
  425. 17:46account. Now you will see a dashboard
  426. 17:49here, where you will see a 'Create App'
  427. 17:51button, so you need to click that. Now
  428. 17:55it will ask for an app name, so I will
  429. 17:57simply enter 'WhatsApp' CRA. After that
  430. 18:00, click on the next part and in the
  431. 18:02category section, select 'Others', then
  432. 18:04I will click 'Others' again and click
  433. 18:06Next. Now here comes the type, so since
  434. 18:10our type is business, I will choose '
  435. 18:13Business' and go to details and click
  436. 18:15on create app. Yes, our WhatsApp
  437. 18:18developer app is now ready. Now we need
  438. 18:21to set up its WhatsApp, right? But
  439. 18:24before that, if you look at our code,
  440. 18:27meaning this .env local file, you can
  441. 18:30see it's asking for the Meta App Secret
  442. 18:32. So to get it, look here, in the Meta
  443. 18:36dashboard's left menu, go to App
  444. 18:38Settings and click on Basic. You will
  445. 18:42see the App Secret here, click on the '
  446. 18:44Show' button. Facebook might ask you
  447. 18:48for verification; so simply enter your
  448. 18:50password and copy this App Secret. Then
  449. 18:55come back here to the editor and paste
  450. 18:58it into the Meta App Secret section of
  451. 19:01the .env local file. And yes friends,
  452. 19:05the same old reminder, there is no need
  453. 19:07to copy the credentials you see on the
  454. 19:09screen and paste them directly into
  455. 19:11your code. Because these are secure
  456. 19:14things, so I delete them completely as
  457. 19:16soon as the video ends. So they won't
  458. 19:19work then. It is better that you follow
  459. 19:22the entire video. Create your own
  460. 19:24account. Then the credentials will be
  461. 19:27your own. And yes, you won't face any
  462. 19:30issues in the future. So use your own
  463. 19:33fresh credentials. Now, if you look at
  464. 19:37the terminal, our env variable has
  465. 19:39automatically reloaded. Usually, it
  466. 19:42happens on its own. If you don't see
  467. 19:44this auto-reload command, then simply
  468. 19:46do it manually. Simply press Ctrl + C
  469. 19:50to close your server, then type npm run
  470. 19:53dev again to restart the server. Now,
  471. 19:57let's go to our CRM dashboard where we
  472. 19:59need to add the credentials and such.
  473. 20:01Go back to the Meta dashboard and click
  474. 20:04on the Dashboard option here. Now,
  475. 20:06scroll down here and click on Setup
  476. 20:08next to the WhatsApp product. So here,
  477. 20:11you can see the Available Products
  478. 20:13option. You need to click on the setup
  479. 20:15option for WhatsApp here. Upon arriving
  480. 20:18here, you might need to select your
  481. 20:20Facebook page. If you don't have a
  482. 20:23Facebook page, just create a Facebook
  483. 20:26business page. It only takes about two
  484. 20:28minutes. Right? You must be using
  485. 20:29Facebook. There is an option there to
  486. 20:31create a page. Just simply enter your
  487. 20:33Facebook page there. That's it. And
  488. 20:36look, it will appear here. Okay? Now,
  489. 20:38what next? There is nothing in the
  490. 20:40Overview. We need to come to Step 1,
  491. 20:42which is "Try it out." Click here. Now,
  492. 20:45you will find two important things here
  493. 20:47. The first is the phone number. Copy
  494. 20:50this Phone Number ID and paste it into
  495. 20:53the box inside our WhatsApp CRM
  496. 20:55settings. Then comes the WhatsApp
  497. 20:58Business Account ID. Copy that as well,
  498. 21:01bring it to our CRM, and paste it here.
  499. 21:03Now, the third thing it is asking for
  500. 21:05is the Access Token. For this temporary
  501. 21:08access token, we will click on the "
  502. 21:11Generate Token" option here, and a
  503. 21:13popup will appear; just keep clicking
  504. 21:15continue, and we will get the access
  505. 21:18token. Simply copy it and paste it into
  506. 21:22the token box in the CRM settings. This
  507. 21:25token is currently temporary because
  508. 21:27what we are doing right now is in the
  509. 21:29development phase, in testing mode. We
  510. 21:32will need to convert this to live mode,
  511. 21:34and then this token will become
  512. 21:36permanently fixed. I will tell you the
  513. 21:38details about that later on. Don't
  514. 21:39worry about that. Okay? Now, the next
  515. 21:42step is to set the Webhook verification
  516. 21:45token. Look here, enter any secret code
  517. 21:49of your choice here. For example, I
  518. 21:52will enter MDA here. Okay? And then you
  519. 21:54don't have to do anything here. We need
  520. 21:56to come to Web Configuration. So for
  521. 21:58that, we need the Step 2 Production
  522. 22:00Setup that was inside WhatsApp. Okay?
  523. 22:03Come here, and look, there is a
  524. 22:05Callback URL option. So, in this, click
  525. 22:08the copy button for the Web
  526. 22:09Configuration to copy it, and then we
  527. 22:11have to paste it. Once you paste it,
  528. 22:14okay? After that, there is a Verify
  529. 22:16Token, which you will have to enter.
  530. 22:18The same token we entered on the CRM
  531. 22:20dashboard there. We will enter the same
  532. 22:23one here and click on Verify and Save.
  533. 22:25So, for now, this will show you an
  534. 22:27error. Okay? Now, there could be many
  535. 22:29reasons for this. Okay? Now you might
  536. 22:32ask, brother, why is this error coming?
  537. 22:34Because Meta's WhatsApp webhook does
  538. 22:37not accept a simple HTTP local URL. It
  539. 22:40needs a secure public URL, meaning
  540. 22:43HTTPS. Okay? So, we simply need to
  541. 22:47convert our local server into a public
  542. 22:49HTTPS URL so that our webhook gets
  543. 22:51verified. So, let's look at the process
  544. 22:55ahead. So friends, to turn our HTTP URL
  545. 22:59into a secure HTTPS one, we will use a
  546. 23:02tool called Ngrok. First, I will open
  547. 23:06Windows PowerShell, and I will give you
  548. 23:09a necessary command in the description
  549. 23:12box. You just simply use that. If you
  550. 23:16enter this command, Ngrok will be
  551. 23:18installed on your device. Now, after it
  552. 23:21is installed, you simply search for
  553. 23:23Ngrok on Google and log in there for
  554. 23:25free. Go to the dashboard and click on
  555. 23:29'Authenticate'. As soon as you see a
  556. 23:32command line code there, go to your
  557. 23:34dashboard and click on 'Your Auth Token
  558. 23:36'. Where you will see a command line
  559. 23:40code, click on 'Show Auth Token', then
  560. 23:42copy this command, go to PowerShell,
  561. 23:45paste it, and hit enter. Now see, as
  562. 23:48soon as we pasted it, an error appeared
  563. 23:50. So, this is basically not an error.
  564. 23:52Don't you panic about this. This is
  565. 23:54happening because our terminal hasn't
  566. 23:56refreshed after the installation. Okay?
  567. 23:59So, what do we need to do? Just look
  568. 24:00here at the top, you'll find a plus
  569. 24:02option. Meaning, an option to open a
  570. 24:05new tab. And I will run the same
  571. 24:07command again. So look, friends, our
  572. 24:09auth token has been configured
  573. 24:10successfully. So, I want to confirm
  574. 24:13once if our Ngrok is updated or not.
  575. 24:16Okay? There is one more command. I will
  576. 24:18run this one too. Look, our Ngrok is
  577. 24:21already up to date. Okay? This means we
  578. 24:24can proceed smoothly. So, what will I
  579. 24:26do? Now that our Ngrok is installed. I
  580. 24:29will completely close PowerShell. So
  581. 24:31now, let's go back to our Antigravity
  582. 24:34terminal. Here, click on the plus icon
  583. 24:37or open a new terminal tab from the
  584. 24:39terminal menu at the top. Here you just
  585. 24:42need a simple command, which is: "ngrok
  586. 24:45http 3000". Since our local project was
  587. 24:49running on 3000, that's why we wrote
  588. 24:513000 here, okay? If your project is
  589. 24:54showing localhost 3000 on the browser,
  590. 24:57or whatever number is shown there, you
  591. 24:59paste that number here. Usually, it is
  592. 25:033000, so you can easily type 3000, okay
  593. 25:06? Now, as soon as you press Enter, look
  594. 25:09, Ngrok has generated a secure public
  595. 25:11forwarding URL for us. If I copy this
  596. 25:14and open it in the browser, then click
  597. 25:16on 'Visit Site', look, our local CRM is
  598. 25:19now running on this public link. This
  599. 25:22means our Ngrok connection is perfect.
  600. 25:25Now, we will copy this Ngrok URL up to
  601. 25:28.dev. Or copy the URL shown in the
  602. 25:32terminal, then come to the Meta
  603. 25:35dashboard, and look, if I remove the
  604. 25:37localhost part from the callback URL
  605. 25:40and paste the Ngrok URL there. And yes,
  606. 25:44pay attention here, if your URL has a
  607. 25:47double slash, then remove the slash
  608. 25:49just like I am showing you on the
  609. 25:51screen and make the URL look exactly
  610. 25:53like mine. Okay, now I will simply
  611. 25:56click on Verify and Save. Okay, and
  612. 25:59look, the error has appeared again.
  613. 26:02Well, the reason this error is coming
  614. 26:04up, friends, is because we forgot to
  615. 26:06save the configuration we entered
  616. 26:07inside the WhatsApp CRM dashboard.
  617. 26:10Sorry for that. So, I will simply go to
  618. 26:13our CRM and click the Save
  619. 26:15Configuration button to save these
  620. 26:17settings. Now, come back to the Meta
  621. 26:20dashboard and click on Verify and Save
  622. 26:22again. And boom, look, our Facebook
  623. 26:25page has reloaded, and a pop-up has
  624. 26:27appeared saying our webhook has been
  625. 26:29successfully verified. So friends,
  626. 26:34let's now look at our final testing to
  627. 26:36check if the messages are actually
  628. 26:38coming through or not. I will simply go
  629. 26:41to the "Try it out" section of step one
  630. 26:43in Meta WhatsApp, and look, we have
  631. 26:45been given a testing number here. And
  632. 26:48yes friends, if you want to add your
  633. 26:50own number or personal business number
  634. 26:51here, then let me know in the comments.
  635. 26:54I will make a separate video on that.
  636. 26:56For now, we will proceed with this
  637. 26:58testing number. Okay? But before
  638. 27:00sending the message, let's do one
  639. 27:02important thing. The one we created
  640. 27:04keeps expiring. Okay? The WhatsApp API
  641. 27:07stops working after some time. So, to
  642. 27:10avoid this problem, we will convert our
  643. 27:12Meta app from development mode to live
  644. 27:15mode. For this, I will simply go to the
  645. 27:18Meta dashboard, look at the left menu,
  646. 27:20go to App Settings, and click on Basic.
  647. 27:23Here you will see a field for the
  648. 27:25Privacy Policy URL. So, you can put a
  649. 27:27link to your own live website here. And
  650. 27:30if you already have a live business
  651. 27:32privacy policy page URL, then simply
  652. 27:34enter it here. Okay? Now, as soon as
  653. 27:37you enter this URL and click on Save
  654. 27:39Changes, it's done. Now we will switch
  655. 27:42our app mode from the top from
  656. 27:44development to live. That's it, our
  657. 27:47access token has now switched to live
  658. 27:49mode. This means this token will not
  659. 27:51expire repeatedly anymore. Meaning,
  660. 27:54that hassle is gone forever. Now, let's
  661. 27:56test this out. I am opening WhatsApp.
  662. 28:00And look here on the screen, I am
  663. 28:01sending a message to the testing number
  664. 28:03. Hi. Okay. Now let's see if this
  665. 28:05message has arrived on our CRM
  666. 28:07dashboard or not. So look here, the 'Hi
  667. 28:09' message has been delivered to our
  668. 28:11WhatsApp CRM dashboard in real-time.
  669. 28:14Now let me try sending a message from
  670. 28:16the CRM. I am simply replying to it. I
  671. 28:20will just add a 'hello' emoji here and
  672. 28:22click on send. Now I will open my
  673. 28:24WhatsApp and check. Boom, the message
  674. 28:27sent through our CRM has been received
  675. 28:29instantly on our WhatsApp, look. So
  676. 28:33this means our completely free
  677. 28:35open-source WhatsApp CRM is now ready
  678. 28:37in 100%working condition without any
  679. 28:39monthly fees. Now, the features I
  680. 28:43showed you in the demo earlier, like
  681. 28:45pipelines, flows, builders, AI agents,
  682. 28:47and broadcasts—you can now implement
  683. 28:50everything as per your needs. Alright?
  684. 28:54But friends, what is the biggest main
  685. 28:56problem now? So far, this WhatsApp CRM
  686. 28:59of ours is running on our laptop on
  687. 29:01localhost. Alright? That is, on a local
  688. 29:04server. As soon as you turn off your
  689. 29:06laptop or shut down your server.
  690. 29:08Alright? Then this WhatsApp messaging
  691. 29:11will stop. But what do we need? We need
  692. 29:15it to be live on a public URL on the
  693. 29:1724x7 internet cloud permanently. So now
  694. 29:21we need to take it to the 24x7 internet
  695. 29:23cloud, on a public URL, so that whether
  696. 29:25your laptop is off, or you are sleeping
  697. 29:27, or accessing from a mobile, your
  698. 29:29WhatsApp automation keeps running
  699. 29:30automatically around the clock without
  700. 29:32stopping. And for this, first of all,
  701. 29:36we have to upload our code to GitHub.
  702. 29:38And yes friends, before moving forward,
  703. 29:40let me also tell you the prerequisites.
  704. 29:42To set up GitHub here, the Git software
  705. 29:45must be installed on your computer,
  706. 29:47alright? So installing it is very easy.
  707. 29:50You simply install the software that is
  708. 29:52Git. Alright? If you face any issues,
  709. 29:54tell me in the comments. I will provide
  710. 29:56you with documentation for it. Or just
  711. 29:57go straight to YouTube and watch a 1-
  712. 29:59minute tutorial on how to install Git
  713. 30:01software. Alright? So now, I'll simply
  714. 30:04go to the browser, search for GitHub,
  715. 30:06and open it. Now, I'll click the "New"
  716. 30:10button on the top right and enter the
  717. 30:12repository name here. WhatsApp CRM, and
  718. 30:15then I'll click on "Create repository"
  719. 30:18to create one. Alright? As soon as it's
  720. 30:20created, it will show some terminal
  721. 30:23commands on our screen. Alright? You
  722. 30:25can manually paste these commands into
  723. 30:27the Antigravity terminal if you want.
  724. 30:30But we are people who use AI. Right? So
  725. 30:32, I'll show you this in a slightly
  726. 30:34lazier way. First, we will use AI power
  727. 30:37. Just tell this Antigravity AI agent,
  728. 30:40"Upload all code to GitHub," and I'll
  729. 30:43paste the link to our Git repository
  730. 30:47here along with it. Now watch, this
  731. 30:49agent will start doing all the work in
  732. 30:51the background. If you reload this GH
  733. 30:54page, you will see that your code has
  734. 30:56appeared here. But the code hasn't
  735. 30:59appeared here. So, I'll do one thing:
  736. 31:01I'll just write to the agent, "Nothing
  737. 31:03happened," right? Okay, just by saying
  738. 31:05that, look, the agent has understood.
  739. 31:07It has fast-forwarded this background
  740. 31:09task and pushed all the code directly
  741. 31:11to our GitHub. So, I will reload the
  742. 31:13GitHub page once again to check. And
  743. 31:15boom, all project files are now live on
  744. 31:18our Git repository. Now, the final step
  745. 31:20is to deploy it live on the internet
  746. 31:2324x7. Right? For this, we will use
  747. 31:25Vercel. So, go to the browser, visit
  748. 31:28the Vercel website, and easily log in
  749. 31:30or sign up for free. Alright? And once
  750. 31:33you reach the dashboard, you will find
  751. 31:35the "Add New Project" section. Select
  752. 31:38it and select your project. Alright? So
  753. 31:40, what's happening here? I have already
  754. 31:42connected GitHub. So, my project is
  755. 31:44being shown here. But if you are doing
  756. 31:47this for the first time, simply click
  757. 31:50on the GH scope icon here, and a popup
  758. 31:52will appear. Alright? Now, you just
  759. 31:55need to allow the GitHub permissions,
  760. 31:57and GitHub will be connected to your
  761. 31:59Vercel. Once it's linked, you will see
  762. 32:02the list of your GitHub repositories
  763. 32:04right here, just like you see on my
  764. 32:06screen. Just click the import button
  765. 32:10for that WhatsApp CRM project you have.
  766. 32:13Now, it will ask you for environment
  767. 32:15variables. For this, I will go to
  768. 32:17AntiGravity and access all the keys and
  769. 32:19data from our ENV file. I will simply
  770. 32:23press Control + A to select everything,
  771. 32:24copy it, and paste it into the
  772. 32:26environment variables section here.
  773. 32:29This will automatically paste all our
  774. 32:31environment keys in an organized way.
  775. 32:35Just click on "Create Project" and "
  776. 32:37Deploy," and in a few seconds, the
  777. 32:39build will complete. Boom! Your
  778. 32:41WhatsApp CRM is now officially 100%live
  779. 32:44on Vercel Cloud. Now, let me log in to
  780. 32:47our account within Vercel to check it.
  781. 32:51Yes, look, our account is logging in
  782. 32:53completely. This means our CRM is now
  783. 32:55working online as well. Now, you can go
  784. 32:58ahead and shut down your laptop. Even
  785. 33:00then, your system will continue to work
  786. 33:02uninterrupted 24/7. So friends, this
  787. 33:05was the complete setup method to build
  788. 33:07your own powerful WhatsApp automation
  789. 33:09without any monthly subscriptions.
  790. 33:11Friends, there is an interesting point
  791. 33:13here because this entire CRM is open
  792. 33:15source. So, you can implement any extra
  793. 33:18features you want through AntiGravity
  794. 33:21or AI agents. I hope you liked this
  795. 33:23video. If you liked the video, go ahead
  796. 33:25and hit the like button. Share it with
  797. 33:27your friends, and if you are new to the
  798. 33:29channel, make sure to subscribe. And
  799. 33:31yes, let me know in the comments what
  800. 33:32the next video topic should be. See you
  801. 33:34in the next video. Until then, take
  802. 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.