Ellipse Gradient for Header

Azure Translator Integration Guide

Connect enterprise applications to Azure Translator REST APIs for text translation, language detection, transliteration, dictionary lookup, and asynchronous document translation.

Azure Translator integration options at a glance

Azure Translator provides REST APIs for synchronous text translation, language detection, transliteration, dictionary lookup, and asynchronous Document Translation. Document jobs process files in Azure Blob Storage source and target containers, with status retrieved through polling rather than a confirmed general-purpose webhook. Authentication can use subscription keys or Microsoft Entra ID bearer tokens, depending on resource configuration. Martini can consume these APIs from workflows, store credentials as environment secrets, validate language and request limits, map responses into enterprise applications, and expose a controlled REST API façade for consistent translation services across internal systems.

Integration pointSupported by Azure Translator?Common use casesHow Martini supports it
REST APIsYesSynchronous text translation, language detection, transliteration, dictionary lookup, and asynchronous Document Translation operations use Azure Translator REST endpoints.Martini can consume the REST APIs from workflows, map JSON requests and responses, apply business rules, and expose a controlled API façade.
Bulk / async / batch APIsYesDocument Translation supports asynchronous jobs for one or more documents, target languages, and output files.Martini can submit jobs, persist operation identifiers, poll status, route failures, and process completed output.
File / attachment APIsLimitedDocument Translation reads source documents from Azure Blob Storage containers and writes translated documents to target containers; it is not a general attachment API.Martini can orchestrate storage placement or references, submit the translation job, poll completion, and deliver the output to downstream systems.
AuthenticationYesAzure Translator supports subscription keys and Microsoft Entra ID bearer tokens, with regional headers required for applicable resource configurations.Martini can configure headers, OAuth credentials, resource endpoints, regions, and secrets through environment-specific configuration.
Scheduled synchronizationYesScheduled workflows can retrieve content exports, submit document jobs, and poll asynchronous job or document status.Martini provides scheduler-triggered workflows, bounded polling, timeout handling, and status-based routing.
JSON APIsYesText translation operations use JSON request and response payloads containing source text, target languages, translations, and detected language information.Martini can parse, validate, transform, and map JSON payloads between Azure Translator and enterprise applications.
Webhooks / outbound callbacksNot confirmedThe documented asynchronous Document Translation pattern uses status polling; no general Translator webhook interface was identified.Martini should use scheduled polling or another separately verified Azure event architecture rather than assuming native Translator callbacks.
GraphQL APIsNot confirmedNo GraphQL interface is identified in the Azure Translator API reference reviewed.Martini can use REST integration for Azure Translator; GraphQL is not presented as an Azure Translator mechanism.

How Azure Translator exposes data and business events

Azure Translator REST APIs

Azure Translator exposes REST operations for text translation, language detection, transliteration, dictionary lookup, and document translation. Text operations are generally synchronous and use JSON request and response payloads.

Martini implementation pattern

Martini implementation pattern: a workflow or Martini API receives enterprise content, validates the request, calls the configured Translator resource endpoint with a subscription key or Microsoft Entra bearer token, and maps the response into the target application model.

Implementation sequence

Receive the translation request from an application or scheduled workflow
Validate source text, language codes, encoding, and request size
Build the Azure Translator JSON request
Call the Translator REST endpoint with configured authentication
Map the Translation or Detected language response
Write the result and retain the correlation identifier

Azure Translator Document Translation

Document Translation supports asynchronous jobs for files stored in Azure Blob Storage source and target containers. The documented completion model uses job and document status endpoints rather than a general Translator webhook.

Martini implementation pattern

Martini implementation pattern: a workflow places or references source files, submits a Document Translation job, persists the operation identifier and deterministic document key, polls status at controlled intervals, and processes translated files after completion.

Implementation sequence

Place or reference source documents in the configured Blob Storage location
Submit the Document Translation job
Store the job identifier and document correlation key
Poll job and document status at a controlled interval
Route successful documents to the target processing step
Record failures, timeouts, and translated output locations

Azure Translator Authentication

Azure Translator supports subscription-key authentication and Microsoft Entra ID bearer tokens. Regional resource configurations may require the Azure region header, and identities need permission to access the Translator resource.

Martini implementation pattern

Martini implementation pattern: environment-specific secrets and endpoint settings supply the subscription key or OAuth configuration without embedding credentials in workflow definitions or payloads. Workflows normalize authentication failures separately from translation errors.

Implementation sequence

Select the Translator resource endpoint and region configuration
Load the subscription key or Microsoft Entra credentials from environment secrets
Construct the required authentication headers or bearer token
Call the Translator operation over the configured endpoint
Route authorization and resource configuration failures separately
Rotate secrets through environment configuration without changing workflow logic

Common Azure Translator integration patterns

Pattern 1: Translate customer content from a business application

