The XTRF Knowledge Base has been moved to a new space.

Use to access the Knowledge Base.

Phrase TMS (frm. Memsource)

XTRF Platform offers integration with Phrase TMS Ultimate, a popular web-based CAT tool.


Translation Memories

The TMs are stored on the Phrase's side and are updated on-the-fly after each segment confirmation.


Job Statuses

When XTRF creates a project in Phrase, all job statuses in Phrase are set to New.

When a job's status is changed to Ready in XTRF, it's changed to Completed in Phrase.

Reverting a job's status in XTRF to Started sets it back to New in Phrase.

When in XTRF a job's status is changed to Canceled or the job is deleted, in Phrase, the status is changed to Completed.

While canceling a project in XTRF, we recommend leaving the status of the External Project Preparation job set to Ready. Otherwise, the connection with Phrase will be disrupted, and the linked project in Phrase won't be finalized properly.

Phrase Project Templates

It is possible to attach a Phrase project template to an XTRF workflow (see the Configure the workflows section below). In this case, the settings predefined in Phrase will be taken into account.

The language combination selected in XTRF will override the language configuration from Phrase project templates. The workflow job configuration from XTRF also overrides the Phrase’s templates.

Cached Settings

XTRF caches the following Phrase settings: Clients, Domains, Machine Translation Engines, Project Templates, Vendors, and Workflow Steps.

The cache is updated automatically every hour. However, if you have changed the Phrase configuration and wish to update the cached elements, you can do it manually at any time in Configuration menu > Integration > CAT Tools > Phrase settings > Advanced settings > Cached Data section (see the Configure the XTRF Platform section below).

CAT Analyses

If the Create CAT Receivable or Create CAT Payables options are turned on, then during the project creation, a CAT analysis file will be downloaded from Phrase and stored in the Log File folder.

If there are different payables (providers will work on different sets of files), there will be more than one CAT analysis file.

The default analysis format is JSON. You can change it in the settings and choose from other options: LOG, CSV, or CSV_EXTENDED (the CSV analysis that includes characters). The analysis name can be changed in the integration settings.

Make sure the Separate internal fuzzies and Net rates scheme features are disabled in the linked Phrase projects. Otherwise, the CAT analyses won’t be uploaded to XTRF correctly.

Supported Document Formats

For the complete list of supported document formats, please see Phrase's website.

Supported Languages

For the complete list of supported languages, please see Phrase's website.

Phrase Documentation


Phrase Configuration

No changes are required.

Known limitations

  • Multilingual XTR projects are automatically divided into several projects in Phrase (one project per language pair).

  • One file can’t be split for multiple translations.

  • You can add new files to an existing Phrase project, but it will interrupt the vendor’s work, and the ongoing translations will be lost. 

  • If you delete a linked project in Phrase, its connection with an associated quote or project in XTRF will be lost. It may result in minor issues in XTRF, such as the impossibility of multiple change of quotes' status, etc. To avoid those issues, we suggest you also delete or archive the associated project and quote in XTRF.

Field mapping


  • For each integrated project, XTRF looks in Phrase for a matching client. If there is no such client, XTRF automatically creates a new client in Phrase. 
    The new client’s Name in Phrase will be the same as XTRF’s Client ID, e.g., C000001, and the External ID from Phrase will be added as Name in external system for Memsource in Client profile > Main Data > System Accounts > username in external system>Partner Aliases in XTRF.

  • If a client is already created in Phrase, you can do the matching manually. Make sure that: 

    • The Client ID from Phrase is added as Name in external system in Client profile > Main Data > System Accounts > username in external system > Partner Aliases in XTRF.

    • The client Username from XTRF is added as External ID in Phrase.



  • For each integrated project, XTRF looks in Phrase for corresponding vendors (linguists). XTRF searches linguists firstly by the username in external system, specified in Vendor profile > Main Data tab > System Accounts tab. Then it checks for linguists with the same Name. And finally, it tries to match vendors and linguists by e-mail. A match on any of those fields results in linking the two profiles.

  • If no corresponding linguist is found, XTRF creates new linguists in Phrase using their Name in XTRF and a random token.


XTRF automatically imports all TMs/TBs for a matched client.
Languages and Domain/Specialisation can be used to suggest resources based on the project specification automatically.

Configure the XTRF Platform 

  1. Go to Configuration menu > Integration > CAT Tools.

    • Click the Add button to create a new entry.

    • Select the CAT Tool - Memsource, Type - Classic, and provide a Name for the integration.


    • Click the Save button. You will be directed to the newly added integration page.


    • Provide the Webservice URL under which Phrase is available (the standard address is

    • In the User ID and Password fields, provide the credentials you use to log in to Phrase.

    • In the Advanced Settings section, you can:

      • In the External Configuration section, access Phrase configuration directly by clicking the Open in Pop-up link.

      • In the Project Name Expression field, check how the project names in Phrase are generated. This expression can be changed in Configuration Menu > Templates > Expressions > Project name expression for CAT tools

      • In the Vendor Alias field, you can decide how the vendors created automatically by XTRF in Phrase should be named to avoid name conflict. To add an XTRF-specific identifier to a vendor’s name in Phrase, click on the Vendor Alias field and select the desired identifier from the list of variables that appears next to the field. 

      • If you have several machine translation engines configured in Phrase, select the appropriate one from the Default Machine Translation Engine drop-down list.
        If necessary, the default MT engine can be changed for each workflow and XTRF task.

      • In the Cached Data section, you can manually Update the cached settings from Phrase (see the Cashed Settings section above).

    • In the Analysis Settings section, you can:


      • Specify how the analysis names are generated in the Analysis Name Expression field.
        If this field is left empty, the default Phrase analysis names will be used ("Analysis#1", etc.).

      • Specify the Analysis Format (JSON, LOG, CSV, or CSV_EXTENDED). 

      • Match the clients from the Phrase to those defined in XTRF by clicking the Migrate button in the Auto-migrate Clients section.

    • Click the Save button. The connection between Phrase and XTRF is now established.

Configure the workflows

To automate the integration, you should create special workflows to manage the communication between XTRF and Phrase. You can create as many workflows as you wish. To learn how to add a workflow, see the Create a task workflow definition article.

  1. Go to Configuration menu > Projects and Quotes > Workflow Definitions (Classic).

  2. Click the Add button to create a new workflow. Go to the Workflow Graph tab. Here you can configure the jobs that will be included in the workflow. The workflow should contain the following jobs in this specific order:

    1. External Project Preparation (set the Default Vendor to Automatic Action and select External Project Preparation from the drop-down list).

    2. The jobs you wish to be performed in this workflow, e.g., Translation, Proofreading, etc.

    3. External Project Finalisation (set the Default Vendor to Automatic Action and select External Project Finalization from the drop-down list).


  3. Go to the CAT Tools tab.


  4. From the CAT Tool drop-down list, select Memsource.

  5. In the Project Template section, decide whether you want to attach a Phrase project template to this workflow. Select the appropriate template from the drop-down list.

  6. (For auto-starting workflows) Decide whether you want to Start Workflow after Completing CAT Receivable Using CAT Tool. If the box is unchecked,  you can add a receivable manually, as the workflow will not start after receivable creation.

  7. Decide whether you want to Download Preview Files after Each External Job

  8. In the Job Mapping tab, match the XTRF jobs with the corresponding workflow steps in Phrase. To do so, select the appropriate Phrase step from the drop-down list.
    When you define your own workflow steps in Phrase, you have to set up their order which will be taken into consideration by XTRF. Therefore, when you set up job mapping for several steps,  the drop-down selection lists contain only those steps that can be added after the previous step and before the next step. For more information on Phrase workflow steps order please refer to Phrase documentation.

  9. In the Advanced Settings tab, you can:


    • Select a Machine Translation Engine to be used in this workflow.

    • Decide whether you want to Add CAT Receivable based on Phrase’s CAT Analysis. 

    • Decide whether you want to Add CAT Payables for All Jobs based on Phrase’s CAT Analyses.

    • Decide whether you want to Add CAT Payable for specific workflow jobs based on Phrase’s CAT Analyses.

    • From the File Type for Package Preparation drop-down list, select the desired file type for the Prepare Package automatic action used in CAT tools integrations. If you select None, no file will be uploaded to XTRF.

    • Decide whether you want to Update CAT Payables Using Post-Edinting Analysis for Jobs. If you check this box, the payables for the jobs will be updated according to a new analysis based on the finished job. For more details, see the Phrase documentation.