* Create slack runner integration page #1521 - 4
Adds the official integration documentation for `SlackRunner`.
- Created `docs/integrations/slack.md` following the Plugin template.
- Added Socket Mode installation and initialization instructions (`google-adk[slack]`).
- Checked against the integration-review and integration-create instructions.
* Update slack.md
* Update slack.md
Worked on feedback
* docs: remove experimental banner from data agent tools
* Update data-agent.md
also remove "Experimental" tag subheader
---------
Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>
* Update custom_metadata per Issue 1292 - 8
Rendered page:
Agent PR: #1306
Original Issue: #1292
-Polished the explanation of how and why custom_metadata works. It now clearly outlines how developers can pass service-specific configurations (like ttl and revision_ttl) directly to the underlying Agent Platform.
- I found that the add_events_to_memory(events=...) section that the agent was proposing was already documented in the site.
* Update memory.md
Worked on feedback. Updated the custom metadata documentation to use a generic BaseMemoryService example instead of platform-specific services. The code snippet was also revised to use generic key-value pairs rather than prescriptive TTL keys.
* Update Spanner Toolset per issue #1521 - 6
Rendered page:
PR: #1525
Original Issue #1521
---
- Updated the page to add the Spanner admin toolset info with examples.
- Added configuration details for environment variables.
- Added alias for gemini-flash-latest to the bot's original snippet.
- Added contextual system instruction for the agent.
* Update spanner.md
* docs(integrations): refresh e2a page for the hosted-only MCP server
The e2a integration page has drifted from the service since it landed in
May. Corrections:
- Drop both Local MCP Server tabs. The `@e2a/mcp-server` npm package is
retired and the current server has no stdio transport, so `npx -y
@e2a/mcp-server` installs an abandoned build.
- Point the remote examples at `https://api.e2a.dev/mcp`, the endpoint
published in the MCP Registry, instead of the older `mcp.e2a.dev`.
- Remove `E2A_AGENT_EMAIL`, which no longer exists; `whoami` takes no
inputs and resolves identity from the credential.
- Remove the `E2A_BASE_URL` config table (renamed, and unused now that
the page is hosted-only).
- Fix the held-send status: `pending_review`, not `pending_approval`.
- Drop the `agent_mode: local|cloud` guidance. There is no delivery mode
to choose; inbound is available by polling or webhook subscription.
- Refresh the tool surface (~60 tools, was 18) and group it by credential
scope, since an agent-scoped key sees only the runtime tools.
- Update repository links for the tokencanopy org rename.
* docs(integrations): recommend the e2a SDK for production ADK agents
The MCP toolset gives the model the inbox, which is the wrong layer for
the deterministic parts of a deployment: webhook signature verification,
at-least-once delivery handling, and idempotent sends. Add a section
recommending the SDK own that boundary, with the MCP toolset kept for
model-driven actions inside a turn, and point at the working example.
* docs(integrations): add WebSocket delivery and future-proof the tool count
Two corrections after checking the page against the running service:
- Receiving mail listed only polling and webhooks. WebSocket delivery via
the SDK's listen() needs no public URL, which makes it the practical
choice while developing an ADK agent or for a long-running agent that
isn't a web service.
- The tool surface grows; state 60+ rather than a number that dates.
* docs(integrations): restructure e2a page to the integration template
Address review feedback. Drop the four added top-level sections ('For
production', 'Key scope', 'Receiving mail', 'Sending and review holds')
and fold only the load-bearing facts back into the template's existing
shape:
- Key scope becomes two sentences introducing Available tools, since an
agent-scoped key genuinely cannot see the admin tools listed there.
- The SDK recommendation becomes a short tip after the code sample,
keeping the inline links.
- Delivery options and OAuth become one sentence each in Configuration.
- accepted/pending_review moves into the send_message table row.
Additional resources trimmed to four: dropped the MCP Registry link (a
raw JSON API) and the two SDK links, which remain linked inline.
Page is now intro / use cases / prerequisites / one sample / tools /
configuration / resources, 186 lines.
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* OpenAPI tool execution section per Issue #1227 - 11
Rendered view
PRs> #1245#1246
Original Issue> #1227
---
- Updated the execution section of the OpenAPI tool and improved language.
- Did minor edits to format and headers
* Update openapi-tools.md
* Update include_plugins per Issue #1173 - 9
Rendered page>
PRs> #1190#1192
Original Issue> #1173
- Changed the proposed note format into a bullet point.
- Made the explanation shorter and more direct so it matches Google's writing style guide.
- Fixed and replaced the undefined agent variable with a concrete MyImageAgent placeholder class to make the Python snippet self-contained.
- Added comments inside the code to explain exactly what happens when you turn plugins on or off (like how it affects things like tracing and events).
- Did light formatting in the rest of the page
* Update function-tools.md
* Update function-tools.md
fixed rendering mistakes
* Update function-tools.md
Adding a bullet did not work, I created a sub topic to stop the snippet from breaking in the rendering.
* Update function-tools.md
* Stop publishing homepage partials as standalone pages
The homepage is assembled from partials in docs/_includes/homepage/ via the
macros plugin. mkdocs.yml listed `/_includes/**` under `not_in_nav`, which only
suppresses the "not in nav" warning -- the partials were still built, published,
and indexed. All ten had live URLs, e.g. https://adk.dev/_includes/homepage/_eval/.
These pages are broken in isolation: the partials use paths relative to the site
root, so on their own URL links like `href="evaluate/"` resolve to
/_includes/homepage/_eval/evaluate/ (404) and images fail to load.
Move the pattern to `exclude_docs` so the partials are skipped by the build,
and delete _eval.md and _ai-dev-tools.md, which were dropped from index.md in
#1772 and are no longer included anywhere.
Verified with a local build: site/index.html is byte-identical before and after,
and the only difference across the entire output tree is the removal of the ten
_includes/ pages, which also disappear from sitemap.xml and the search index.
* Update mkdocs.yml
remove extended comments from config file; PR and blame records are sufficient explanation.
---------
Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>
* Update external access tokens per issue 1292 - 7
- Reviewed original PR and added some corrections to the agent's draft.
- Added more info about authentication warnings.
- Added documentation for the external_access_token_key feature in authentication.md.
- Reviewed against python repository.
Links:
- Rendered page:
- Original PRs: #1303 and #1304
- Issue: #1292
* Update authentication.md
* Updating skilltoolset page per issue #1350 - 4
- Added a note so the developer checks for the files in their working directory.
- Removed redundant and not useful information for the developer on the agent's original
pr.
- Small formatting to headers.
Add a featured "Looker Block" subsection to "Build a dashboard" pointing to the
ready-to-use BigQuery Agent Analytics Looker Block on the Looker Marketplace,
and move the existing example-notebook guidance under a "Custom dashboard from a
notebook" subsection.
Variables app_name and user_id were defined lowercase but referenced as
APP_NAME and USER_ID (uppercase), causing NameError at runtime.
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* VertexAiSearchTool dynamic config according to issue #1227 - 7
Added dynamic configuration per the bot's suggestion, but I improved snippet and description.
* Update agent-search.md
* Align snippet param name with SDK signature (readonly_context)
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* Update index.md
-Added the authentication note
-Did clean up on headers and the notes and warning format
* Document GOOGLE_API_KEY auth for Vertex AI eval criteria; clean up evaluate/index.md
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* Add anthropic thinking blocks and adaptive thinking according to issue #1521 - 20.md
-Added the thinking blocks feature to the documentation
-Additionally I added the adaptive thinking that applies for newer models.
* Reorganize Claude models adaptive thinking docs; add pointers to using Claude models with Python
* Remove in-line version references
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* docs(evaluate): document rubric_based_multi_turn_trajectory_quality_v1 and clarify Rubric.type / criterion.rubrics
Closes three gaps in docs/evaluate/criteria.md:
1. Adds a section for `rubric_based_multi_turn_trajectory_quality_v1`. The
metric is registered in metric_evaluator_registry.py and implemented in
rubric_based_multi_turn_trajectory_evaluator.py upstream, but the
explanatory section that its two sibling rubric-based metrics have was
missing. Also adds the corresponding row to the criteria table.
2. Adds a "Notes On Rubrics" subsection under each of the three
rubric-based metric sections, stating the required Rubric.type value
(FINAL_RESPONSE_QUALITY / TOOL_USE_QUALITY / TRAJECTORY_QUALITY) and the
criterion-vs-EvalCase rubric relationship (criterion.rubrics required
and non-empty; EvalCase.rubrics is additive, filtered by type).
3. Adds the explicit `type` field to existing JSON examples in the two
existing rubric-based sections so users have a complete template.
Refs #1852.
* docs(criteria): correct Rubric.type filter scope in the notes
Only EvalCase.rubrics is filtered by type in create_effective_rubrics_list;
criterion-level rubrics on EvalConfig are added unconditionally. Update the
Notes On Rubrics bullet in each of the three rubric-based metric sections
to reflect this, using koverholt's review suggestion.
* docs(criteria): drop inert type field from criterion-level rubric examples
type is only consulted for entries in EvalCase.rubrics, per
create_effective_rubrics_list. Keeping it on criterion-level rubrics
implied they were type-filtered, which they are not. Removed from all
six criterion-level rubric entries across the three rubric-based metric
sections.
* docs(criteria): add EvalCase.rubrics snippets showing where type actually applies
The type field only affects filtering on EvalCase.rubrics per
create_effective_rubrics_list. Show that behavior concretely in each of
the three rubric-based metric sections by adding a small EvalCase.rubrics
snippet with the type field set to the criterion's expected value, plus a
one-line reminder that the effective rubric set passed to the judge is the
union of criterion-level rubrics and any type-matching entries from
EvalCase.rubrics.
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* Update llm-agents.md
- Added adk-bot's suggestion
- Improved the readability of the snippet
- Did minor style corrections
* Update llm-agents.md
noticed a broken link and fixed it
* Fix set_default_model code block formatting and trailing whitespace
* Clean up llm-agents formatting, fix related links, and add version to set_default_model section
* Simplify code snippet
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* Add Unstructured Transform MCP integration
* Add pacing helper, env setup, and Gemini key prerequisite from review
* Re-trigger CLA check after signing
* Use the blue Unstructured logo for the integration icon
* Note that the agent can retry a weak parse with the hi_res strategy
* formatting changes
* Adopt nested tab convention, make wait helper async, replace hyphen asides
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* docs: Document new add_memory method for direct memory management
* 1350-6Memoryupdate.md
* Update on memory.md according to issue #1350 - 6
Simplified dense sections, corrected markdown formatting errors, and fixed typos to align with documentation standards. Corrected some sections from the original page and the agent's PR that were a little clunky. Erased sentences inside paragraph's ,Joe's request, and included commas instead. All this while including the necessary update.
* Update memory.md
-Worked on feedback, fixed errors, changed wording slightly, and reviewed format.
-Some changes were lost when I tried to resolve conflicts between branches in my last commit. I added them back here.
* Fix add_memory example and memory operations list in memory.md
* Format memory.md: line wrapping, snippet cleanup, and Java example
---------
Co-authored-by: adk-bot <adk-bot@google.com>
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* Update cloud-trace.md to include captured attributes
* Cloud trace small updates
Small change to the Cloud Trace section
* Update cloud-trace.md
* Update cloud-trace.md
* Update cloud trace page according to issue #1256 - 5
Managed the conflicts with the agent's PR. Updated the Google Cloud Console link. It would be more helpful to deep-link directly to the Trace Explorer rather than the root dashboard, so this has been adjusted. Added a brief introductory paragraph to the ## Resources section to provide better context for the provided links
* Update cloud-trace.md
Worked on feedback: fixed capitalization, ensured consistent formatting, removed extra spaces, and made the update more technically accurate.
* Update cloud-trace.md
Worked on missing feedback comments.
* Remove user.id from captured attributes and clarify heading in cloud-trace.md
* Format cloud-trace.md: line wrapping, tab spacing, and copy cleanup
---------
Co-authored-by: adk-bot <adk-bot@google.com>
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* Updated Context injection according to issue #1438 - 17
This PR adds documentation for context injection.
* Update function-tools.md
Worked on feedback.
- Updated Imports: Fixed the import path for ToolContext to correctly pull from google.adk.tools instead of google.adk.types.
- Snippet Formatting: Removed the unnecessary parentheses around "secondary_agent" in the commented-out transfer_to_agent action example.
- Removed Dead Code: Removed the redundant pass statement at the end of the my_tool function.
* Fix context injection docs and headings in function-tools.md
* Format function-tools.md: line wrapping, bullet markers, and copy cleanup
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* docs(agents): scaffold managed agents page and nav entry
* docs(agents): add managed agents get-started and decision guidance
* docs(agents): complete managed agents page (how it works, limitations, resources)
* docs(agents): simplify managed agents "how it works" and refine copy
Replace the internals-heavy "How it works" paragraph with a high-level
description that links to the Interactions API, drop the scenario table
in favor of the two-bullet comparison, add a note on how ManagedAgent
maps to the Managed Agents API (data plane vs. control plane), and
remove em-dashes throughout.
* docs(agents): point Interactions API link to the Gemini API overview
* Clean up managed agents page naming, structure, bullets, and links, and add it to the agents overview
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>