This feature is available from the Start pricing plan and above.
Zapier is an app automation platform where you can connect apps into customized workflows. A Zapier app can connect your app’s API to the Zapier platform and let it integrate with hundreds of other popular apps to watch for new or updated data, find existing data, or create and update data.
In this article you will learn how to integrate Lokalise with other applications using Zapier.
Terminology
Zap is a customized workflow on Zapier. For example you can create a Zap that will send an email notification once a translation order is completed on Lokalise.
Trigger is an event that starts a Zap. Once you’ve set up a Zap, Zapier will monitor for that trigger event. There are two types of triggers:
Polling trigger — the majority of triggers are polling triggers. With a polling trigger, Zapier will check for new data from your trigger every 1 to 15 minutes in order to start your Zap.
Instant trigger — with an instant trigger, your trigger app will send Zapier an instant notification whenever there's new data.
Action is a job your Zap performs when your trigger event occurs.
Creating a new ZAP
To get started, proceed to your Dashboard on Zapier and click Make a ZAP. Depending on the desired workflow, your further actions will vary.
If you want to create a new Lokalise trigger (in other words, you want to monitor a certain event and perform some action afterwards):
Search for the "Lokalise" app and set it as a Trigger.
Choose a Lokalise trigger event and click Continue.
Choose your Lokalise account or add a new one. You will need to provide an API key that can be found under your Personal profile > API tokens. Please make sure to create a read/write token.
Click the Test trigger to make sure everything is working fine and click Continue.
Now you will need to choose an action. Choose an application that you would like to perform an action at.
Choose an Action event.
You will probably need to sign in via the chosen app.
Click Continue and fill in the action fields. The actual fields will highly depend on the chosen app.
If you need to create a new Lokalise action (do something on Lokalise when a certain event happens elsewhere), perform the following steps:
Search for a desired app and set it as a Trigger.
Choose a trigger event and log in via the chosen application.
Click the Test trigger to make sure everything is fine and then click Continue.
Choose Lokalise as an action.
Choose an action event.
Choose your Lokalise account or add a new one. You will need to provide an API key that can be found under your Personal profile > API tokens. Please make sure to create a read/write token.
Fill in the action fields. The actual fields will vary depending on the chosen action.
Available triggers
Task closed (instant trigger) — fires when a translation or review task is closed.
Task language closed — fires when a specific language is closed in a task.
Order completed — fires when a translation order is marked as completed on Lokalise.
Task created — fires when a new task is created on Lokalise.
Project exported — fires when a translation project was exported (in other words, when project translations were downloaded).
Project imported — fires when new translations were imported to the specific project.
Available actions
Download files — exports translation files from the given project. Available fields:
Project ID: identifier of your Lokalise project.
Other fields are similar to the download options.
Upload file — imports a translation file to the given project. Available fields:
Project ID: identifier of your Lokalise project.
Language code: ISO code of your file locale.
Filename: name of your translation file.
File: file contents.
Other fields are similar to the upload options.
Create project — creates a new translation project. Available fields:
Team ID: identifier of your Lokalise team.
Project name: name of the new project.
Description: brief summary of the project purpose.
Base language code: project base language (default is English).
Project type: localization files or paged documents.
Typical use-cases
File storage services
Scenario #1: you are monitoring a folder or a container on some file storage service. Whenever a new file is uploaded to the monitored location, you create a new translation project on Lokalise and upload that file. Alternatively, you may upload a new file to the existing project.
Example: Google Drive
Trigger: Google Drive.
Trigger event: New file in folder.
Choose your drive and the folder you'd like to monitor.
Action: Lokalise.
Action event: Create project.
Set up the event fields:
Team ID: choose one of your existing teams.
Project name: choose how your project should be named. For example, you may utilize file name as the name of the project.
Fill in other optional fields as needed.
If you are planning to upload files with translations for various languages, then it's important to extract the language code from the file name. Therefore, click on the Plus icon and create a new Format action (this type of the action can be chosen from the right side).
Action event: Text.
Transform: Split text.
Input: New file in folder in Google Drive > Title.
Separator:
.
(we'll use dot to split the filename).Segment index: depends on your file naming pattern. If you are going to upload files named like
en.json
orde.xml
then, choose "First" as the segment index. If your files follow themessages.en.xlf
pattern, then choose "Second to last".
Click on the Plus icon and create an additional Lokalise action.
Action event: Upload file.
Project ID: click Custom, select "Create project in Lokalise" and then choose "ID".
Language code: Custom > Text > Title.
Filename: New file in folder in Google Drive > Title. If you are converting Excel files to CSV format, then type
.csv
after the title.File: New file in folder in Google Drive > File. If you are planning to upload Excel files, then it is advised to convert them to CSV. To achieve that, simply choose the New file in folder in Google Drive > File (CSV).
Set up other optional fields as needed.
Example: Dropbox
Trigger: Dropbox.
Trigger event: New file in folder.
Choose the folder you'd like to monitor.
Include file contents: no.
Action: Lokalise.
Action event: Create project.
Set up the event fields:
Team ID: choose one of your existing teams.
Project name: choose how your project should be named. For example, you may utilize file name as the name of the project.
Fill in other optional fields as needed.
Click on the Plus icon and create an additional Lokalise action.
Action event: Upload file.
Project ID: click Custom, select "Create project in Lokalise" and then choose "ID".
Language code: click Custom, select New file in folder in Dropbox > File name. Dropbox provides file names without extensions.
Filename: New file in folder in Dropbox. Choose both File name and File ext.
File: New file in folder in Dropbox > Direct media link.
Set up other optional fields as needed.
Scenario #2: when a file was modified on Google Drive, you upload it to the Lokalise project replacing the existing translations.
Example: Google Drive
Trigger: Google Drive.
Trigger event: Updated file.
Choose your drive and the folder you'd like to monitor.
Include deleted: no.
Action: Lokalise
Action event: Upload file.
Project ID: enter your project id.
Language code: enter your language code.
Filename: Updated file in folder in Google Drive > Title.
File: Updated file in folder in Google Drive > File.
Replace modified translations: true.
Set up other optional fields as needed.
Scenario #3: when a task is closed on Lokalise (or when a translation order is completed), you download a translation file and export it to a file storage service.
Example: Google Drive
Event: Lokalise.
Event trigger: Task closed.
Set up the event fields:
Project ID: choose your existing Lokalise project to monitor.
Task type: choose one of the types, or simply pick Any.
Action: Lokalise.
Action event: Download files.
Set up the event fields:
Project ID: Task closed in Lokalise > Project ID.
Setup other optional export settings as necessary. For example, in your Lokalise task you may choose to tag the keys after the task is closed. Next, in Zapier you can set the Include tags field and provide the name of your tag.
Click on the Plus icon to create another action.
Action: Google Drive.
Action event: Upload file.
Set up action fields:
Drive: choose your drive.
Folder: choose the folder to upload translation files to.
File: Download files in Lokalise > Bundle URL.
Convert to document: false.
Filename: depends on your setup but, for example, you can use Task closed in Lokalise > Task Title and Task closed in Lokalise > Created at timestamp.
Task management systems
Scenario #1: once you create a new task in Lokalise, a todo is also added to the task management system of your choice.
Example: Trello
Event: Lokalise.
Event trigger: Task created.
Set up the event fields:
Project ID: choose your existing Lokalise project to monitor.
Action: Trello.
Action event: Create card.
Set up action fields:
Board: choose the board where you would like to create new cards.
List: choose one of the lists from your board.
Card name: Task created in Lokalise > Task title. Of course, you may use additional fields like Task ID or Created at. If later you are planning to manage this card via Zapier, it's advised to give it a unique name: for example, a combination of task name and task id.
Description: Task created in Lokalise > Description (or use combination of any other fields as necessary).
Provide other optional settings as necessary.
Example: Asana
Event: Lokalise.
Event trigger: Task created.
Set up the event fields:
Project ID: choose your existing Lokalise project to monitor.
Action: Asana.
Action event: Create task.
Set up action fields:
Workspace / Organization: choose one of the values.
Name: Task created in Lokalise > Task title. You may use additional fields like Task ID or Created at. If later you are planning to manage this task via Zapier, it's advised to give it a unique name: for example, a combination of task name and task id.
Notes: Task created in Lokalise > Description (or use combination of any other fields as necessary).
Provide other settings as necessary.
Scenario #2: when a task is closed on Lokalise, the corresponding todo should be closed or archived on the task management system.
Example: Trello
Event: Lokalise.
Event trigger: Task language closed.
Set up the event fields:
Project ID: choose your existing Lokalise project to monitor.
Action: Trello.
Action event: Find card.
Provide event fields:
Board: choose the board where you'd like to search for a card.
List: to narrow the scope, provide the list in the chosen board.
Card name: provide the card name to search for. The value of this field will highly depend on your setup, but it is recommended to establish a naming pattern for your cards. For example, you may use a combination of the task title, name of the language, and task id.
Should This Step Be Considered A "success" When Nothing Is Found: false.
Create card if it does not exist: no.
Click Plus to create an additional action.
Action: Trello.
Action event: archive card.
Provide action fields:
Board: Find card in Trello > ID board.
Card: Find card in Trello > ID.
Example: Asana
Event: Lokalise.
Event trigger: Task language closed.
Set up the event fields:
Project ID: choose your existing Lokalise project to monitor.
Action: Asana.
Action event: Find task in project.
Provide event fields:
Workspace: choose your workspace.
Project: choose your project inside the workspace.
Task name: provide the card name to search for. The value of this field will highly depend on your setup, but it is recommended to establish a naming pattern for your cards. For example, you may use a combination of the task title, name of the language, and task id.
Should This Step Be Considered A "success" When Nothing Is Found: false.
Create Asana task if it does not exist: no.
Click Plus to create an additional action.
Action: Asana.
Action event: update task.
Provide action fields:
Task: Custom > Find task in project in Asana > ID.
Task completed: true.
Fill in other optional settings as needed.
Scenario #3: when a task is closed on Lokalise, the corresponding todo should be updated on the translation management system. If the corresponding todo does not exist yet, it should be created. This should only happen if the task was initially created by a certain Lokalise user.
Example: Trello
Event: Lokalise.
Event trigger: Task closed.
Set up the event fields:
Project ID: choose your existing Lokalise project to monitor.
Task type: choose a type, or simply pick Any.
Click Plus icon and create a new action with the type Filter.
Fill in the filter details:
Task closed in Lokalise > User email.
(Text) Exactly matches.
Enter the user email.
Create a new action: Trello.
Action event: Find card.
Provide event fields:
Board: choose the board where you'd like to search for a card.
List: to narrow the scope, provide the list in the chosen board.
Card name: provide the card name to search for. The value of this field will highly depend on your setup, but it is recommended to establish a naming pattern for your cards. For example, you may use a combination of the task title, name of the language, and task id.
Create card if it does not exist: yes.
Provide optional fields that will be used only when the card does not exist yet and has to be created from scratch.
Click the Plus icon and create a new action: Trello.
Action event: Update card.
Populate action fields:
Card: Find or create card in Trello > ID.
Provide values for other fields as necessary. For example, you can update the card's description with a new value.
Example: Asana
Event: Lokalise.
Event trigger: Task closed.
Set up the event fields:
Project ID: choose your existing Lokalise project to monitor.
Task type: choose a type, or simply pick Any.
Click Plus icon and create a new action with the type Filter.
Fill in the filter details:
Task closed in Lokalise > User email.
(Text) Exactly matches.
Enter the user email.
Action: Asana.
Action event: Find task in project.
Provide event fields:
Workspace: choose your workspace.
Project: choose your project inside the workspace.
Task name: provide the card name to search for. The value of this field will highly depend on your setup, but it is recommended to establish a naming pattern for your cards. For example, you may use a combination of the task title, name of the language, and task id.
Create Asana task if it does not exist: yes.
Provide optional fields that will be used only when the card does not exist yet and has to be created from scratch.
Click the Plus icon and create a new action: Asana.
Action event: update task.
Provide action fields:
Task: Custom > Find task in project in Asana > ID.
Task completed: true.
Fill in other optional settings as needed.
Corporate chats
Scenario #1: when a task is closed, a new message is sent to the specified channel.
Example: Slack
Event: Lokalise.
Event trigger: Task closed.
Set up the event fields
Project ID: choose your existing Lokalise project to monitor.
Task type: choose a type, or simply pick Any.
Action: Slack.
Action event: Send channel message.
Fill in the action fields:
Channel: choose a channel to send notification to.
Message text: you can use any combination of the available fields to construct your message. For example, provide the task name, task description, and who initially created it.
Provide other optional settings as necessary.
Scenario #2: when a new file was uploaded to file hosting service and then to Lokalise, a new message should be sent to the specified channel.
Example: Google Drive and Slack
Trigger: Google Drive.
Trigger event: New file in folder.
Choose your drive and the folder you'd like to monitor.
Action: Lokalise.
Action event: Create project.
Set up the event fields:
Team ID: choose one of your existing teams.
Project name: choose how your project should be named. For example, you may utilize file name as the name of the project.
Fill in other optional fields as needed.
Now we need to extract the language code from the file name. Therefore, click on the Plus icon and create a new Format action (this type of the action can be chosen from the right side).
Action event: Text.
Transform: Split text.
Input: New file in folder in Google Drive > Title.
Separator:
.
(we'll use dot to split the filename).Segment index: depends on your file naming pattern. If you are going to upload files named like
en.json
orde.xml
then, choose "First" as the segment index. If your files follow themessages.en.xlf
pattern, then choose "Second to last".
Click on the Plus icon and create an additional Lokalise action.
Action event: Upload file.
Set up the event fields:
Project ID: click Custom, select "Create project in Lokalise" and then choose "ID".
Language code: Custom > Text > Title.
Filename: Custom > New file in folder in Google Drive > Title.
File: Custom > New file in folder in Google Drive > File.
Set up other optional fields as needed.
Action: Slack.
Action event: Send channel message.
Fill in the action fields:
Channel: choose a channel to send notification to.
Message text: you can use any combination of the available fields to construct your message. For example, provide the name of the file and the project title.
Provide other optional settings as necessary.
Scenario #3: when translations were downloaded from a project, an archive link should be sent to the specified channel.
Trigger: Lokalise.
Trigger event: Project exported.
Choose a project you'd like to monitor.
Action: Slack.
Action event: Send channel message.
Fill in the action fields:
Channel: choose a channel to send notification to.
Message text: you can use any combination of the available fields to construct your message. For example, provide project name and export filename.
Provide other optional settings as necessary.
Scenario #4: when translations were imported to a project, send import statistics to the specified channel.
Trigger: Lokalise.
Trigger event: Project imported.
Choose a project you'd like to monitor.
Action: Slack.
Action event: Send channel message.
Fill in the action fields:
Channel: choose a channel to send notification to.
Message text: you can use any combination of the available fields to construct your message. For example, provide project name, file name, user name, and brief statistics (how many keys were imported, updated, and skipped).
Provide other optional settings as necessary.