When to use this pattern

Use this pattern when customer-facing text such as case descriptions, knowledge articles, or messages must be translated synchronously and written back to the source application or a content repository.

Integration direction
Salesforce or Microsoft Dynamics 365
Martini
Azure Translator
Source application or content repository
Example Mapping
Azure Translator FieldCanonical FieldTarget Field
textsourceTextdescription or translatedContent
totargetLanguagelanguageCode
detectedLanguagedetectedLanguagesourceLanguage
texttranslatedTextlocalizedText
Martini implementation pattern

A Martini API or workflow receives the source object, validates the requested language pair and text size, calls the synchronous Translator endpoint, maps the Translation response, and writes the result only when the source version has not changed. Correlation identifiers and bounded retries support duplicate prevention and transient failures.

Martini capabilities used
  • workflows
  • API consumption
  • data mapping
  • business rules
  • error handling

Pattern 2: Translate documents in Azure Blob Storage

When to use this pattern

Use this pattern for contracts, product documentation, invoices, forms, knowledge-base exports, or other files that require asynchronous batch processing.

Integration direction
SharePoint or document repository
Martini
Azure Blob Storage
Azure Translator
Example Mapping
Azure Translator FieldCanonical FieldTarget Field
sourceUrisourceDocumentLocationsourceContainer
targetLanguagerequestedLanguagetargetLanguage
jobIdtranslationOperationIdworkflowCorrelationId
documentStatusprocessingStatusdocumentProcessingState
Martini implementation pattern

Martini references or places source files in the required Blob Storage location, submits a Document Translation job, stores a content hash or source URI to prevent duplicate submission, polls status with a timeout, and routes completed files or document-level failures. Storage access errors are handled separately from Translator errors.

Martini capabilities used
  • workflows
  • API consumption
  • scheduler triggers
  • data mapping
  • business rules
  • error handling

Pattern 3: Provide a centralized translation API

When to use this pattern

Use this pattern when multiple internal applications need a consistent translation contract, approved language rules, request validation, authentication, logging, and normalized errors.

Integration direction
Internal applications
Martini
Azure Translator
Example Mapping
Azure Translator FieldCanonical FieldTarget Field
contentsourceTexttext
sourceLanguagesourceLanguagefrom
targetLanguagestargetLanguagesto
translationtranslatedContenttranslations
Martini implementation pattern

Martini exposes a REST API that authenticates callers, validates maximum text length and approved language pairs, selects terminology rules where applicable, invokes Azure Translator, and returns an organization-specific response. The façade hides provider details while preserving correlation IDs and normalized error categories.

Martini capabilities used
  • API exposure
  • workflows
  • API consumption
  • data mapping
  • business rules
  • authentication and authorization
  • error handling

Pattern 4: Run scheduled translation of content exports

When to use this pattern

Use this pattern when a source system provides periodic files rather than real-time events, or when translation is intentionally processed in controlled batches.

Integration direction
Content or business application
Martini
Azure Blob Storage
Azure Translator
Example Mapping
Azure Translator FieldCanonical FieldTarget Field
exportFilesourceFileBlob Storage source object
contentHashsourceVersionKeyidempotencyKey
jobStatustranslationStatusbatchProcessingStatus
translatedFilelocalizedExportdownstream repository
Martini implementation pattern

A scheduler-triggered Martini workflow retrieves an export, validates encoding and file eligibility, stores or references the file in Blob Storage, submits a Document Translation job, polls until completion, and delivers the translated export. The workflow tracks source versions, limits concurrency, and retries only transient failures.

Martini capabilities used
  • scheduler triggers
  • workflows
  • API consumption
  • file-oriented orchestration
  • data mapping
  • error handling
  • monitoring

Applications commonly integrated with Azure Translator

Azure Translator can be integrated with applications that contain multilingual customer, operational, document, or knowledge content. These are standards-based integration patterns rather than claims of native Azure Translator integrations.

