
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.
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
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.
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.
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
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.
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.
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
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
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
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.
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
- Summary
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- SupportsScaling Engineering with Agentic WorkflowsPreserved content.md, lines 10, 36, 52-58
- Sandbox
unknown
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- Low
- Confidence reason
- Only community or aggregate evidence supports the claim.
- ContextualizesScaling Engineering with Agentic WorkflowsPreserved content.md, line 102 (Docker in Docker on Temporal named as a blocker, with no execution environment described)
- Harness
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- SupportsScaling Engineering with Agentic WorkflowsPreserved content.md, lines 54, 58
- Interfaces
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- SupportsScaling Engineering with Agentic WorkflowsPreserved content.md, lines 48, 90
- Tool access
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- SupportsScaling Engineering with Agentic WorkflowsPreserved content.md, lines 90, 106
- Credentials
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- SupportsScaling Engineering with Agentic WorkflowsPreserved content.md, lines 58, 90
- Fill out the workflow form
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- SupportsScaling Engineering with Agentic WorkflowsPreserved content.md, line 36
- Test the prompt
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- SupportsScaling Engineering with Agentic WorkflowsPreserved content.md, line 44
- Publish to the internal tool list
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- SupportsScaling Engineering with Agentic WorkflowsPreserved content.md, line 48
- Run the common pattern
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- SupportsScaling Engineering with Agentic WorkflowsPreserved content.md, lines 22-28
- CodingAgent library
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- SupportsScaling Engineering with Agentic WorkflowsPreserved content.md, lines 58-86
- GitHub utility package
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- SupportsScaling Engineering with Agentic WorkflowsPreserved content.md, line 90
- Multi-step Temporal workflows
- Statement type
- Fact
- Provenance
- Reported
- Confidence
- High
- Confidence reason
- A linked first-party source states the claim.
- SupportsScaling Engineering with Agentic WorkflowsPreserved content.md, line 94
- 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
- SupportsScaling Engineering with Agentic WorkflowsPreserved content.md, lines 10, 30 (TL;DR sentence and section heading)
- 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
- SupportsScaling Engineering with Agentic WorkflowsPreserved content.md, line 54
- 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.
- SupportsScaling Engineering with Agentic WorkflowsPreserved content.md, lines 22-32
- 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.
- SupportsScaling Engineering with Agentic WorkflowsPreserved content.md, line 94
- 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.
- SupportsScaling Engineering with Agentic WorkflowsPreserved content.md, line 90
- 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.
- SupportsScaling Engineering with Agentic WorkflowsPreserved content.md, line 102
- 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.
- SupportsScaling Engineering with Agentic WorkflowsPreserved content.md, lines 114-116
- 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
- SupportsScaling Engineering with Agentic WorkflowsPreserved content.md, lines 44, 48
- 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
- SupportsScaling Engineering with Agentic WorkflowsPreserved content.md, lines 22-28