Getting the transcript
Reading the captions from YouTube. A video nobody has opened here before takes 10 to 30 seconds; this page fills in on its own.
Getting the transcript
Reading the captions from YouTube. A video nobody has opened here before takes 10 to 30 seconds; this page fills in on its own.

Google Cloud APAC · @GoogleCloudAPAC
Words
2,079
Runtime
11:15
Speaking pace
185wpm
Reading time
9min
185 words per minute, between the 181 median and the 201 75th percentile of 349 measured videos. That distribution comes from the 349-video hook study.
Opening (first 30 seconds)
Hello everyone. My name is Navin Reddy. I'm a Google Developer Expert. And today I have received a challenge from Google Cloud, and the challenge is: "Your most valuable business data is currently trapped behind a SQL wall. The data exists, but the bottleneck is the access. Can we unlock years of complex databases and turn them into a plain English conversation?" And that's why today I'm building an AI agent for a Google Cloud database with a simple chat interface using Google ADK and MCP servers. So we are going to use
93 words, the words spoken in the first 30 seconds at 185 words per minute.
Free, no signup. See how the first 30 seconds hold attention, with rewrites.
Sentence shape
| Measure | This transcript |
|---|---|
| Sentences | 187 |
| Average words per sentence | 11.1 |
| Longest sentence | 43 words |
| Questions asked | 4 |
| Sentences containing a number | 7 |
Most used terms
Filler phrases
5 in total: basically 4 · I mean 1.
A literal whole-word count of the same phrase list the Prepublish browser extension uses, so a phrase inside another word is not counted and a phrase used in its ordinary sense still is. It is a count and not a judgement.
Free, no account. See where attention is likely to drop, with a rewrite for each weak line. The free check shows the scores and the one issue costing the most. Or run it on the words above first.
Free · No login · See a sample audit first if you prefer.
What this transcript is
Every word below is the caption track YouTube publishes for this video, pulled from the video itself and reproduced unchanged. It is not Prepublish's writing, not a summary, and not a re-transcription: it is the video's own published captions. English captions, published by the channel, in the video’s original language. Source: the video on YouTube. A channel that would rather this page did not exist can ask for its removal through the contact page, and it is removed.
No Script X-ray for this video: YouTube shows a Most replayed graph only once a video has enough views.
Hello everyone. My name is Navin Reddy. I'm a Google Developer Expert. And today I have received a challenge from Google Cloud, and the challenge is: "Your most valuable business data is currently trapped behind a SQL wall. The data exists, but the bottleneck is the access. Can we unlock years of complex databases and turn them into a plain English conversation?" And that's why today I'm building an AI agent for a Google Cloud database with a simple chat interface using Google ADK and MCP servers.
So we are going to use Antigravity CLI here for the prompts and to get the work done. Of course, we want to use the Google Cloud services here. So, the first thing I want to do is gcloud auth login. So, we have to set two things. We have to set the project ID, and the project ID is fixed. I have a project created in the Google Cloud called telusko-agent, I'm going to use that. And for that, I'm going to provide a default login here.
So let's do that. And now, let's set the project. And the project is telusko-agent, so that this will be connected with the Google Cloud service. The property is updated. Perfect. Now, the only thing left is the quota for the project, and you have to make sure that you have a billing account. Now, the data is there in the BigQuery. Of course, we need to have a BigQuery service. We are going to use the AI Studio service.
And at the end, we are going to deploy as well. So, we need a Cloud Build and the Artifact Registry. So, let's add all these services and enable them here. So, the idea is a bit simple. So, we want a webpage where a user will interact. So, whatever questions a user is asking will be going through a nice UI. The UI will interact with the agent, and the agent should be private, only accessible through the UI. So, I'm going to download the toolbox, and this is the URL.
And once the download is complete, the first thing you're going to do is grant the executable permission. Normally, what I do for the projects is create the AGENTS.md file. We can write a prompt for it, and we are going to do that in Antigravity CLI. So, let me open that with agy command. The first thing we need is the AGENTS.md file where I'm going to have the project description. Next, we also need the BigQuery setup and a web UI.
And we are going to do that with the help of FastAPI. So, this is our prompt for that: "Create an AGENTS.md for this project." There are two services which we need. One is the ADK agent and that will have the agent_service folder. Then, we also need a BigQuery to which we are going to use the MCP toolbox binary. We also need a FastAPI web app. Okay, so basically we have this structure. So, I will simply say "yes". So, we have the agent service folder, we have the web folder where we're going to have the FastAPI and our web UI.
We have the bigquery folder, okay, which has the requirements.txt. So, we need google-cloud-bigquery and python-dotenv. The next thing I want to do is I want to change the values in the .env file. So, at this point, if you see, we have GOOGLE_APPLICATION_CREDENTIALS, and I'm not going to set that manually, so we don't even need that. I'm going to use the IAM service. Then, we have to set the project ID for the BigQuery, dataset name, and the port.
So, instead of doing that, let me just have the configuration here. So, the Google Cloud project which we have is telusko-agent. The BigQuery in that project will be the same. The dataset name, I want to go with agentic_demo. Location US which works — again, you can try with different combinations, but I don't want to experiment in the video now. The Vertex AI, I want it to be used. And the model for Gemini, because the agent will be talking to the LLM, I'm going to use Gemini 3.5 Flash.
The only thing I have to change is the TOOLBOX_BIN. So, we have a toolbox here. I'm going to just copy the path and paste it here. AGENT_URL is this by default, so we'll just set it as it is. And we have data_agent. Perfect! So, the .env files look good. So, basically what I want is I want it to write a BigQuery setup script from the specs in AGENTS.md. The thing is AGENTS.md should have a dataset structure: what tables you want, what columns you want, and how many dummy records you want.
So, let me have a setup for the BigQuery demo in the AGENTS.md, and reading this, it will create my dataset, my tables, and the records. So, basically in this, we have two tables: one is sales and one is products. And these are the columns you have for the sales, and these are the columns you have for the products. Perfect. In the sales, we need 1400 equal rows, and products, I'm okay even if we have three products or five products or 10 products.
And now I'm going to paste something which are the house rules. So, whenever I work with Python project and ADK — so these are the things which I normally do, which is the ADK Agent Spec. So, this is the agent that I'm going to work with. And these are the imports. So, this is to control the hallucination from the AI. Once you have those things ready, it's time to execute this prompt. So, "Write a BigQuery setup script..." I hope everything is set up.
We have done that in the environment variables. It should be able to connect to the BigQuery now. So, we have this file, which is requirements.txt, and we can verify that once. And nothing much changed. And then we also have the setup.py which has the details. We have BigQuery project, the name is agentic_demo — okay, that's dataset name. So, we are putting some dummy records here, and once we run this, it should create the records here.
At this point, you can see we don't have that agentic_demo dataset available in the BigQuery. So, time to execute that. So, let's do that in the new terminal. So, the first thing is I have to move to the bigquery [folder], so, done. Then I have to do the installation. There's an issue with the permissions, so I will ask it to install this. So, the alias should be pip3, but we have pip here. So, it should change it now.
That's what happens when you switch between different OSes. Create the virtual environment, activate the virtual environment. Okay, we have the sales record here. And we have the agentic_demo here. Let's see the data in the products table. So, columns look good. And the data — perfect. So, let's check the sales data. And it should have 1400 records. If it has that, I'm happy. Okay, so we have 1400 records. Perfect. So things are looking good from the BigQuery end.
It's time to implement the agent_service/agent.py. Okay, I want it to install the requirements. Let's run the agent service with adk-web. So, basically, you get this adk-web through which you can interact with your agents. Okay, so some of the services are using this port number. So, I think 8085 is available for us. Okay, so we got the adk-web page. So, now I'm going to ask this question: "Which product category had the highest sales last quarter?" And this should be coming from the BigQuery, okay.
Let's see if it is able to talk to the BigQuery. So, as an MCP tool, it provides you different functions to work with our tools you can say, specifically. So, we have list_table_ids, we have get_table_info, and then based on that information, you can execute your query. And that's what you can see here. So, we have the records. So, for the last quarter — this is the last quarter, and this is the revenue. Perfect! I need to also show you which region: the West region is the highest one here.
And this is the SQL query it has executed. So, from the agentic or adk-web, I'm able to access the BigQuery. But then, as a normal user, I'm not going to use adk-web. I'm going to use a normal HTML page or a beautiful UI. How do we do that? And we don't have the UI yet. So, let's go back to ADK and say: "Now it's time to build the web frontend, which works with FastAPI backend and a clean webpage — single page with the question box and the results area that shows every step the agent took." Of course, the output is important, the information about product category and the region, but we also want the SQL to see what we saw in the ADK.
So, I know the UI is not that beautiful, but the data is important. So, it is hitting this particular tool first: we have the table IDs, these two tables. And then from the products, we have — I mean, we have the table info for the product and for the sale. And then it is hitting the queries, and these are the details. Again, not that beautiful, but here we have some information. So, this is the amount, and the region is West.
Perfect! This is what we were asking, right. Now, things are working on local. So, we have to deploy this to the cloud, and there are two different services: one is the agent service and the second is the FastAPI service. I want the agent to be private and this FastAPI to be public. And the only way you can access the agent is through the FastAPI. Let's do the deployment step. And to do that, I'm going to use Docker.
So, we have to create two Docker files: one for the agent service and one for the FastAPI. And then you have to make sure that the agent service remains private. And we have to give the access — the service account access for the BigQuery and for the Vertex AI. So, let's do this. So, Docker file is getting created. Okay, the service account is created. That's great, so we don't have to do that manually now. And deployment has started.
Cloud Run as private service, that's great. And we have the URL as well. Let's try to access the private URL. Okay, that's great. Yes, deploy the web frontend. So, the agent is deployed, now we are deploying the web frontend. The only concern I have is, will it be able to access the service account. Because manually I have not mentioned it anywhere. So, run the deploy_web.sh. Web deployment complete. So, this is the public URL for the web.
Open it. Let's ask the same question now, but this time not local — something which is deployed. "Ask Agent". And the same output! Perfect. Okay, so we have our build ready. Now, what we have done is, we wanted to work with the BigQuery. So, of course, if you want to work with a BigQuery, we need SQL queries. But then, what if non-developers want to access it? And with the help of AI now, you should be able to write the plain text and you should be able to talk to BigQuery.
And if you can see here, we have the web folder where you have your FastAPI and the HTML. Then you have your BigQuery — this is the configuration we have done for the initial data. And the next one is the agent_service. This is where the actual talking is happening. But again, most of the load is taken by the MCP itself, so you're not writing a whole lot of code to talk to the BigQuery here. In 2026, it's not about syntax or frameworks.
It's about building great products faster. You can use coding assistance for the speed, but make sure that you are deciding the entire pipeline. And if you want to try this on your machine, you can find the repo link below. So keep building and keep shipping.
The words are the caption track's own and nothing is reworded or re-transcribed. Paragraph breaks are placed between sentences so the text reads as prose.
Free tools for your own script: paste a draft and see where it stands before you record it.
Paste your draft and see where viewers are likely to drop off, with a rewrite for each weak line.
Paste the first 30 seconds of your own draft for a hook score and rewrites.
Check your draft against YouTube's advertiser-friendly guidelines before you record it.
Read this channel's public videos and transcripts, and download a writing brief for it.