Application Scenario Direction Martini Pattern
Salesforce Translate case descriptions, knowledge articles, customer communications, and sales content. Salesforce → Martini → Azure Translator → Salesforce or content repository Martini receives content through an API or scheduled workflow, validates language parameters, calls the Azure Translator text endpoint, maps the Translation response, and writes the result back with correlation and duplicate-prevention data.
Microsoft Dynamics 365 Translate customer service notes, product information, customer messages, and knowledge content. Microsoft Dynamics 365 → Martini → Azure Translator → Microsoft Dynamics 365 A Martini workflow retrieves or receives eligible content, applies language-pair rules, calls Azure Translator over REST, and updates the originating Dynamics object or a related content store with normalized error handling.
SharePoint Translate documents, pages, and knowledge content stored in or exported from SharePoint. SharePoint → Martini → Azure Blob Storage → Azure Translator Martini transfers or references source files in Azure Blob Storage, submits a Document Translation job, polls status, and routes completed output for storage or subsequent SharePoint processing.
ServiceNow Translate incident descriptions, catalog content, knowledge articles, and support communications. ServiceNow → Martini → Azure Translator → ServiceNow Martini consumes ServiceNow data through its APIs, sends selected text to Azure Translator, applies field and language business rules, and updates the relevant ServiceNow object while preserving the source identifier.
SAP S/4HANA Translate product descriptions, supplier documents, and business correspondence. SAP S/4HANA → Martini → Azure Translator → SAP S/4HANA or document storage A workflow receives SAP content, validates encoding and supported language pairs, invokes the appropriate synchronous or document translation operation, and returns translated data or files with retry and audit handling.
Jira Translate issue descriptions, comments, and project documentation for distributed teams. Jira → Martini → Azure Translator → Jira or reporting repository Martini retrieves eligible Jira text, translates it through the REST API, maps the response to comments or custom fields, and records the Jira identifier and translation request for idempotency.
Zendesk Translate support tickets, macros, help-center content, and customer replies. Zendesk → Martini → Azure Translator → Zendesk A Martini API or scheduled workflow receives Zendesk content, applies content and language rules, calls Azure Translator, and writes the normalized translation back while routing throttling and permanent failures separately.
Workday Translate selected employee-facing content and HR documents where API access and governance permit. Workday → Martini → Azure Translator → Workday or document repository Martini retrieves approved Workday content or documents, submits text or Blob Storage-based document jobs, polls asynchronous status where required, and delivers results only to authorized destinations.

How to build a Azure Translator integration in Martini

Objective

Configure the Azure Translator endpoint, resource region where required, and authentication method for each environment.

Instructions in Martini

  • Select the Translator resource endpoint and API version.
  • Choose subscription-key or Microsoft Entra ID authentication.
  • Store keys, client secrets, tokens, and regional settings as Martini environment secrets or configuration.
  • Keep credentials out of workflow mappings, payloads, and operational logs.

Objective

Select an event, API, or schedule that matches the translation use case and the absence of a confirmed general Translator webhook model.

Instructions in Martini

  • Use a Martini API for on-demand text translation.
  • Use a scheduler for document status polling or batch exports.
  • Use an application request or workflow trigger for field-level translation.
  • Do not assume Azure Translator emits native webhook callbacks.

Objective

Retrieve text, language settings, documents, or source metadata from the originating application and establish a correlation key.

Instructions in Martini

  • Capture the source identifier and source version.
  • Validate content type, encoding, source language, and target language codes.
  • For documents, capture the source URI, file hash, and intended target location.
  • Preserve the original request context for auditing and error responses.

Objective

Build the workflow that calls the appropriate synchronous or asynchronous Azure Translator operation.

Instructions in Martini

  • Call the text endpoint for short content and synchronous results.
  • Submit a Document Translation job for supported files and batch processing.
  • Persist operation identifiers before polling asynchronous status.
  • Use bounded polling intervals, timeouts, and concurrency limits.

Objective

Transform enterprise content into Azure Translator JSON and map the returned translation or status into the target model.

Instructions in Martini

  • Map source text and target languages into the request body.
  • Map Translation, Detected language, or Document status into canonical fields.
  • Preserve ordering when splitting large content into controlled requests.
  • Normalize provider errors into the enterprise error model.

Objective

Apply language, content, security, and duplicate-prevention rules before writing results.

Instructions in Martini

  • Reject unsupported language pairs and invalid request sizes.
  • Use deterministic document keys or content hashes to avoid duplicate jobs.
  • Apply approved content and data-governance rules before sending sensitive information.
  • Route permanent document failures separately from transient service errors.

Common Azure Translator data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
Text translation requestCarries source text items, source and target languages, and optional translation parameters for synchronous translation.Salesforce, Microsoft Dynamics 365, ServiceNow, Jira, ZendeskMartini validates language and size constraints, maps source application fields into the JSON request, and adds correlation data.
TranslationContains translated text returned for a source item and target language.Salesforce, Microsoft Dynamics 365, ServiceNow, Jira, Zendesk, content repositoriesMartini maps translated values to target fields, preserves source identifiers, and applies response normalization and error rules.
Detected languageRepresents the language identified by the language detection operation.Content platforms, customer service applications, routing workflowsMartini uses the detected language in validation, routing, target-language selection, and audit records.
TransliterationRepresents text converted between writing systems.Customer applications, content repositories, multilingual user interfacesMartini sends transliteration requests and maps the returned representation to the target application's language-specific field.
Document Translation jobRepresents an asynchronous operation covering source documents, target languages, and output locations.Azure Blob Storage, SharePoint, SAP S/4HANA, document repositoriesMartini submits the job, stores the operation identifier and correlation key, polls status, and routes completion or failure.
Document statusProvides progress, errors, and result information for an individual document in a translation job.Workflow audit stores, document repositories, operational monitoring systemsMartini evaluates status, applies timeout and retry policies, and processes successful files or isolated document failures.

