Crowdin
Developer ToolsDrive Crowdin localization from your workflows. Agents create projects, push source files and strings, track per-language translation and approval progress, and build and download translated packages for release pipelines.
What This Integration Enables
Localization fails at the seams: between the repo where copy changes and the translation project that should hear about it, and between the translators who finish and the release that should include their work. Crowdin's API closes both seams, and FlowRunner agents run them as pipeline steps. Agents create projects, push source files and strings the moment copy changes, read per-language translation and approval progress as structured data, and drive the build-poll-download cycle that turns finished translations into a deployable package. The operational wins are specific: - Source content pushed on merge, so translators start the same day copy changes - Releases gated on approval percentages read as data, not on someone's recollection - Translation packages built, polled, and archived by the same pipeline that deploys them - New projects provisioned from the flow when a product line goes international The position this connector takes is that translation status belongs in the release process, not in a dashboard someone remembers to check. When approval progress is a number an agent can read, "is French ready" stops being a Slack question and becomes a gate in the flow, with a [human-in-the-loop](/concepts/human-in-the-loop) decision reserved for the languages that are almost, but not quite, done.
Without FlowRunner
With FlowRunner
Use Case Scenarios
Source strings that sync themselves
When app copy changes, the agent pulls the updated locale file with [GitHub](/integrations/github) Get File Content, pushes the content through Create Storage, and imports it with Add File into the right project and branch. For one-off additions, Add String appends an individual string with translator context and a maximum length, so the checkout button copy arrives with the constraints translators need. Nobody emails a spreadsheet of strings again.
The release readiness report nobody compiles
On a schedule, the agent calls Get Translation Progress for each active project and posts a per-language summary to [Slack](/integrations/slack): translation percentage, approval percentage, and the delta since yesterday. The localization manager sees which languages are stalled while there is still time to act, and the release manager stops discovering at cutoff that Japanese sits at 60 percent approved.
Translation packages as build artifacts
The deploy pipeline calls Build Translations scoped to the release branch and target languages, excluding unapproved strings. The agent polls Get Build Status until the build reports finished, calls Download Translations for the expiring URL, and archives the ZIP to [S3](/integrations/s3) before handing it to the deployment job. The translated package is versioned alongside the binary it ships with, and a failed build stops the pipeline instead of shipping stale strings.
Human-in-Loop Highlight
The costly write in this connector is the build that ships. Once Build Translations produces a package and Download Translations feeds it to the release, every string in that ZIP reaches customers in every locale at once, and a wrong or unapproved translation is live in markets where nobody on the team can read the mistake. So the agent never decides what ships. When Get Translation Progress shows Spanish at 100 percent approved but Korean at 87, the agent lays out the options: build now with Korean excluded, hold the release until approval completes, or ship Korean unapproved. The release manager makes the call, and the build runs with exactly the scope a person chose. The packaging is automated; the decision about what customers read is not.
Agent Capabilities
13 actionsProjects
3- List Projects Retrieves the projects the account can access, with source and target languages, identifier, and visibility. The starting point for multi-project reporting.
- Get Project Retrieves full details of a single project, including languages, translation settings, and visibility.
- Create Project Creates a new localization project with a name, source language, and target languages, optionally file-based or string-based. Used to spin up localization for a new product line without leaving the flow.
Files
3- List Files Retrieves the source files in a project with path, type, and status, optionally filtered by branch or directory.
- Add File Imports previously uploaded storage content into the project as a source file, placed in a branch or directory. The second half of the import flow.
- Get File Retrieves a single source file's details, including revision info, for verifying what the project currently holds.
Strings
2- List Strings Retrieves source strings with text, identifier, context, and file association. Used to audit what translators are actually seeing.
- Add String Adds an individual source string with optional translator context, identifier, and maximum length. The right tool for one-off copy additions between file syncs.
Progress
1- Get Translation Progress Retrieves per-language translation and approval percentages with word and phrase counts. The number every release gate in this page reads.
Translations
3- Build Translations Starts an asynchronous build that packages translations for download, scoped by branch and languages, with control over whether unapproved or untranslated content is excluded.
- Get Build Status Checks a build's status and progress percentage. Poll until finished before downloading.
- Download Translations Retrieves the time-limited download URL for a finished build's ZIP archive. The handoff point to the deploy pipeline.
Storage
1- Create Storage Uploads raw file content to Crowdin's temporary storage and returns the storage ID that Add File consumes. The first half of every import.
Frequently Asked Questions
What can FlowRunner do with Crowdin?
FlowRunner agents can run List Projects, Get Project, and Create Project in Crowdin, plus 10 more actions.
Does connecting Crowdin to FlowRunner require OAuth?
No. Crowdin connects to FlowRunner with an API key, no OAuth flow required.
Can Crowdin trigger a FlowRunner workflow automatically?
Crowdin doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with Crowdin
$100 in credits. No card required. Connect in minutes.