LangChain investigator
%%{init: {'look': 'handDrawn', 'theme': 'base', 'themeVariables': {'primaryColor': '#eef2ff', 'primaryBorderColor': '#1e40af', 'primaryTextColor': '#1e293b', 'lineColor': '#1e3a8a', 'edgeLabelBackground': '#ffffff', 'clusterBkg': '#fbfcff', 'clusterBorder': '#2563eb', 'fontFamily': '-apple-system, system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif', 'fontSize': '15px'}, 'flowchart': {'nodeSpacing': 50, 'rankSpacing': 58, 'padding': 14, 'htmlLabels': true, 'curve': 'basis'}}}%%
flowchart LR
L(["Written with LangChain"]) --> B("Deployed through<br/>the Conductor bridge")
B --> A("Called like any<br/>other agent")
A --> O(["Investigation"])Outcome: author an entitlement investigator with LangChain, deploy it through the Conductor bridge, and invoke it as a durable capability.
Prerequisites and authoring bridge
The current Python SDK quickstart documents the bridge installation as pip install 'conductor-python[langchain]', AgentRuntime, and runtime.run(agent, input). Verify the owning Python SDK framework guide before upgrading packages or bridge APIs.
from langchain.agents import create_agent
# The companion deployment provides these two real MCP adapters.
agent = create_agent(
"openai:gpt-4o",
tools=[list_mcp_testkit_tools, call_mcp_testkit_tool],
system_prompt="Investigate entitlements from MCP evidence; recommend only.",
)
Download the companion deploy_local_cookbook_agents.py into your working directory; it creates this LangChain-authored capability and its read-only fixture tool. Deploy once and keep the bridge worker running before invoking the parent:
Inputs are customerId and question; output is investigation data plus the agent execution ID. Give the agent read-only entitlement tools; any change must go to human-approved external action.
Runnable definition
Save this as langchain-entitlement-investigator.json:
{
"name": "langchain_entitlement_investigator",
"description": "Invokes a deployed LangChain-authored Conductor Agent through the stable Conductor runtime.",
"version": 1,
"schemaVersion": 2,
"timeoutSeconds": 300,
"timeoutPolicy": "TIME_OUT_WF",
"inputParameters": [
"customerId",
"question"
],
"tasks": [
{
"name": "investigate_entitlement",
"taskReferenceName": "investigate_entitlement",
"type": "AGENT",
"inputParameters": {
"agentType": "conductor",
"name": "langchain-entitlement-investigator",
"prompt": "Customer ${workflow.input.customerId}: ${workflow.input.question}"
}
}
],
"outputParameters": {
"investigation": "${investigate_entitlement.output.output}",
"executionId": "${investigate_entitlement.output.executionId}"
}
}
Register and run
conductor workflow create langchain-entitlement-investigator.json
conductor workflow start -w langchain_entitlement_investigator --sync -i '{"customerId":"C-123","question":"Which plan features are enabled?"}'
Production notes
agentTypeisconductor, notlangchain. The bridge runs it; the protocol doesn't change.- Bound tokens and tool calls in the deployed agent, where the loop actually runs.
- Pass document references, not payloads.
- Reconcile duplicate runs by customer ID plus request ID.
- Check the SDK source before bumping package versions. The bridge API moves.