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
| Destination | Credentials 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:
| Field | Description |
|---|---|
| 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.
Was this article helpful?