Internal Agents Map

Agentic workflows

Company
Duolingo
Approach type
Platform
Work supported
Coding
Interfaces
Internal ui, Slack, Github
Deployment stage
Deployed
Evidence strength
Limited primary
Entry reviewed

Purpose

Duolingo built shared infrastructure that turns a tested prompt into an internal tool. A JSON form defines a coding-agent workflow against one repository, Temporal runs the workflows that need several steps, and a shared library wraps the Codex CLI and the Claude Code SDK.

Check the reviewed sources and claim details.

Capabilities and architecture

Model
Not reportedThe post names the Codex CLI and the Claude Code SDK as the agents it wraps, but identifies no model for any workflow. Next research action: look for a Duolingo post or talk that names the models behind the CodingAgent library.
Harness
Temporal runs the workflows; a shared CodingAgent library wraps the Codex CLI and the Claude Code SDK behind one interface.
Sandbox
Not reportedNo execution isolation is described. The unknown placeholder stays in research details; the Docker-in-Docker blocker names a constraint, not the environment a workflow runs in.
Tool access
Workflows clone repositories and open pull requests through a shared GitHub utility package. Prototype agents use the GitHub MCP server, and an Atlassian server is named as planned work.The GitHub utility package is in production. The GitHub MCP server is described as a prototype and the Atlassian server as planned; neither is a shipped capability.
Knowledge
Not reportedThe form carries a prompt and one repository; no knowledge base, retrieval, or company-context source is described. Next research action: check whether the expanded agent.json or a later post documents context sources.
Context management
Not reportedDurable retries across Temporal activities are described, but nothing about how agent context is carried between passes or runs.
Credentials
Coding-agent API keys are set as environment variables, and a shared GitHub App token makes every pull request come from a bot account with centrally controlled permissions.The post names the shared GitHub App token and the bot account, but not what the central permissions allow.
Interfaces
internal-ui, slack, github

Mechanisms

CodingAgent library

One library wraps the Codex CLI and the Claude Code SDK; a call gives a prompt and a working directory, and an enum parameter usually selects which agent runs.

GitHub utility package

A shared package holds the common repository interactions, such as cloning a repository and opening a pull request, and is used by all of the agents.

Multi-step Temporal workflows

A custom workflow gives each step a single retryable activity with its own timeout and retry policy, so that long-running work survives a failed step.

Documented uses

Documented use example: JSON workflow form → published internal tool whose run clones the repository, makes the code change, and commits it, optionally opening a pull request. Research details

Fill out the workflow form

A Duo describes the workflow in a simple JSON form that carries a prompt, a code repository, and zero or more parameters for sharing and reuse.

Publish to the internal tool list

A merged form appears automatically in a list of internal tools that any Duo can run, and Slack notifications report the progress of a run.

Run the common pattern

The shared pattern clones the repository, lets the coding agent make the code change, then commits the code and optionally opens a pull request.

Access and controls

See documented credential and access boundaries in the architecture above. Scoped human-review assessments for individual uses remain in research details.

Reliability and validation

Test the prompt

Duos craft the prompt in Codex or Claude until they judge it successful and check that it works in a variety of situations, then stage the workflow for end-to-end testing.

Adoption and operating evidence

The catalog records what the sources report, with the scope and the denominator of every figure. A qualification below limits the figure it sits under.

Cost latency · Estimate · Time for a Duo to create a JSON-form workflow that follows the common pattern, stated as under five minutes

Key observation

Duolingo says a Duo can create a workflow that follows the common pattern in under five minutes; the post states this as a section heading and a TL;DR claim, with no measurement method

Reported by
Duolingo
Scope
Time for a Duo to create a workflow that follows the common clone-change-commit pattern through the JSON form

The source does not report the denominator of this figure.

Observed in December 2025

Cost latency · Estimate · Average time to create a custom Temporal workflow, stated as 1-2 days

Key observation

Duolingo reports an average of 1-2 days to create a custom Temporal workflow by running BootstrapTemporalWorkflow and copying an existing workflow; no period, denominator, or method is reported

Reported by
Duolingo
Scope
Time to create a custom Temporal workflow by running BootstrapTemporalWorkflow and copying an existing workflow

The source does not report the denominator of this figure.

Observed in December 2025

Lessons

Duolingo found one pattern recurring across its coding agents (clone the repository, make the change, commit and optionally open a pull request) and built its no-code workflow form around that pattern.

Duolingo splits a multi-step agent workflow into single retryable activities with their own timeouts and retry policies, so that AI non-determinism does not restart the whole process.

Duolingo routes the pull requests of all its agents through a shared GitHub App token, so that they come from one bot account with centrally controlled permissions.

Duolingo reports that running Docker inside Docker on Temporal blocks a set of planned agent features, and says the issue is being actively addressed.

