Enhance your localization workflow with Zapier & Localazy
Tags: zapier, localazy, howto
Published: 2022-09-14 13:43:42

**You can now create your own Zaps or use one of the example templates on Zapier to integrate Localazy with over 5000 apps. Build your own workflows across platforms to stay on top of things and automate your localization workflow even more with Localazy and Zapier!**

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**](https://zapier.com/apps/localazy/integrations) in public beta!

![Source: Localazy Integrations on Zapier](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bub90a55usham2ktnbrp.png)

## 🤔 What is Zapier?

Technically speaking, Zapier is an [Integration Platform as a Service](https://zapier.com/blog/what-is-ipaas/), 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.

![Zapier logo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2q0ajmgmj1p0disd2shb.png)

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

![Source: Save new attachments in Gmail to Dropbox](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r08f8l6rw45rxyunc7qi.png)

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](https://zapier.com/explore).

## 🚩 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](https://zapier.com/how-it-works) 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.

#### Comment Added

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](https://localazy.com/docs/zapier/triggers#comment-added).**

#### Project Published

This trigger sets off when the specified project is successfully published (applies to [release tags](https://localazy.com/docs/cli/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](https://localazy.com/docs/zapier/triggers#project-published).**

#### Import finished

This 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](https://localazy.com/docs/general/webhooks#content-imported).*

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](https://localazy.com/docs/zapier/triggers#content-imported-and-content-imported-empty).**

### Actions

#### Import to Localazy

This 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](https://localazy.com/docs/zapier/creates#import-to-localazy).**

#### Zip files in languages

This 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](https://localazy.com/docs/zapier/searches#zip-files-in-languages).**

## ⚡ 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](https://zapier.com/apps/localazy/integrations) to get inspired on the official website.

### Send channel messages in Slack for new comments added in Localazy

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](https://localazy.com/docs/zapier/triggers#comment-added)* 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.

<!--kg-card-begin: html-->

<!--kg-card-end: html-->

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](https://localazy.com/docs/figma/) and [Strapi](https://localazy.com/docs/strapi/) integrations).

![Trigger setup: Comment added in Localazy](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2q9nqkqm4h5qlbx0dcbe.png)

Next, 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 Slack](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3v9b5rds2xbd69g3ltsy.png)

Save and turn on the Zap. To test the Zap out, go to Localazy and add a comment to any translation.

![Adding a comment to Localazy](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r7gqrpscjqxvx48fuknq.png)

The 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 Slack](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uebep4hsf9srytsuwp6p.gif)

### Upload 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](https://localazy.com/docs/zapier/triggers#project-published)* 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 selection
](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mkalapwv01cuijwtbda6.png)

For 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](https://zapier.com/apps/google-drive/integrations/google-drive/440517/unzip-new-file-archives-with-convertapi-when-uploaded-to-google-drive) to unzip new file archives when uploaded to Google Drive.

[*Project published in Localazy*](https://localazy.com/docs/zapier/triggers#project-published) 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](https://localazy.com/docs/general/release-tags-feature) 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 Drive](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/igtcvn1dzy2cw43yw6cr.png)

Save and activate the Zap.

Go to Localazy and either [upload a new file to the project](https://localazy.com/docs/general/importing-localization-files) or [translate your content](https://localazy.com/docs/general/translating-strings). 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](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fib0t2o2wihfkwkw7atk.gif)

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?

You can read one of the tutorials in the [Zapier section on our blog](https://localazy.com/tags/zapier), such as: [How to upload rows from Google Sheets to Localazy using Zapier Integration by Localazy](https://localazy.com/blog/how-to-upload-rows-from-google-spreadsheets-to-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!