AI Tools Module
This module helps you extend the AI Assistant in the Crowdin Editor with custom tools that provide access to functionality not available by default. Once you create this kind of app, you’ll be able to define callable functions using the function calling approach supported by modern AI models. For example, you can generate project-specific reports, fetch internal data, or trigger secure API calls. The results returned by your tools can then be processed and interpreted by the AI Assistant based on user prompts.
For rendering UI elements in the Crowdin Editor, see the AI Tools Widget Module.
Access
You can grant access to this module to one of the following user categories:
For Crowdin:
- Only me (i.e., project owner)
- All project members
- Selected users
For Crowdin Enterprise:
- Only organization admins
- All users in the organization projects
- Selected users
Structure
{ "modules": { "ai-tools": [ { "key": "custom-generate-report", "toolType": "function", "function": { "name": "generate_project_report", "description": "Generate a custom project report and return raw data for AI summarization.", "parameters": { "type": "object", "properties": { "projectId": { "type": "string", "description": "The ID of the project to generate a report for." }, "reportType": { "type": "string", "description": "The type of report to generate (e.g., 'activity', 'costs')." } }, "required": [ "projectId", "reportType" ] } }, "url": "/ai-tools/generate_report" } ] }}
Properties
key | Type: Required: yes Description: Module identifier within the Crowdin app. |
toolType | Type: Required: yes Allowed value: Description: Type of the tool used in the module. |
function.name | Type: Required: yes Description: The human-readable name of the function. |
function.description | Type: Required: yes Description: The description of what the function does. Helps AI understand how and when to use it. |
function.parameters | Type: Required: no Description: The list of input parameters used by the function. Follows JSON Schema structure. |
url | Type: Required: yes Description: The relative URL to the endpoint that implements the function logic. |
Example Request and Response
When a tool from the AI Tools module is called by the AI Assistant, Crowdin sends a POST request to the defined url
. The request includes project and organization context along with the function name and arguments.
Request
{ "function": { "name": "generate_project_report", "arguments": "{\"projectId\":\"751531\",\"reportType\":\"translation activity\"}" }, "organization": { "id": 12345678, "baseUrl": "https://{organization-name}.crowdin.com", "apiBaseUrl": "https://{organization-name}.api.crowdin.com" }, "project": { "id": 123456, "identifier": "sample-project", "name": "Sample Project", "sourceLanguageId": "en", "targetLanguageIds": ["de", "uk"] }}
Response
{ "data": { "content": "{\"total_translations\":4512,\"top_contributor\":\"user_123\",\"term_consistency\":98}" }}
The content
value will be passed to the AI Assistant, which will then process and present it based on the prompt or chat context.