Reported opinion: The authors describe agentic workflows at Duolingo as early days and call both the capabilities and the supporting infrastructure open questions.

Sources and research details

Citations link to the original publisher. Each source also keeps a preserved copy in the repository, so a changed or removed page stays checkable.

  1. Scaling Engineering with Agentic Workflowshttps://blog.duolingo.com/agentic-workflows/Corporate article · First party · Last source verification: 2026-09-21
Question coverage and scope
purpose
Reported
workflow
Reported: The three primitives cover the documented JSON-form path. The CodingAgent library, the GitHub package, and the Temporal multi-step pattern are mechanisms that support a run, not steps of it.
human involvement
Reported: The post locates human attention in workflow creation only: the creator tests the prompt and stages end-to-end testing before merging the form. It does not document who reviews the output of a run, which the second operating-model claim records as unknown in research details.
implementation
Reported
validation
Reported: Validation is documented at creation time, as prompt iteration plus staged end-to-end testing. No per-run check of a workflow's output is described.
observations
Reported: Both figures are creation-time claims about the platform. The post reports no outcome of any workflow built on it, so no downstream agent result is attributed here.
lessons
Reported
Research details for every claim on this page
  1. Summary
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  2. Sandbox

    unknown

    Statement type
    Fact
    Provenance
    Reported
    Confidence
    Low
    Confidence reason
    Only community or aggregate evidence supports the claim.
  3. Harness
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  4. Interfaces
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  5. Tool access
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  6. Credentials
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  7. Fill out the workflow form
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  8. Test the prompt
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  9. Publish to the internal tool list
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  10. Run the common pattern
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  11. CodingAgent library
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  12. GitHub utility package
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  13. Multi-step Temporal workflows
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  14. Key observation
    Statement type
    Metric
    Provenance
    Reported
    Confidence
    Low
    Confidence reason
    The five-minute figure appears as a section heading and in the TL;DR of a Duolingo blog post. No sample, period, or timing method is reported, so it states an expected creation time rather than a measured result.
    Reported by
    Duolingo
    Scope
    Time for a Duo to create a workflow that follows the common clone-change-commit pattern through the JSON form
    Denominator
    Not reported
    Method
    Not reported
    Observation date
    2025-12
  15. Key observation
    Statement type
    Metric
    Provenance
    Reported
    Confidence
    Low
    Confidence reason
    Duolingo reports this as an average in its own blog post, but gives a one-day range with no sample size, period, or collection method, so it reads as a rough in-house figure.
    Reported by
    Duolingo
    Scope
    Time to create a custom Temporal workflow by running BootstrapTemporalWorkflow and copying an existing workflow
    Denominator
    Not reported
    Method
    Not reported
    Observation date
    2025-12
  16. Lesson
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    Medium
    Confidence reason
    The post names the three-step pattern and states that the no-code form was built for common patterns like this. It describes Duolingo's own repositories and does not claim the pattern fits other organizations.
  17. Lesson
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    Medium
    Confidence reason
    The multi-step section states the one-activity-per-step rule and gives the reason, that AI non-determinism should not restart the whole process. No failure rate or comparison is reported.
  18. Lesson
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    Medium
    Confidence reason
    The GitHub library section states the shared App token, the bot account, and the central permissions. The post does not describe what those permissions allow or deny.
  19. Lesson
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    Medium
    Confidence reason
    The next-steps section names Docker in Docker on Temporal as the blocker for a large set of features and says it is being addressed. The expected fix date is Duolingo's forecast, so it is left out of the lesson.
  20. Lesson
    Statement type
    Opinion
    Provenance
    Reported
    Confidence
    Medium
    Confidence reason
    The closing section is the authors' own assessment of their work; it is a stated position about Duolingo's maturity, not a measured finding.
  21. Operating model assessment

    Level 3 for prompt drafted and tested with a coding agent → workflow form merged into the internal tool list; human attention boundary: work-product-review.

    Statement type
    Inference
    Provenance
    Catalog judgment
    Confidence
    Medium
    Confidence reason
    The post says Duos test the prompt until they judge it successful and stage the workflow for end-to-end testing before merging the form. It does not say who else reviews a form, so the boundary covers the creator only.
    Observation date
    2025-12
  22. Operating model assessment

    Unclassified for published workflow run → committed change, optionally opened as a pull request; human attention boundary: unknown.

    Statement type
    Inference
    Provenance
    Catalog judgment
    Confidence
    Unverified
    Confidence reason
    The post describes the run pattern as commit and optionally open a pull request, but never says whether a person must review the change before it takes effect.
    Observation date
    2025-12
Back to infrastructure
Know an internal agent?

Share a resource or public mention, suggest an addition, or correct an existing entry. Pull requests are also welcome.