Authentication and security considerations

Authentication options

Azure Translator supports subscription-key authentication and Microsoft Entra ID bearer-token authentication. Regional resource configurations may also require the Azure region header.

Credential protection

  • Store subscription keys, client secrets, tokens, endpoints, and regional settings in Martini environment secrets or configuration.
  • Use Microsoft Entra ID, managed identities, or service principals where appropriate for resource access.
  • Do not embed credentials in workflows, request payloads, or logs.

Data governance

Translation content may contain confidential or personal information. Restrict access to Translator resources and Blob Storage, review regional processing requirements, and limit logging of source and translated text.

Operational considerations for Azure Translator integrations

Quotas and request sizing

Azure Translator applies quotas and request limits based on the resource and pricing tier. Handle HTTP 429 responses, use bounded backoff, limit concurrency, and split large content while preserving ordering and correlation identifiers.

Asynchronous processing

Document Translation requires operation and document status polling. Store job identifiers, poll at controlled intervals, stop after a configured timeout, and route successful and failed documents independently.

Idempotency and schema changes

  • Use source identifiers, document versions, content hashes, or source URIs to prevent duplicate jobs.
  • Keep the Translator API version in configuration and validate response shapes.
  • Monitor changes to supported languages, request properties, quotas, and error formats.

Testing and monitoring

Test supported language pairs, encoding, markup preservation, request limits, authentication, storage access, throttling, and document failures. Monitor character consumption, latency, retries, job completion, and normalized error outcomes.

Why use Martini instead of scripts or point-to-point integrations?

Orchestrate more than an API call

Scripts can call Azure Translator, but Martini provides a maintainable workflow for validation, authentication, mapping, business rules, polling, retries, and target-system updates.

Centralize enterprise policy

Martini can expose a controlled translation API that standardizes language-pair rules, request limits, authorization, correlation IDs, error responses, and usage logging across internal applications.

Support synchronous and batch flows

The same integration platform can handle short text through REST calls and documents through Blob Storage-based asynchronous jobs, while preserving reusable workflow logic and environment-specific configuration.

Improve operational reliability

  • Apply bounded retries and backoff for transient failures and throttling.
  • Track asynchronous operation identifiers and document versions.
  • Separate authentication, validation, storage, quota, and document-level failures.
  • Deploy reusable integration assets without creating multiple point-to-point implementations.

Frequently asked questions

How can Azure Translator be integrated with enterprise systems?

Azure Translator integrates through REST APIs for synchronous text translation, language detection, transliteration, dictionary lookup, and asynchronous Document Translation. Document jobs use Azure Blob Storage source and target containers and status polling. Authentication can use subscription keys or Microsoft Entra ID.

Can Martini integrate with Azure Translator?

Yes. Martini can consume Azure Translator REST APIs from workflows, map enterprise content into JSON requests, transform translation responses, orchestrate Blob Storage-based Document Translation jobs, and expose a REST API façade for internal applications.

Do I need a connector to integrate Azure Translator with Martini?

No. A dedicated Azure Translator connector is not required. Martini can integrate using Azure Translator's confirmed REST APIs, subscription-key or Microsoft Entra authentication, JSON payloads, Blob Storage document workflow, and status endpoints.

Is there any extra Lonti cost to integrate Azure Translator with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate Azure Translator. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from Azure, infrastructure, Blob Storage, or other third-party services based on subscription, usage, and deployment model.

Which Azure Translator methods should an integration use?

Use synchronous REST text operations for short or field-level content. Use asynchronous Document Translation for files and batch processing through Azure Blob Storage. Language detection, transliteration, and dictionary lookup are also available through REST APIs. GraphQL, SOAP, and a general-purpose webhook interface were not confirmed.

Does Azure Translator support events or webhooks for completed document translations?

No general Azure Translator webhook model was confirmed in the reviewed documentation. The documented pattern is to submit a job and poll job or document status. Martini can implement scheduled polling with bounded retries and timeouts; any broader Azure event design must be separately verified.

How does Martini handle Azure Translator synchronization and data transformation?

Martini can receive or retrieve source content, validate language and size constraints, map JSON requests, call Azure Translator, and transform translations or document statuses into target application fields. For asynchronous jobs, it persists operation identifiers, source versions, hashes, and correlation IDs to coordinate processing.

How are Azure Translator errors, retries, and duplicate jobs handled?

Martini can distinguish throttling and transient service failures from invalid credentials, unsupported language pairs, malformed requests, storage failures, and permanent document errors. Workflows can apply bounded retries with backoff, timeouts, isolated failure routing, and deterministic identifiers to prevent duplicate document submissions.