Skip to main content
This tutorial continues from the quickstart. Use the research-assistant project you created there, with your model, instructions, search tool, and a working mda dev setup. mda init may also scaffold files such as identity and sandbox/. Leave those as they are; this tutorial does not change them. This guide shows you how to you enable durable memory and a daily schedule, then deploy. Optionally, you can also add a custom tool.
Managed Deep Agents is in public beta and available on LangSmith Cloud in the US region only.

Extend the agent

1

Update the instructions for memory

Extend instructions.md so the agent knows what shared knowledge to keep. Keep the research behavior from the quickstart and add a memory policy:
instructions.md
2

Enable and use durable memory

Durable memory is opt-in. Before asking the agent to remember anything, add a memory declaration at the project root:
memory.ts
Memory is shared across the deployment and visible to all callers, so do not store personal data or secrets.Restart mda dev so it discovers the new file. In one thread, ask the agent to research a release and to record a reusable project rule, such as “For release research, check the official changelog before secondary sources.” Then create a new thread in Studio and ask how it will research the next release. Confirm that it applies the shared rule even though the new thread has no conversation history.See Memory for details.
3

(Optional) Add a custom tool

Provider search covers the open web. Authored tools cover your application logic: private APIs, databases, and internal data. Create a module under tools/, import it into the agent entry, and add it to the tools list next to your existing search tool.This example returns a placeholder project record so it runs without an external API. Replace the body with a call to your system.
tools/projects.ts
Append the custom tool next to your existing search tool, keep your quickstart model, and choose the tab that matches your search setup:
Open agent.ts:
Restart mda dev if it is already running. In Studio, ask for the status of a tracked project and confirm the agent calls lookup_tracked_project.
4

Schedule a daily digest

Add a schedules/ module so the agent runs on a cron cadence without a user message. This schedule runs every weekday at 8am Pacific:
schedules/daily-digest.ts
If memory is empty on the first fire, the agent still returns open questions.mda deploy reconciles this schedule into a LangSmith cron job after the deployment is live. After you deploy in the next step, you should see:
  • mda deploy finish without schedule errors (do not pass --no-wait, or schedules are not reconciled).
  • A managed cron for this file on the deployment. The schedule name matches the module stem: daily_digest (Python) or daily-digest (TypeScript).
  • No immediate digest run from this cron. The first fire waits until 8:00 America/Los_Angeles on a weekday.
For thread behavior and constraints, see Schedules.
5

Deploy and inspect

Deploy the project to LangSmith:
On success, the CLI prints the deployment dashboard URL. The deploy syncs the instructions to Context Hub, uploads the compiled project, and reconciles the daily schedule.Open that URL and confirm:
  • The deployment is ready.
  • The daily_digest or daily-digest cron exists.
  • A test chat run shows model calls, search or custom tool calls, and memory reads or writes in the traces.
For deploy flags and troubleshooting, see Deploy an agent and the CLI reference.

Next steps

Custom middleware

Add logging, retries, limits, and guardrails around model and tool calls.

Identity

Authenticate callers and use verified identity in tools and middleware.

Evals

Author Harbor tasks and compile the managed agent for Harbor.