Crowdin apps are web applications that function remotely via HTTP. To an end user, an app appears as a fully integrated part of Crowdin Enterprise. Once your app is installed, its features are delivered straight to the Crowdin Enterprise UI. This deep integration is part of what makes Crowdin apps so powerful.
You can develop a Crowdin app using any of the preferred programming languages and web frameworks, and deploy it in many different ways. From massive SaaS services to static apps served right from a code repo, Crowdin apps are designed to let you connect anything to Crowdin Enterprise.
The development of Crowdin App starts with creating an app descriptor. The app descriptor is a JSON file that describes the interaction of the app with Crowdin Enterprise. The descriptor includes general information for the app, as well as the modules that the app will be using or extending. Basically, the descriptor is a middle ground between the remote app and Crowdin Enterprise. When an organization admin installs an app, what they are really doing is installing this descriptor file, which contains pointers to your app.
Read more about App Descriptor.
The next step would be to implement the app functionality according to the app descriptor which implies the following steps:
Crowdin Apps communicate with Crowdin Enterprise using our RESTful APIs. You can use the Crowdin Enterprise APIs in Crowdin apps you develop for Crowdin Enterprise, as well as in scripts, API clients, or other methods of making calls.
Our APIs allow you to manage Crowdin Enterprise TMs, glossaries, source files, translations, branches, etc. You can use the APIs to upload source files, export translations, as well as for user management, generating reports, and more. You can use the APIs to upload source files, export translations, as well as for user management, generating reports, and more.
Read more about available API methods.
For improved interaction between the Crowdin app and Crowdin Enterprise, you can use our library that provides cross-window communication. The library simplifies the interaction with the Crowdin Enterprise interface, allows you to get additional information from the page where the application was opened, or manipulate certain UI elements of the page directly from the application.
Read more about Crowdin Apps JS.
After creating and testing your app, the next thing you need to do is to publish it into the cloud or any public server (for example Heroku, or any others) so that it’s always accessible to Crowdin Enterprise and other users.
Before you start developing your own Crowdin apps, you can take a look at a few examples. They showcase the integration between Crowdin Enterprise and external services like Mailchimp and SendGrid. Read more about Crowdin Mailchimp Example and Crowdin SendGrid Example.