DEV Community

xbill for Google Developer Experts

Posted on • Originally published at xbill999.Medium on

Creating a Low-code Agent with the ADK Visual Builder

Leveraging the Google Agent Development Kit (ADK) and the underlying Gemini LLM to build low code in the Python programming language deployed securely to Google Cloud Run.

Python Version Management

One of the downsides of the wide deployment of Python has been managing the language versions across platforms and maintaining a supported version.

The pyenv tool enables deploying consistent versions of Python:

GitHub - pyenv/pyenv: Simple Python version management

As of writing — the mainstream python version is 3.13. To validate your current Python:

xbill@penguin:~$ python --version
Python 3.13.12

xbill@penguin:~$ pyenv version
3.13.12 (set by /home/xbill/.pyenv/version)
Enter fullscreen mode Exit fullscreen mode

Gemini CLI

If not pre-installed you can download the Gemini CLI to interact with the source files and provide real-time assistance:

npm install -g @google/gemini-cli
Enter fullscreen mode Exit fullscreen mode

Testing the Gemini CLI Environment

Once you have all the tools and the correct Node.js version in place- you can test the startup of Gemini CLI. You will need to authenticate with a Key or your Google Account:

gemini
Enter fullscreen mode Exit fullscreen mode

Node Version Management

Gemini CLI needs a consistent, up to date version of Node. The nvm command can be used to get a standard Node environment:

GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions

Agent Development Kit

The Google Agent Development Kit (ADK) is an open-source, Python-based framework designed to streamline the creation, deployment, and orchestration of sophisticated, multi-agent AI systems. It treats agent development like software engineering, offering modularity, state management, and built-in tools (like Google Search) to build autonomous agents.

The ADK can be installed from here:

Agent Development Kit (ADK)

Where do I start?

The strategy for starting low code agent development is a incremental step by step approach.

The agents in the demo are based on the original code lab:

Create and deploy low code ADK (Agent Deployment Kit) agents using ADK Visual Builder | Google Codelabs

First, the basic development environment is setup with the required system variables, and a working Gemini CLI configuration.

Then, a minimal ADK Agent is built with the visual builder. Next— the entire solution is deployed to Google Cloud Run.

Setup the Basic Environment

At this point you should have a working Python environment and a working Gemini CLI installation. The next step is to clone the GitHub samples repository with support scripts:

cd ~
git clone https://github.com/xbill9/adkui
Enter fullscreen mode Exit fullscreen mode

Then run init.sh from the cloned directory.

The script will attempt to determine your shell environment and set the correct variables:

source init.sh
pip install -r requirements.txt
Enter fullscreen mode Exit fullscreen mode

If your session times out or you need to re-authenticate- you can run the set_env.sh script to reset your environment variables:

source set_env.sh
Enter fullscreen mode Exit fullscreen mode

Variables like PROJECT_ID need to be setup for use in the various build scripts- so the set_env script can be used to reset the environment if you time-out.

Running the Agent Code

First- start the ADK interface:

xbill@penguin:~/adkui$ adk web
2026-02-21 14:31:53,810 - INFO - service_factory.py:266 - Using in-memory memory service
2026-02-21 14:31:53,811 - INFO - local_storage.py:84 - Using per-agent session storage rooted at /home/xbill/adkui
2026-02-21 14:31:53,811 - INFO - local_storage.py:110 - Using file artifact service at /home/xbill/adkui/.adk/artifacts
INFO: Started server process [25329]
INFO: Waiting for application startup.

+-----------------------------------------------------------------------------+
| ADK Web Server started |
| |
| For local testing, access at http://127.0.0.1:8000. |
+-----------------------------------------------------------------------------+

INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
Enter fullscreen mode Exit fullscreen mode

Running the Tool Locally

Connect to the local web interface:

Then drill into the first Agent — Agent1:

This Agent uses the google_search tool along with the current context:

Deploying to Cloud Run

After the HTTP version of the Agent has been tested locally — it can be deployed remotely to Google Cloud Run.

First- switch to the directory:

xbill@penguin:~/adkui$ python3 deploycloudrun.py 
🔍 Checking if service account adkvisualbuilder@comglitn.iam.gserviceaccount.com exists...
✅ Service account adkvisualbuilder already exists.
🔐 Assigning IAM roles to adkvisualbuilder@comglitn.iam.gserviceaccount.com...
Enter fullscreen mode Exit fullscreen mode

When the build is complete- an endpoint will be returned. The service endpoint in this example is :

https://agent1service-1056842563084.us-central1.run.app
Enter fullscreen mode Exit fullscreen mode

The actual endpoint will vary based on your project settings.

Review Service in Cloud Run

Navigate to the Google Cloud console and search for Cloud Run -

Validate Cloud Run Deployment

Once you have the Endpoint — you can attempt a connection- navigate to in your browser:

Code Review with Gemini CLI

Gemini CLI was used to review the Agent:

✦ The Agent1 directory contains a minimal starter configuration for a Google ADK agent. Here is the code review for
  Agent1/root_agent.yaml:

  Agent1/root_agent.yaml

   1 name: Agent1
   2 model: gemini-2.5-flash
   3 agent_class: LlmAgent
   4 instruction: You are the root agent that coordinates other agents.
   5 sub_agents: []
   6 tools:
   7 - name: google_search

  Observations:

   1. Model Selection: It uses gemini-2.5-flash. Ensure your environment and API keys support this specific model
      version, as it is a cutting-edge/experimental release.
   2. Instruction Clarity: The instruction is extremely brief: "You are the root agent that coordinates other
      agents." However, sub_agents is currently an empty list [].
       * Recommendation: If this agent is intended to be a coordinator, you should define the sub_agents it will
         manage. If it's a standalone agent, update the instruction to reflect its specific task (e.g., "You are a
         research assistant...").
   3. Tooling: It only has access to google_search.
       * Recommendation: Since it's a "root agent," it might benefit from tools that allow it to interact with the
         filesystem or other services if it's meant to orchestrate the pipeline described in GEMINI.md.
Enter fullscreen mode Exit fullscreen mode

Summary

The Agent Development Kit was used to visually define a basic agent and added the Google Search Tool. This Agent was tested locally, and then deployed to Google Cloud Run. The Agent was code reviewed and validated with Gemini CLI.

Top comments (0)