How can we help you?

transcript-storage-guide

The Transcript Storage integration automatically archives every Velaro conversation transcript to an external storage destination within 60 seconds of the conversation ending.

What the Transcript Storage Integration Does

Every conversation that ends in Velaro — whether resolved by an agent, closed by the bot, or abandoned — generates a transcript archive. Velaro sends that transcript to the storage destination you configure. You can use this for compliance archiving, legal hold, data warehouse ingestion, or building your own reporting pipeline. The transcript format is JSON and includes the full message history, participant names, timestamps, and conversation metadata.

Supported Destinations

DestinationCredentials Required
Azure Blob Storage Container URL and SAS token with write permission
AWS S3 Bucket name, IAM access key ID, and secret access key with s3:PutObject permission
SharePoint document library Microsoft 365 connection (OAuth via your Microsoft account)
Custom HTTPS webhook Destination URL that accepts HTTP POST with JSON body

How to Configure

1. Go to Settings → Integrations → Transcript Storage.

2. Click Add Destination.

3. Select your storage type from the dropdown.

4. Enter the credentials for your chosen destination (see requirements per destination above).

5. Click Test Connection to confirm Velaro can reach the destination.

6. Click Save.

You can configure multiple destinations simultaneously. Velaro will send each transcript to all active destinations.

Transcript Format

Each archived transcript is a JSON file. The filename is the conversation ID with a .json extension. The JSON object contains:

FieldDescription
conversationId Unique identifier for the conversation
startedAt / endedAt ISO 8601 timestamps for conversation start and end
channel Chat, Email, SMS, IVR, WhatsApp, etc.
participants Array of participant names and roles (visitor, agent, bot)
messages Array of message objects with sender, timestamp, and content
metadata Tags, CSAT score, assigned team, resolution reason

Timing

Transcripts are sent within 60 seconds of the conversation ending. There is no batch delay — each conversation is archived individually as it closes. If a destination is temporarily unavailable, Velaro retries delivery for up to 24 hours before logging a delivery failure.

Common Use Cases

HIPAA compliance archiving

Healthcare organizations connect Azure Blob Storage or AWS S3 as the destination. Transcripts are archived automatically to a container with access logging and encryption at rest enabled. The 60-second SLA supports audit requirements.

Legal hold

Connect a dedicated SharePoint document library. Transcripts land as JSON files that your legal team can access without needing Velaro admin access.

BI data warehouse ingestion

Configure a Custom HTTPS webhook that points to an Azure Function or AWS Lambda. The function receives the JSON transcript, transforms it, and loads it into your data warehouse. Build chat analytics in Power BI or Tableau without exporting from Velaro manually.

Real-time alerting

Connect a Custom HTTPS webhook to a monitoring service. Parse the CSAT field from the transcript JSON and trigger an alert if the score is below your threshold.

Troubleshooting

Transcripts are not arriving at the destination

Click Test Connection in Settings → Integrations → Transcript Storage to verify credentials are still valid. SAS tokens for Azure Blob Storage expire — generate a new SAS token in the Azure portal and update it in Velaro.

AWS S3 delivery fails with "Access Denied"

The IAM credentials provided must have s3:PutObject permission on the specific bucket. Check the IAM policy in the AWS console and confirm the bucket name matches exactly (S3 bucket names are case-sensitive).

SharePoint delivery fails

The Microsoft 365 account used to authorize must have Contribute or Write permission on the SharePoint document library. If the OAuth token has expired, go to Settings → Integrations → Transcript Storage → SharePoint → Reconnect.

Custom webhook returns errors

Your endpoint must respond with HTTP 200 within 10 seconds. If the endpoint takes longer or returns a non-200 status, Velaro logs a delivery failure and retries. Check your webhook server logs for the request body to confirm the JSON format matches your expected schema.

Share: Email

Was this article helpful?