Skip to content

Add Deep Agents integration page (Python) - #4883

Merged
lennessyy merged 7 commits into
mainfrom
deepagents-docs
Aug 12, 2026
Merged

Add Deep Agents integration page (Python)#4883
lennessyy merged 7 commits into
mainfrom
deepagents-docs

Conversation

@DABH

@DABH DABH commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

What

Documentation for the upcoming Temporal ↔ LangChain Deep Agents integration (temporalio.contrib.deepagents):

  • docs/develop/python/integrations/deepagents.mdx — full integration guide: install (pip install "temporalio[deepagents]", Python ≥ 3.11), Hello World worker/workflow, explicit Workflow-vs-Activity tool choice (activity_as_tool / tool_as_activity), durable backends (TemporalBackend), sub-agent durability, human-in-the-loop (native LangGraph interrupt → Temporal Query + Update), continue-as-new (run_deep_agent), streaming via workflow streams, composing with an observability plugin, and runtime behavior/limitations.
  • sidebars.js — Python Integrations entry (alphabetical).
  • src/components/IntegrationsGrid/integrations-data.json — discovery-grid entry.

All code blocks are sourced with SNIPSTART markers that map 1:1 to @@@SNIPSTART markers in the samples (11 snippets), so snipsync quotes real, tested sample code rather than hand-maintained blocks.

Status

Draft until the upstream pieces merge — the page documents:

The integration is experimental, and the page carries the standard maturity admonition.

┆Attachments: EDU-6716 Add Deep Agents integration page (Python)

@vercel

vercel Bot commented Jul 14, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
temporal-documentation Ready Ready Preview Aug 12, 2026 8:59pm

Request Review

Comment thread docs/develop/python/integrations/deepagents.mdx
@github-actions

Copy link
Copy Markdown
Contributor

📖 Docs PR preview links

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds documentation and navigation/discovery entries for the upcoming Temporal ↔ LangChain Deep Agents integration (temporalio.contrib.deepagents) in the Python SDK docs.

Changes:

  • Adds a new integration guide page: docs/develop/python/integrations/deepagents.mdx
  • Adds the Deep Agents page to the Python Integrations sidebar section
  • Adds a Deep Agents card entry to the Integrations discovery grid data

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
docs/develop/python/integrations/deepagents.mdx New Deep Agents integration guide (currently includes Snipsync placeholders).
sidebars.js Adds Deep Agents to Python → Integrations navigation.
src/components/IntegrationsGrid/integrations-data.json Adds a Deep Agents entry for the IntegrationsGrid discovery UI.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/develop/python/integrations/deepagents.mdx
Comment thread src/components/IntegrationsGrid/integrations-data.json Outdated
Fill each snipsync wrapper on the Deep Agents page with the code and
source link extracted from the samples-python deepagents_plugin sources,
matching the checked-in snipsync output used across the docs. Move the
Deep Agents entry in integrations-data.json to its alphabetical slot
after the Datadog entries.
The samples merged (temporalio/samples-python#328) after these snippet
blocks were populated, and the merged code dropped the sandbox import
guards, adopted create_temporal_deep_agent with per-agent
activity_options, and switched continue-as-new to the server-suggested
default. Re-sync all eleven snipsync bodies to what is actually on
samples-python main so the page matches what snipsync will maintain.
…hips

The plugin is merged to main but the current PyPI release predates the
extra, so a plain temporalio[deepagents] install does not work yet.
Lead with the install-from-main command and note the plain extra takes
over once the next SDK release is on PyPI.
@DABH
DABH marked this pull request as ready for review August 12, 2026 19:29
@DABH
DABH requested a review from a team as a code owner August 12, 2026 19:29
@DABH
DABH requested a balanced review from Copilot August 12, 2026 19:31

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

Suppressed comments (4)

docs/develop/python/integrations/deepagents.mdx:532

  • The ordering requirement is inaccurate: the merged plugin's temporalio/contrib/deepagents/README.md and the merged langsmith_tracing/main.py sample explicitly state that registration order does not matter. Requiring observability first gives users a false constraint; document composition without imposing an order.
`temporalio.contrib.opentelemetry`. Register the observability plugin **before** `DeepAgentsPlugin` so it can capture
the LLM calls that `DeepAgentsPlugin` runs as Activities. The Workflow itself is an ordinary Deep Agent — the tracing

docs/develop/python/integrations/deepagents.mdx:198

  • This guarantee is stronger than the implementation. The merged _model.py describes construction warnings as best-effort: patching deepagents.create_deep_agent cannot affect a from deepagents import create_deep_agent reference bound before the Worker starts (the import style used elsewhere on this page). Such an unwrapped I/O tool can therefore run in Workflow code without this warning, so the guide should not call the choice “never silent.”
An unwrapped, non-builtin tool runs in-Workflow and the plugin warns at construction, so that choice is never silent.

docs/develop/python/integrations/deepagents.mdx:202

  • The sample does not construct TemporalModel(...); it calls create_temporal_deep_agent(model="..."), which performs the wrapping and scopes activity_options. Describing a different API path makes the example misleading.
This sample wraps an existing activity and an I/O tool, and constructs the model explicitly as `TemporalModel(...)` to
show the non-auto path:

docs/develop/python/integrations/deepagents.mdx:443

  • run_deep_agent does not snapshot todos. The merged implementation builds the snapshot from _extract_messages(result) plus __temporal_cache__; todos are only inspected to decide whether to continue. Claiming there is a messages/todos snapshot gives users the wrong persistence contract for pending plan state.
- **Does not carry forward:** anything held only in an in-memory checkpointer's own structures beyond the
  messages/todos snapshot.

All four were real: the composition section still required registering
the observability plugin first (order does not matter per the merged
plugin and samples); the react_agent prose described TemporalModel(...)
while the refreshed snippet builds via create_temporal_deep_agent; the
unwrapped-tool warning was described as "never silent" when the plugin
frames it as best-effort; and the continue-as-new section claimed a
messages/todos snapshot when the snapshot is exactly messages plus the
result cache (todos only gate whether to continue). Also aligns the
CAN intro with run_deep_agent's server-suggested default.
@DABH

DABH commented Aug 12, 2026

Copy link
Copy Markdown
Contributor Author

Triaged the four comments Copilot suppressed in its 2026-08-12 review — all four were valid and are fixed in e965a94: the composition section no longer imposes a registration order (order does not matter, matching the merged plugin README and samples); the react_agent prose now describes the create_temporal_deep_agent path its snippet actually uses; the unwrapped-tool warning is described as best-effort rather than "never silent," matching _model.py's own framing; and the continue-as-new section now states the snapshot precisely (messages + result cache — todos only gate whether to continue) and leads with the server-suggested default.


<ReleaseNoteHeader type="prerelease" />

:::info

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need this additional admonition anymore since we already have the prerlease header

The release header already states that this is a prerelease whose API
may change, so the :::info and :::note blocks repeating that added
nothing.

The :::note also carried the Python version requirement, which the
header does not cover. That moves into Prerequisites as a bullet.
@lennessyy
lennessyy enabled auto-merge (squash) August 12, 2026 20:58
@lennessyy
lennessyy merged commit d02efef into main Aug 12, 2026
15 checks passed
@lennessyy
lennessyy deleted the deepagents-docs branch August 12, 2026 20:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants