Action bundles are groupings of pre-existing actions within the Orchestrator that reflect specific business process steps. They are designed to allow non-technical users, such as Localization Managers and Project Managers, to create workflows without requiring an in-depth understanding of the Phrase API stack.
Action bundles are configured like a standard action, requiring parameters for execution.
Since they contain multiple actions, action bundles consume more Executed Workflow Actions. This is indicated by a numeric value in the top-right hand corner of the action in the workflow editor.
Users can find and use existing action bundles in the tab of the editor, but cannot create new ones (contact the support team to request a new bundle). When searching for actions, enable the option to show action bundles first in the list. A bold blue icon indicates the difference between a regular action and a bundle.
Using an action bundle
To use an action bundle, follow these steps:
-
Drag a selected action bundle onto a workflow.
The action bundle appears in the workflow.
-
Click on the action bundle and select the parameters tab.
-
Click Edit parameters.
Required parameters for the action bundle are displayed.
-
Provide required parameters and click Save parameters.
Parameters are saved to the action bundle and displayed.
-
Click Edit parameters again if changes are required.
Description:
This action bundle is the equivalent of clicking into a translation field in the Strings editor and typing a translation into the field (overwriting anything that pre-existed).
Input parameters:
-
Project IDThe Strings project ID to get the locales of.
-
Locale IDThe Locale ID to identify the language version to be added.
-
Key IDThe Key ID to identify the key to edit.
-
Translated StringThe string to add to the selected translation.
Output:
{
"projectId": "f6dfee6466384379606b6158a410cd46",
"translation": {
"content": "Highlights of Phrase NextMT",
"created_at": "2024-11-21T15:13:46Z",
"excluded": false,
"id": "91ad609cbd7d57e17cbf24432ba3d661",
"key": {
"data_type": "string",
"id": "c7e7924dbb16527eaa0d892a8f0fd0fd",
"name": "key3",
"plural": false,
"tags": [
"35-2024",
"upload-20240830_150155",
"job-4C4F8EE9"
]
},
"locale": {
"code": "en-CA",
"id": "086fe5acddd58c52a5f8b5d9ec4c5a21",
"name": "en-ca"
},
"placeholders": [],
"plural_suffix": "",
"state": "unverified",
"unverified": true,
"updated_at": "2024-11-21T15:18:09Z"
}
}
Input parameters:
-
Access tokenFor authentication.
-
Email template UID -
list_of_job_uids-
list
-
-
Project template UID -
Project UIDAn array including project ID(s) entered manually or referenced from the trigger.
Output:
{
"jobs": [
{
"uid": "string"
}
],
"emailTemplate": {
"id": "string"
},
"cc": [
"string"
],
"bcc": [
"string"
]
}
Description:
This action bundle checks if all Strings job target locales are completed. If so, it returns true, if not it returns false.
Input parameters:
-
Access tokenFor authentication.
-
Project IDFor listing all job target locales from within a specific project.
-
Job IDFor listing all job target locales.
Output:
true OR false
Description:
This action bundle takes the project ID(s), and based on those and the output of listing repository syncs, identifies the repository syncs IDs the export is subsequently triggered for in a loop. The outcome of the action bundle is the list of repository syncs for which the export was triggered.
Input parameters:
-
Access tokenFor authentication.
-
Project IDsAn array including project ID(s) entered manually or referenced from the trigger.
-
Strings account IDStrings ORG ID required for listing the repository syncs.
Output:
[
{
"auto_import": false,
"created_at": "2024-11-22T12:24:38Z",
"id": "6315b3fd21d7735d0735f1d496b3832f",
"status": "running",
"type": "export"
},
{
"auto_import": false,
"created_at": "2024-11-22T12:24:39Z",
"id": "928298761a94a979e1eb6c01948b2041",
"status": "running",
"type": "export"
}
]
Description:
This action bundle hides the paging need for List Locales API endpoint. It also adds the project ID to the payload to enable more robust looping.
Input parameters:
-
Project IDThe Strings project ID to get the locales of.
-
Strings access token
Output:
{
"locales": [
{
"code": "en",
"default": true,
"id": "77e27f1d896629b0641063652572c038",
"name": "en"
},
{
"code": "fr",
"default": false,
"id": "2e8fb31c39957bb557bb96c0228960bf",
"name": "fr"
}
],
"projectId": "f6dfee6466384379606b6158a410cd46"
}
Description:
This action bundle hides the paging need for List translations by locale API endpoint. It also adds the project ID to the payload to enable more robust looping.
Input parameters:
-
Project IDThe Strings project ID to get the translations of.
-
Locale IDThe Strings locale ID within the project to get the translations of.
-
qThe Strings query.
-
Sort -
Strings access token
Output:
{
"projectId": "f6dfee6466384379606b6158a410cd46",
"translations": [
{
"content": "This is new translation - six",
"created_at": "2024-11-21T14:34:06Z",
"excluded": false,
"id": "0dbb663df544008df7e47176f8ec0444",
"key": {
"data_type": "string",
"id": "15798c1dcc05e2d955d2de1959778347",
"name": "key1",
"plural": false,
"tags": []
},
"locale": {
"code": "en-CA",
"id": "086fe5acddd58c52a5f8b5d9ec4c5a21",
"name": "en-ca"
},
"placeholders": [],
"plural_suffix": "",
"state": "unverified",
"unverified": true,
"updated_at": "2024-11-21T14:55:48Z"
}
]
}
Input parameters:
-
Access tokenFor authentication.
-
Job UID -
Project UID -
Segment IDs
Output:
{
"jobs": [
{
"uid": "string",
"status": "ACCEPTED",
"providers": [
{
"type": "string",
"id": "string",
"uid": "string"
}
],
"targetLang": "string",
"workflowLevel": 0,
"workflowStep": {
"name": "string",
"id": "string",
"uid": "string",
"order": 0,
"lqaEnabled": true
},
"filename": "string",
"dateDue": "2019-08-24T14:15:22Z",
"dateCreated": "2019-08-24T14:15:22Z",
"updateSourceDate": "2019-08-24T14:15:22Z",
"imported": true,
"jobAssignedEmailTemplate": {},
"notificationIntervalInMinutes": 0,
"continuous": true,
"sourceFileUid": "string"
}
],
"project": {
"name": "string",
"uid": "string"
}
}
Input parameters:
-
Access tokenFor authentication.
-
Job UID -
Project UID
Output:
[
{
"segmentId": "string", // Value from ."@id"
"origin": "string", // Value from ."@m:trans-origin"
"score": number, // Numeric value from ."@m:score"
"length": number, // Length of the .source string
"source": "string", // Value of .source
"target": "string" // Value of .target
},
...
]
Input parameters:
-
Access tokenFor authentication.
-
Job UID -
Project UID -
warning types
Output:
{
"projectUid": "project123",
"jobUid": "job456",
"segmentIds": ["string"],
"warnings": [
{
"segmentId": "string",
"warnings": [
{
"id": "string",
"ignored": true,
"type": "string",
"repetitionGroupId": "string"
}
],
"ignoredChecks": ["string"]
}
]
}