While developers can quickly come up with solutions to integrate Localazy into their workflows, we know that not everyone can handle the developer-oriented CLI or API to achieve the desired level of automation we preach. So we felt obliged to empower all users who don't necessarily want to go down the developer road to enjoy the fruits of automation.
To set the stage, we needed to prepare a Public API and introduce the webhooks feature. This was another big step toward improved developer friendliness of Localazy, but it was necessary for us to be able to make the huge leap to reach the non-developers among our users who would like to connect Localazy to other 3rd party services but didn't have the option to do so.
And now, after hundreds of hours of development, we know it was worth it, and we are incredibly happy to announce that Localazy is now available on the Zapier platform in public beta!
Source: Localazy Integrations on Zapier🤔 What is Zapier?
Technically speaking, Zapier is an Integration Platform as a Service, or simply "a translator between web APIs," which allows end users to integrate their favorite web apps together and automate their workflows. Zapier orchestrates the flow of data between tools and online services that wouldn't otherwise be possible.
Thanks to Zapier, you can now connect Localazy with over 5 thousand of the most popular apps, so you can automate your work and have more time for what matters most. And the best thing is - no code is required to do this!
🕹️ What are some ways to use Zapier?
Using simple if-this-then-that logic, Zapier allows you to move information from one app to another—without code.
At Localazy, we used Zapier, e.g., to send responses from Typeform surveys to our ClickUp and notify us about it on Slack.
So now, we don't need to check our inboxes or refresh Typeform every once in a while, but we always get a notification on Slack that someone has completed our survey, and we know we could find the results in our ClickUp where it was sent for further processing.
Some other popular examples include:
- Send e-mails via Gmail to customers who fill out a form on Typeform
- Notify me on Slack when a Google Spreadsheet row is updated
- Save new Gmail attachments to Dropbox
- ...
The possibilities that Zapier offers are endless, and they grow with each added integration as well! You can explore the millions of examples on the Zapier website.
🚩 What Triggers and Actions by Localazy are available?
Now that you know what Zapier is and how it works let's dive into how you can utilize Localazy with it. I'm going with the Zapier terminology here, so I recommend getting familiar with the Zapier platform first.
Triggers
Your trigger is what kicks off the automated process between your apps. There are currently three Localazy triggers available. Technically speaking, it's four webhooks implemented into three triggers.
When a user adds a comment to the specified project, this trigger is set off. There's no additional input setup required.
The provided output fields are:
- various information about the project, such as its name and description,
- data about organization and languages,
- there's also basic information about the user who added the new comment,
- locale to which the comment was added,
- link to the comment,
- and, of course, the text of the comment.
You can use this trigger to e.g., send a notification to Slack when one of the translators in the project adds a comment, so you can respond in real time, or contact them directly.
➡️ Learn more about this Trigger in the documentation.
Project PublishedThis trigger sets off when the specified project is successfully published (applies to release tags too).
Besides the same project information as in the Comment Added Trigger, there's also a tag name and a current timestamp available.
The Project published trigger also contains the whole functionality of the Zip files in languages Action Search we'll talk about in a minute.
➡️ Learn more about this Trigger in the documentation.
Import finishedThis is triggered when the import of new content to your Localazy project is finished - whether some content was actually imported or the action resulted in an empty import. For more technical details, see the Webhooks documentation.
This trigger contains a useful set of output fields such as the number of added, updated, and deprecated strings. And apart from sending simple notifications to your favorite Slack channel, it can be used to create complex Zaps that fit your needs.
➡️ Learn more about this Trigger in the documentation.
Actions
Import to LocalazyThis Action allows you to import content to Localazy from anywhere. There are a couple of input fields allowing to customize the import, such as file name, file path, and file extension.
You can also specify the content source in any language that the project has. There are also a couple of options defining whether the new import should override the current translations, pushed to review, and so on. More on that in the documentation.
➡️ Learn more about this Action in the documentation.
Zip files in languagesThis Search can be used as a mid-step while creating Zaps. It allows to selectively ZIP project files in languages given by your selection.
On the input, you may provide languages and files of the project you'd like to bundle as a ZIP archive and operate with it in an Action part. It's also possible to select All so that all the files or languages will always be used.
The output fields provide a pointer to the ZIP archive so it can be passed to the Action(s) that follow. Also, the Search provides a current timestamp so the user can optionally use it to specify the time the ZIP archive was created.
➡️ Learn more about this Action in the documentation.
⚡ Example Zaps
Below, you can find two examples of what is possible with Localazy and Zapier.
You can find a complete list of Zap Templates to get inspired on the official website.
This use case integrates Localazy and Slack and provides better notifications for comments, which are crucial for the translator's context. It's pretty simple - adding a comment would trigger the Zap we'll set up in a bit.
Comment added in Localazy trigger provides many output fields that can be used when connecting the action step. Besides containing various information about the project, organization, and languages, there's also basic information about the user who added a comment, the locale to which the comment was added, the link to the comment, and the text of the comment. This way, you can customize your action to your needs.
The image below shows the trigger setup. Search for Localazy App, and the Comment added Event. Then simply connect your project by passing the authentication procedure (yes, the same one you may know from Figma and Strapi integrations).
Trigger setup: Comment added in LocalazyNext, set up the Send Channel Message in Slack Action. Again, search for the App and select the Event. I chose to send the message to a #zapier-integration-testing channel. There are more options available, so you could, for example, also send a PM to someone directly.
Notice the Message Text. The message was composed so everyone knows what project the comment belongs to, the comment message itself, and the link to Localazy leading directly to the added comment.
Action setup: Send Channel Message in SlackSave and turn on the Zap. To test the Zap out, go to Localazy and add a comment to any translation.
Adding a comment to LocalazyThe Zap will be triggered, and the message will be instantly sent to the selected channel, as you can see in the animation below.
Notification has been sent to SlackUpload all files in all available languages to Google Drive when the project is published
Back up your translated files with an automated external option provided by the integration. In this example, I'll show you how to upload project files to Google Drive (although any type of cloud storage can be used).
Start by searching for the Project published in Localazy trigger. Connect your account. Now, as a part of the trigger setup, you'll be requested to provide two input fields - languages and files.
Trigger setup: Project published in Localazy, input fields selectionFor each field, there'll be a list where you can select multiple options. For our purposes, we just want to select all languages and all files to be uploaded. Also, note that if the All option is selected, you don't have to worry about updating your Zap if another language or file is added - it'll be a part of the upload. The uploaded file is a ZIP file containing an archive of selected files/languages.
Tip: You could also use Convert API to unzip new file archives when uploaded to Google Drive.
Project published in Localazy trigger also contains output fields with information about the project (see the previous example for such fields details). As an extra, there's also the Current timestamp field - thanks to that, you can keep track of previously uploaded versions by optionally adding it to the uploaded file name.
There's also a published tag name provided (helpful in case you are using the Release Tags feature). That may help users to ensure better usability.
To finish the setup, search for the Upload File in Google Drive Action. Connect your account, and select the Drive and destination folder. As a File input field, select the Zipped Files output field. You can alternatively provide a custom file name, as shown in the example below.
Action setup: Upload File in Google DriveSave and activate the Zap.
Go to Localazy and either upload a new file to the project or translate your content. The Project publishing process should start. You can recognize that by the PUBLISHING state on the top right corner in the Project languages screen.
When the state is changed to a PUBLISHED state, the ZIP archive should upload to Google Drive. The upload process is demonstrated by the animation below. It might take a couple of minutes for the Zap to be triggered and process the files. It's given by the Zapier architecture - so please remain patient.
Tip: add a timestamp to keep track of previous records (upload versions) - or you can simply replace the file (choose different action)Project published event triggers the Zap
If you don't want to keep track of previous records, you can simply choose the Replace File Action instead of Upload File Action.
💪 Build your own workflows
So now that you see what is possible and how the Localazy integration with Zapier works, do you already have some ideas of your own?
To get started, you can pick one of the templates below:
Or read one of the tutorials in the Zapier section on our blog, such as: How to upload rows from Google Sheets to Localazy using Zapier Integration by Localazy
✔️ Conclusion
There are over 5000 apps available on the Zapier platform, and we are curious how you will leverage their potential and combine everything with Localazy! Post your workflows in the comment section!
This is a companion discussion topic for the original entry at https://localazy.com/blog/enhance-your-localization-workflow-with-zapier-localazy