FlowRunner
PricingContact
Theme
Start Free

Crowdin

Developer Tools

Drive 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.

13 actions API key available
Crowdin website ↗ Platform Documentation ↗ Capability data verified 2026-07-27
A release branch merges and the app's source strings file changes in the repository
Create Storage uploads the updated file content to Crowdin's temporary storage
Add File imports the stored content into the localization project as a source file
Get Translation Progress reads per-language translation and approval percentages
Languages below the approval threshold are flagged against the release date
The release manager decides whether flagged languages ship, get excluded from the build, or push the release
Build Translations packages the approved translations for the languages that made the cut
Download Translations hands the finished ZIP to the deploy pipeline

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

Localization as a black box Nobody outside the translation tool knows whether German is release ready
Copy changes that never travel Source strings change in the repo and reach translators days later, by email
Release day archaeology Someone builds the package manually and hopes the right languages were included

With FlowRunner

Progress as a data point Per-language translation and approval percentages flow into the release checklist automatically
Source sync on merge New and changed strings land in Crowdin the moment the branch merges
Builds as pipeline steps Packages are built, polled, and downloaded by the same flow that deploys them

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 processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

13 actions

Projects

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.