.png)
Amazon Transcribe Integration Guide
Integrate Amazon Transcribe with enterprise systems through AWS HTTPS APIs, Amazon S3 batch workflows, EventBridge notifications, and streaming transcription.
Amazon Transcribe integration options at a glance
Amazon Transcribe supports batch transcription from media stored in Amazon S3, real-time transcription through WebSocket or HTTP/2 streaming, and asynchronous resources such as TranscriptionJob, CallAnalyticsJob, and MedicalTranscriptionJob. Its HTTPS JSON/RPC-style API uses AWS IAM permissions and Signature Version 4 rather than conventional OAuth or API keys. Selected job lifecycle events can be routed through Amazon EventBridge, while transcripts and media commonly move through S3. Martini can orchestrate these flows using workflows, HTTP API calls, event endpoints, mappings, validation, retries, and downstream database or application updates. AWS-specific signing, streaming, or custom processing may require reusable JVM-compatible logic.
| Integration point | Supported by Amazon Transcribe? | Common use cases | How Martini supports it |
|---|---|---|---|
| HTTPS JSON/RPC API | Limited | Start, inspect, list, and delete TranscriptionJob, CallAnalyticsJob, and MedicalTranscriptionJob resources, and manage vocabulary-related resources. The service API is JSON/RPC-style rather than conventional REST. | Martini can consume HTTPS APIs and orchestrate request and response processing. Direct calls require AWS SigV4 signing, region configuration, and appropriate IAM permissions; custom JVM-compatible logic or an intermediary may be used where needed. |
| Batch APIs | Yes | Submit asynchronous transcription, Call Analytics, and Medical Transcription jobs for audio or video referenced through Amazon S3. | Martini workflows can validate input metadata, start jobs, persist correlation details, poll status, process completion, and route transcript results. |
| Streaming transcription | Yes | Transcribe live audio for captions, voice interfaces, and contact-center processing using WebSocket or HTTP/2-based streaming interfaces. | Martini can orchestrate surrounding request and downstream processing. Long-lived streaming connections, partial-result reconciliation, and protocol-specific behavior may require custom JVM-compatible logic or a streaming intermediary. |
| Event notifications | Limited | Amazon Transcribe publishes selected job lifecycle events, such as completion and failure, through Amazon EventBridge. | Martini can expose an HTTP API to receive events routed by EventBridge, validate event content, retrieve the current job result, and continue the workflow. This is not a generic Transcribe webhook subscription API. |
| Amazon S3 media and output | Limited | Batch jobs read media from S3 and can write transcript output to a configured S3 location. S3 handles file movement, retention, encryption, and access permissions. | Martini can coordinate S3-related calls, validate bucket and object metadata, retrieve transcript files, transform JSON, and pass results to applications or databases. |
| Authentication | Yes | AWS IAM users, roles, temporary credentials, IAM policies, and AWS Signature Version 4 secure service requests and related S3 access. | Martini can manage environment-specific credentials and invoke secured APIs, while AWS IAM and KMS policies remain responsible for authorization. Signing requirements must be implemented or delegated appropriately. |
| SDKs and CLI | Yes | AWS SDKs and the AWS CLI construct service requests, serialize data, sign requests, and support streaming protocol details. | Martini can use standards-based HTTP calls or custom JVM-compatible logic where SDK-like signing, serialization, or streaming behavior is required. |
How Amazon Transcribe exposes data and business events
Amazon Transcribe HTTPS API
Amazon Transcribe exposes an AWS HTTPS JSON/RPC-style service API for starting, inspecting, listing, and deleting jobs and managing vocabulary-related resources. It is not a conventional REST API and direct requests require AWS authentication and Signature Version 4 signing.
Martini implementation pattern
Martini implementation pattern: a workflow receives a request or scheduled trigger, validates the payload, signs or delegates the AWS request, invokes the required Transcribe operation, stores the job and source identifiers, and branches on the response. Reusable services can centralize signing, region handling, and response normalization.
Implementation sequence
Amazon Transcribe batch jobs
Batch transcription processes media referenced through Amazon S3 and creates asynchronous TranscriptionJob, CallAnalyticsJob, or MedicalTranscriptionJob resources. Results can be written to S3 for downstream retrieval.
Martini implementation pattern
Martini implementation pattern: the workflow verifies that the source object is accessible, submits the appropriate job, waits through controlled polling or hands off completion to an event-driven workflow, retrieves the transcript, and maps the vendor-specific JSON into a target model.
Implementation sequence
Amazon EventBridge notifications
Amazon Transcribe can publish selected job lifecycle events, including completion and failure states, through Amazon EventBridge. These are AWS event notifications rather than a general-purpose Transcribe webhook subscription mechanism.
Martini implementation pattern
Martini implementation pattern: expose a secured Martini API endpoint, configure AWS event routing to that endpoint, validate the event source and job identifier, retrieve the authoritative job result, and continue processing only after confirming the current state.
Implementation sequence
Amazon Transcribe streaming
Streaming transcription sends audio incrementally through WebSocket or HTTP/2-based interfaces and returns interim and final transcript events during the session. It does not normally create a completed asynchronous TranscriptionJob.
Martini implementation pattern
Martini implementation pattern: use Martini around the streaming client or intermediary to authenticate the session, receive selected final results, reconcile partial segments, and invoke downstream workflows. Long-lived protocol handling may require custom JVM-compatible logic rather than a simple request-response call.
Implementation sequence
Amazon S3 media and transcript files
Amazon S3 commonly supplies batch media input and stores transcription output. It is the file and storage layer surrounding Transcribe rather than a general-purpose file API provided by Transcribe itself.
Martini implementation pattern
Martini implementation pattern: coordinate object metadata and access checks, invoke the required S3 and Transcribe operations, retrieve output files, parse JSON, and apply retention, encryption, and downstream routing rules without exposing sensitive content in logs.
Implementation sequence
Common Amazon Transcribe integration patterns
Pattern 1: Transcribe S3 media into a searchable repository
When to use this pattern
Use this pattern for recorded calls, meetings, interviews, or other media that arrives in Amazon S3 and must become searchable or structured business content. It supports asynchronous processing and can use polling or EventBridge completion events.
Integration direction
Example Mapping
| Amazon Transcribe Field | Canonical Field | Target Field |
|---|---|---|
| TranscriptionJob.TranscriptionJobName | sourceJobId | transcription_job_id |
| Media.MediaFileUri | sourceObjectUri | source_object_uri |
| Transcript.TranscriptFileUri | transcriptUri | transcript_uri |
| Transcript.Results.Transcripts[].Transcript | transcriptText | transcript_text |
Martini implementation pattern
Martini validates the S3 object and correlation key, starts a TranscriptionJob, tracks the source-to-job mapping, and processes completion through a controlled polling or event workflow. It retrieves and parses the transcript, tolerates optional fields, writes the normalized result to Snowflake or another repository, and retries transient failures without creating duplicate jobs.
Martini capabilities used
- workflows
- API consumption
- data mapping
- JSON handling
- business rules
- error handling
Pattern 2: Route transcripts to customer-service applications
When to use this pattern
Use this pattern when a completed recording must enrich a customer interaction, activity, ticket, or service case. The transcript is treated as source content; summaries, classifications, or routing decisions must be implemented separately or delegated to another approved service.
Integration direction
Example Mapping
| Amazon Transcribe Field | Canonical Field | Target Field |
|---|---|---|
| TranscriptionJob.CompletionTime | completedAt | activity_completed_at |
| Transcript.Results.Transcripts[].Transcript | transcriptText | description_or_comment |
| Transcript.Results.Items[].Alternatives[].Confidence | confidence | transcript_confidence |
| JobName | sourceCorrelationId | external_reference |
Martini implementation pattern
Martini retrieves the output from S3, validates the source correlation and permitted content, maps transcript fields to the target application model, and applies rules for ticket or activity selection. It records the Transcribe job identifier as an external reference and uses idempotent writes and retry handling for downstream API failures.
Martini capabilities used
- workflows
- API consumption
- data mapping
- validation
- business rules
- error handling
Pattern 3: Process Call Analytics completion events
When to use this pattern
Use this pattern when CallAnalyticsJob results should create quality-review work, escalation actions, compliance records, or customer-experience analytics after a conversation has been analyzed.
Integration direction
Example Mapping
| Amazon Transcribe Field | Canonical Field | Target Field |
|---|---|---|
| CallAnalyticsJob.JobName | analysisJobId | external_analysis_id |
| CallAnalyticsJob.CallAnalyticsJobStatus | processingStatus | analysis_status |
| Categories | conversationCategories | review_categories |
| Sentiment | conversationSentiment | sentiment |
Martini implementation pattern
An EventBridge route invokes a secured Martini API when the job changes state. Martini validates the event, retrieves the authoritative Call Analytics result, applies thresholds for sentiment or categories, and creates or updates the appropriate review record. Duplicate event delivery is handled through the job identifier and persisted processing status.
Martini capabilities used
- API exposure
- workflows
- event processing
- data mapping
- business rules
- idempotency
- error handling
Pattern 4: Govern a medical transcription workflow
When to use this pattern
Use this pattern for approved clinical-documentation flows using MedicalTranscriptionJob. It is appropriate only when the organization has addressed protected health information, authorization, encryption, retention, auditability, and healthcare-specific interface requirements.
Integration direction
Example Mapping
| Amazon Transcribe Field | Canonical Field | Target Field |
|---|---|---|
| MedicalTranscriptionJob.MedicalTranscriptionJobName | medicalJobId | external_document_id |
| Media.MediaFileUri | sourceAudioUri | source_reference |
| TranscriptFileUri | clinicalDocumentUri | document_reference |
| MedicalTranscriptionJobStatus | documentStatus | workflow_status |
Martini implementation pattern
Martini validates the authorized source and job configuration, starts or observes the MedicalTranscriptionJob, retrieves the output only after successful completion, and applies strict routing and retention rules before sending the approved document through the organization’s Epic integration layer. Failures, timeouts, and duplicate submissions are recorded without exposing clinical content in logs.
Martini capabilities used
- workflows
- API consumption
- secure configuration
- validation
- data mapping
- business rules
- error handling
Applications commonly integrated with Amazon Transcribe
Amazon Transcribe is commonly used as part of audio, contact-center, customer-service, analytics, and clinical-documentation workflows. The applications below represent practical integration targets or adjacent AWS services; the exact flow depends on the organization’s storage, security, and processing architecture.
| Application | Scenario | Direction | Martini Pattern |
|---|---|---|---|
| Amazon S3 | Amazon S3 stores source audio or video for batch transcription and can receive transcript output for retention, retrieval, and downstream processing. | Amazon S3 → Amazon Transcribe → Martini | Martini validates the S3 object metadata, starts the appropriate transcription job, processes completion through polling or an EventBridge notification, retrieves the output, and routes the normalized transcript to downstream systems. |
| Amazon Connect | Contact-center conversations can be transcribed or analyzed to support quality review, search, agent workflows, and customer-experience reporting. | Amazon Connect → Amazon Transcribe → Martini | Martini coordinates the recording or output location, submits or observes the applicable transcription or Call Analytics job, applies business rules to the results, and distributes approved data to customer-service systems. |
| Salesforce | Completed transcripts can be attached to customer interactions, activities, follow-up tasks, or account histories. | Amazon Transcribe → Martini → Salesforce | A Martini workflow retrieves the transcript from S3, maps speaker, channel, confidence, and text fields into Salesforce objects, applies deduplication and retention rules, and records failures for retry. |
| ServiceNow | Transcribed support or service conversations can enrich incidents, cases, interaction records, and knowledge workflows. | Amazon Transcribe → Martini → ServiceNow | Martini consumes the completed transcription result, validates sensitive content and correlation identifiers, transforms the output into ServiceNow fields, and updates the target through its API with controlled retries. |
| Zendesk | Transcribed call content can be associated with support tickets and searchable customer-service histories. | Amazon Transcribe → Martini → Zendesk | Martini correlates the source recording with the Zendesk ticket, retrieves and normalizes the transcript, writes a ticket comment or interaction payload, and prevents duplicate updates. |
| Amazon Comprehend | Transcript text can be passed to a separate language-analysis service for sentiment, entity, or classification processing. | Amazon Transcribe → Martini → Amazon Comprehend | Martini receives the completed transcript, selects permitted text segments, invokes the separate analysis service, combines the results with job metadata, and routes the enriched document to storage or business applications. |
| Snowflake | Transcripts and derived metadata can be stored for reporting, search, quality analysis, and operational analytics. | Amazon Transcribe → Martini → Snowflake | Martini extracts transcript text and structured metadata from S3, converts the vendor-specific JSON into an analytics model, loads it into Snowflake through the approved interface, and tracks object and job identifiers. |
| Epic | Medical transcription output can support controlled clinical-documentation workflows when healthcare, privacy, and approval requirements are satisfied. | Amazon Transcribe → Martini → Epic | Martini validates the MedicalTranscriptionJob result, applies healthcare-specific authorization and routing rules, transforms the approved document format, and sends it through the organization’s authorized Epic integration layer. |
How to build a Amazon Transcribe integration in Martini
Objective
Establish the AWS integration boundary with region-specific IAM permissions, temporary credentials or roles where appropriate, and secure handling of any signing material or related S3 access.
Instructions in Martini
- Configure environment-specific AWS region and credentials
- Scope IAM permissions to required Transcribe, S3, EventBridge, and KMS operations
- Store sensitive configuration in Martini secrets or secured environment configuration
- Plan for SigV4 signing or an approved intermediary
Objective
Select an event-driven, scheduled, API-led, or streaming entry point based on whether media arrives continuously, in batches, or through a live session.
Instructions in Martini
- Use an API or workflow trigger for on-demand submissions
- Use a scheduler for controlled batch discovery and reconciliation
- Receive selected EventBridge notifications through a secured Martini API
- Use a streaming intermediary when long-lived protocol handling is required
Objective
Validate the source media, job state, event payload, and correlation identifiers before retrieving or creating Transcribe resources.
Instructions in Martini
- Validate the S3 URI, object version or checksum, and permitted media metadata
- Start the appropriate TranscriptionJob, CallAnalyticsJob, or MedicalTranscriptionJob
- Persist the source-to-job correlation before polling or event processing
- Retrieve output only after confirming a completed job
Objective
Coordinate AWS calls, status transitions, event handling, downstream writes, and compensating behavior in a maintainable Martini workflow.
Instructions in Martini
- Separate submission, status monitoring, output retrieval, and delivery stages
- Use EventBridge for selected completion or failure events where appropriate
- Use bounded polling with backoff when events are not used
- Branch explicitly for queued, in-progress, completed, and failed states
Objective
Convert Amazon Transcribe’s job-specific JSON into a stable internal model while accommodating optional fields and differences between general, Call Analytics, medical, and streaming output.
Instructions in Martini
- Map job identifiers, source locations, status, transcript text, confidence, speaker, and channel data
- Validate required fields and permitted destinations
- Preserve vendor identifiers for traceability
- Tolerate unknown JSON fields and absent optional properties
Objective
Apply privacy, retention, routing, deduplication, confidence, sentiment, category, and approval rules before data is distributed to other systems.
Instructions in Martini
- Prevent duplicate jobs and duplicate downstream writes
- Route Call Analytics results according to category or sentiment thresholds
- Restrict medical and sensitive content to authorized destinations
- Keep summarization or classification separate from Transcribe unless another approved service performs it
Common Amazon Transcribe data objects used in integrations
| Object | Typical Use | Common target systems | Martini handling |
|---|---|---|---|
| TranscriptionJob | Represents an asynchronous batch transcription request, including media location, language, output settings, vocabulary configuration, and status. | Amazon S3, Salesforce, ServiceNow, Zendesk, Snowflake | Martini stores the job name and source-object correlation, polls or responds to completion events, retrieves the output, and maps transcript content and metadata. |
| CallAnalyticsJob | Represents asynchronous analysis of a recorded conversation, including channel or speaker analysis, categories, sentiment, and related results. | Amazon S3, Amazon Connect, ServiceNow, Salesforce, quality-management platforms | Martini processes job state events or status responses, retrieves the result, applies routing and privacy rules, and distributes approved analytics fields. |
| MedicalTranscriptionJob | Represents a medical transcription request for supported clinical use cases and output formats. | Amazon S3, Epic, clinical-documentation workflows | Martini validates authorization and output structure, enforces controlled routing and retention, and sends approved results through the organization’s healthcare integration layer. |
| Vocabulary | Defines domain-specific words, names, and terminology used to improve recognition accuracy. | Amazon Transcribe workflows, configuration repositories, deployment processes | Martini can include vocabulary configuration in job orchestration, validate referenced vocabulary names, and manage environment-specific configuration through secured deployment settings. |
| VocabularyFilter | Defines terms that can be filtered or masked in transcription output. | Amazon Transcribe, privacy and compliance workflows, downstream repositories | Martini applies the configured filter reference during job submission and validates that sensitive output is routed according to policy. |
| LanguageModel | Represents a custom language model used to improve recognition for a specific domain. | Amazon Transcribe job workflows, domain-specific processing pipelines | Martini validates the selected model and region, includes it in applicable job requests, and records the model version or identifier with the integration correlation data. |
Authentication and security considerations
AWS IAM and request signing
Amazon Transcribe uses AWS IAM rather than application-level OAuth or API keys. Direct HTTPS requests generally require AWS Signature Version 4, the correct region and service configuration, timestamps, and permissions for each operation.
- Prefer least-privilege IAM roles or temporary credentials where possible.
- Protect access keys, secret keys, and signing configuration through secured Martini environment configuration.
- Scope related Amazon S3 and EventBridge permissions to required buckets, prefixes, events, and operations.
Data protection
Audio, transcripts, and medical or customer-service content may contain sensitive information. Apply encryption in transit and at rest, KMS permissions, S3 bucket policies, lifecycle rules, regional controls, audit logging, and retention policies appropriate to the data.
Operational considerations for Amazon Transcribe integrations
Quotas and throughput
Amazon Transcribe service quotas cover job concurrency, streaming sessions, request rates, media duration, and related limits. Use controlled concurrency, queueing, bounded retries, and exponential backoff for large workloads.
Job state and idempotency
Track queued, in-progress, completed, and failed states. Persist the source S3 object, version or checksum, Transcribe job name, and application correlation ID so retries do not create duplicate jobs.
Pagination and schemas
List operations may require continuation tokens. Transcript, Call Analytics, medical, and streaming responses have different optional structures, so mappings should tolerate absent fields and unknown JSON properties.
Streaming and observability
Streaming consumers must reconcile interim results with final segments. Capture correlation IDs, job names, object keys, AWS request identifiers where available, statuses, retry counts, and failure messages without placing sensitive transcript content in logs.
Why use Martini instead of scripts or point-to-point integrations?
Orchestrate the complete process
Scripts often implement only the Transcribe call. Martini can coordinate S3 access, job submission, event or polling-based completion, transcript retrieval, validation, transformation, downstream delivery, and operational handling in a reusable workflow.
Separate vendor data from business models
Martini can map Amazon Transcribe’s job-specific JSON into stable internal and target models while applying rules for confidence, routing, retention, privacy, and duplicate prevention.
Improve maintainability
Centralized workflows, secured environment configuration, reusable signing or processing logic, structured error handling, and observable execution reduce the maintenance burden of separate point-to-point scripts.
Frequently asked questions
Amazon Transcribe can be integrated through its AWS HTTPS JSON/RPC-style API, S3-based batch processing, WebSocket or HTTP/2 streaming interfaces, and selected job lifecycle events routed through Amazon EventBridge. IAM permissions and AWS Signature Version 4 are required for secured service requests.
Yes. Martini can integrate with Amazon Transcribe by consuming its HTTPS API, coordinating Amazon S3 media and transcript files, receiving selected EventBridge notifications through a Martini API, and orchestrating downstream mappings and workflows. AWS signing, streaming, or specialized event processing may require custom JVM-compatible logic or an intermediary.
No. A dedicated Amazon Transcribe connector is not required. Martini can use Amazon Transcribe’s confirmed native mechanisms, including its HTTPS API, Amazon S3 integration, IAM authentication, EventBridge notifications, and supported streaming interfaces.
Lonti does not charge an additional per-connector or per-vendor fee to integrate Amazon Transcribe with Martini. Integrations are subject to the provisioned capacity of the Martini environment. Separate costs may apply from AWS, infrastructure providers, or other third-party systems based on subscription, usage, storage, processing, and deployment choices.
Use asynchronous batch jobs for media already stored in Amazon S3, EventBridge for selected job lifecycle notifications, and streaming interfaces for live audio. The HTTPS service API is useful for job submission, status, listing, and configuration, but it uses AWS JSON/RPC conventions and SigV4 rather than conventional REST semantics. No official GraphQL or SOAP API was identified.
Amazon Transcribe documents selected job events through Amazon EventBridge, including completion and failure states. This is partial event coverage and is not a generic Transcribe webhook subscription API. EventBridge can route events to a secured Martini endpoint or another AWS target.
A typical workflow stores the S3 source identifier and application correlation key, starts a transcription job, and then polls status or responds to an EventBridge notification. After completion, Martini retrieves the output, maps the transcript or analysis data, and writes it to the target. Idempotency checks prevent duplicate jobs and downstream updates.
Martini can validate inputs, distinguish transient failures from rejected jobs, apply bounded retries with backoff, and persist job identifiers, source object versions, and correlation keys. Duplicate event delivery and retry ambiguity should be handled with durable status checks before submitting another job or writing the same transcript twice.
Related Martini documentation
Workflows
Data
Connect Amazon Transcribe to your enterprise workflows
Use Martini to orchestrate Amazon Transcribe jobs, S3 media and transcript flows, EventBridge notifications, streaming intermediaries, and downstream applications through maintainable APIs and workflows.