---
type: "post"
id: "step-by-step-guide-build-a-voice-agent-259b68"
slug: "step-by-step-guide-build-a-voice-agent-259b68"
title: "Step by Step guide: Build a Voice Agent That Never Goes Silent using ADK"
description: "Google’s guide presents a concrete runtime problem: a voice agent that waits synchronously for a slow tool can leave the caller in silence."
retrieval_nugget: "Google’s guide presents a concrete runtime problem: a voice agent that waits synchronously for a slow tool can leave the caller in silence."
published_at: "2026-10-19"
updated_at: "2026-10-19"
record_date: "2026-10-19"
date_kind: "published_at"
topics: ["google"]
source_urls: ["https://developers.googleblog.com/step-by-step-guide-build-a-voice-agent-that-never-goes-silent-using-adk"]
schema_version: "newruntime-agent-readable-v0.2"
stable_id: "post:step-by-step-guide-build-a-voice-agent-259b68"
status: "published"
visuals: []
editorial_provenance: {"schema_version":"newruntime-editorial-copy-v1","content_status":"source_grounded_final","final_copy_sha256":"sha256:20cb2d7ba50cd9ab26ac9f452c96863cb958afe770b08382d1f79aae006bc9e4","reviewed_at":"2026-10-19T20:07:41.592Z","source_evidence_count":1,"verified_claim_count":2,"site_analysis_schema_version":"newruntime-site-analysis-v1","site_object_kind":"field_note","observed_fact_count":2,"implication_count":1,"watch_condition_count":1,"related_record_count":0}
analysis: {"schema_version":"newruntime-site-analysis-v1","object_kind":"field_note","thesis":"responsive voice agents need tool execution that can continue without blocking the conversational loop.","observed_facts":[{"text":"Google’s guide describes ADK streaming tools that yield progress updates while work continues.","source_urls":["https://developers.googleblog.com/step-by-step-guide-build-a-voice-agent-that-never-goes-silent-using-adk"]},{"text":"In Google’s sales-report workflow on Gemini 3.8 Live, switching from a blocking to a streaming tool reduced time to first words from 14.4 seconds to 1.2 seconds.","source_urls":["https://developers.googleblog.com/step-by-step-guide-build-a-voice-agent-that-never-goes-silent-using-adk"]}],"mechanism":"ADK streaming tools yield progress updates while work continues, whereas background execution suits tasks where repeated narration would be intrusive. Response scheduling then controls how the eventual result re-enters the conversation.","why_now":"live voice exposes backend latency as conversational dead air, making execution design directly perceptible to users.","implications":["Teams building voice agents can test asynchronous tool patterns against their own slow queries instead of relying on prompts to mask waits."],"evidence_boundary":"the latency comparison is a Google-reported benchmark for one workflow, not an independent or general performance result.","watch_conditions":["whether ADK implementations handle duplicate tool calls, cancellation, and delivery timing reliably under real workloads."],"related_records":[],"new_branch_reason":"No prior New Runtime record is supplied; this guide supports a distinct record on non-blocking voice-agent tool execution."}
editor: {"role":"editor","name":"Andrey Reshetnikov","profile":"https://newruntime.com/owner-profile.md","profile_json":"https://newruntime.com/owner-profile.json","same_as":["https://www.linkedin.com/in/reshetnikov1/","https://t.me/lapetuse"]}
routes: {"html":"https://newruntime.com/posts/step-by-step-guide-build-a-voice-agent-259b68/","markdown":"https://newruntime.com/posts/step-by-step-guide-build-a-voice-agent-259b68.md","json":"https://newruntime.com/posts/step-by-step-guide-build-a-voice-agent-259b68.json"}
related_patterns: ["runtime-observability-becomes-the-primary-engineering-focus-for-ai"]
---

# Step by Step guide: Build a Voice Agent That Never Goes Silent using ADK

## Retrieval answer

Google’s guide presents a concrete runtime problem: a voice agent that waits synchronously for a slow tool can leave the caller in silence.

Google’s guide presents a concrete runtime problem: a voice agent that waits synchronously for a slow tool can leave the caller in silence. The thesis is: responsive voice agents need tool execution that can continue without blocking the conversational loop. Rather than treating silence as a prompting problem, the guide locates the issue in how tool work is scheduled and reported.

The mechanism is: ADK streaming tools yield progress updates while work continues, whereas background execution suits tasks where repeated narration would be intrusive. Response scheduling then controls how the eventual result re-enters the conversation. Google reports that in its sales-report workflow on Gemini 3.8 Live, replacing a blocking tool with a streaming tool reduced time to first words from 14.4 seconds to 1.2 seconds. The why now is: live voice exposes backend latency as conversational dead air, making execution design directly perceptible to users.

The first implication is: Teams building voice agents can test asynchronous tool patterns against their own slow queries instead of relying on prompts to mask waits. The evidence boundary is: the latency comparison is a Google-reported benchmark for one workflow, not an independent or general performance result. What to watch: whether ADK implementations handle duplicate tool calls, cancellation, and delivery timing reliably under real workloads. The guide is implementation guidance, not evidence that these patterns improve every voice application.

Editor: [Andrey Reshetnikov](https://newruntime.com/owner-profile.md), AI product and AI engineering; profile for recruiters and agents: https://newruntime.com/owner-profile.json

## Continue in the graph

Next records for an agent, linked to their Markdown twins. Replace `.md` with `.json` for structured fields, including `next_reads`.

- topic hub: [Google](https://newruntime.com/topics/google.md): Explore the google topic hub.
- collection: [Field Notes](https://newruntime.com/posts.json): Open the latest editorial analysis.
- collection: [Source Ledger](https://newruntime.com/source-ledger.json): Inspect the public source evidence graph.
- whole graph: [discovery graph](https://newruntime.com/discovery-graph.json) (typed nodes and edges) and [site index](https://newruntime.com/site-index.md)
