Integrations Setup Guide

Seamlessly connect AuthentiVoice with your existing tools and infrastructure.

Available Integrations

S3/MinIO Storage

Cloud storage for audio files and exports

OneDrive

Microsoft cloud storage integration

Webhooks

Real-time event notifications

API Access

Programmatic access to all features

S3/MinIO Storage Setup

Prerequisites

Before configuring S3/MinIO, ensure you have:
  • AWS account with S3 access OR MinIO server
  • Access key ID and secret access key
  • Bucket created for AuthentiVoice
  • Appropriate IAM permissions

Configuration Steps

1

Access Integration Settings

Navigate to Settings → Integrations → Storage → S3/MinIO
2

Enter Connection Details

{
  "endpoint": "https://s3.amazonaws.com",
  "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
  "secretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
  "region": "us-east-1",
  "bucket": "authentivoice-storage"
}
3

Configure Options

  • Use SSL: Always enabled for security
  • Path Style: Enable for MinIO, disable for AWS S3
  • Signature Version: v4 (recommended)
  • Force Path Style: Required for some MinIO setups
4

Test Connection

Click “Test Connection” to verify configuration
5

Set Permissions

Ensure bucket policy allows:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::authentivoice-storage",
        "arn:aws:s3:::authentivoice-storage/*"
      ]
    }
  ]
}

Advanced S3 Configuration

Recommended Organization:
authentivoice-storage/
├── audio/
│   ├── raw/           # Original uploads
│   ├── processed/     # Trimmed/converted
│   └── archive/       # Long-term storage
├── exports/
│   ├── reports/       # PDF reports
│   ├── data/          # CSV/JSON exports
│   └── batch/         # Bulk exports
└── temp/              # Temporary processing
Automatic Archival:
{
  "Rules": [{
    "ID": "ArchiveOldAudio",
    "Status": "Enabled",
    "Transitions": [{
      "Days": 90,
      "StorageClass": "GLACIER"
    }],
    "NoncurrentVersionTransitions": [{
      "Days": 30,
      "StorageClass": "GLACIER"
    }]
  }]
}
  • Use IAM roles instead of root credentials
  • Enable bucket encryption
  • Configure bucket policies restrictively
  • Enable CloudTrail logging
  • Use VPC endpoints for private connectivity
  • Implement object tagging for compliance

OneDrive Integration

Setup Process

  • Azure AD Registration
  • AuthentiVoice Configuration
  1. Register Application
    • Go to Azure Portal → Azure Active Directory
    • Navigate to App registrations → New registration
    • Name: “AuthentiVoice Integration”
    • Supported account types: Single tenant
  2. Configure Permissions
    • API permissions → Add permission
    • Microsoft Graph → Delegated permissions
    • Select:
      • Files.Read.All
      • Files.ReadWrite.All
      • User.Read
  3. Create Client Secret
    • Certificates & secrets → New client secret
    • Description: “AuthentiVoice”
    • Expires: 24 months
    • Copy the secret value immediately

OneDrive Features

Auto Import

Automatically import audio files from specified folders

Export to OneDrive

Save reports and exports directly to OneDrive

Shared Folders

Access files from shared OneDrive folders

Version History

Track file versions and changes

Webhook Configuration

Setting Up Webhooks

1

Create Webhook Endpoint

Navigate to Settings → Integrations → Webhooks → Add Webhook
2

Configure Endpoint

{
  "name": "Main Webhook",
  "url": "https://your-system.com/webhooks/authentivoice",
  "secret": "your-webhook-secret-key",
  "active": true,
  "headers": {
    "X-Custom-Header": "value"
  }
}
3

Select Events

Choose which events trigger webhooks:
  • analysis.started - Processing begins
  • analysis.completed - Analysis finished
  • fraud.detected - High-risk call identified
  • review.assigned - Review task created
  • review.completed - Review submitted
  • user.action - User performs action
  • integration.error - Integration failure
4

Configure Retry Logic

  • Max attempts: 3
  • Retry delay: 60 seconds
  • Backoff: Exponential
  • Timeout: 30 seconds

Webhook Payload Examples

{
  "event": "analysis.completed",
  "timestamp": "2024-01-15T14:30:00Z",
  "id": "evt_1234567890",
  "data": {
    "analysisId": "ana_abc123",
    "callId": "call_def456",
    "duration": 420,
    "riskScore": 75,
    "fraudIndicators": [
      "urgency_language",
      "personal_info_request"
    ],
    "transcription": {
      "language": "en-US",
      "confidence": 0.95
    }
  }
}

Webhook Security

Always validate webhook signatures to ensure requests are from AuthentiVoice.
Signature Verification Example:
const crypto = require('crypto');

function verifyWebhookSignature(payload, signature, secret) {
  const expectedSignature = crypto
    .createHmac('sha256', secret)
    .update(payload)
    .digest('hex');
  
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expectedSignature)
  );
}

// In your webhook handler
app.post('/webhook', (req, res) => {
  const signature = req.headers['x-authentivoice-signature'];
  const isValid = verifyWebhookSignature(
    JSON.stringify(req.body),
    signature,
    process.env.WEBHOOK_SECRET
  );
  
  if (!isValid) {
    return res.status(401).send('Invalid signature');
  }
  
  // Process webhook...
});

API Integration

Getting Started with API

1

Generate API Key

  1. Navigate to Settings → API → Keys
  2. Click “Generate New Key”
  3. Set permissions and expiry
  4. Copy key immediately (shown once)
2

Configure Permissions

Select API scopes:
  • read:analyses - View analyses
  • write:analyses - Create analyses
  • read:reviews - View reviews
  • write:reviews - Submit reviews
  • admin:users - Manage users
  • admin:config - System configuration
3

Set Rate Limits

Default limits:
  • 1000 requests/hour
  • 100 concurrent requests
  • 50MB/minute upload

API Usage Examples

curl -X POST https://api.authentivoice.com/v1/upload \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: multipart/form-data" \
  -F "file=@call-recording.mp3" \
  -F "metadata={\"callerId\":\"555-0123\",\"tags\":[\"sales\",\"inbound\"]}"

Integration Best Practices

Performance Optimization

  • Use bulk import for multiple files
  • Batch webhook events when possible
  • Implement queue processing
  • Use pagination for large datasets
  • Implement exponential backoff
  • Log all integration errors
  • Set up alerts for failures
  • Maintain fallback options
  • Track API usage and limits
  • Monitor webhook delivery rates
  • Set up health checks
  • Review integration logs regularly

Security Checklist

1

Secure Credentials

  • Use environment variables
  • Rotate keys regularly
  • Never commit secrets
  • Use key management services
2

Network Security

  • Use HTTPS everywhere
  • Implement IP whitelisting
  • Use VPN for sensitive data
  • Enable firewall rules
3

Access Control

  • Principle of least privilege
  • Regular permission audits
  • Remove unused integrations
  • Monitor access logs

Troubleshooting Integrations

S3/MinIO Problems:
  • Verify endpoint URL format
  • Check access key permissions
  • Confirm bucket exists and is accessible
  • Test with AWS CLI first
OneDrive Issues:
  • Re-authenticate if token expired
  • Check Azure AD permissions
  • Verify redirect URI matches
  • Clear browser cookies
  • Check endpoint is publicly accessible
  • Verify SSL certificate is valid
  • Confirm signature validation
  • Check server timeout settings
  • Review webhook logs
Common Status Codes:
  • 401: Invalid or expired API key
  • 403: Insufficient permissions
  • 429: Rate limit exceeded
  • 500: Server error (contact support)
Solutions:
  • Regenerate API key
  • Check permission scopes
  • Implement rate limiting
  • Retry with backoff

Advanced Integration Scenarios

Multi-System Integration

  • CRM Integration
  • SIEM Integration
  • Workflow Automation
Salesforce Example:
  1. Create custom object for analyses
  2. Map fields to Salesforce records
  3. Use webhooks to sync data
  4. Build Lightning component
Benefits:
  • Link calls to opportunities
  • Track fraud in customer records
  • Automate case creation

Next Steps

1

Plan Integrations

Identify which integrations your organization needs
2

Gather Credentials

Collect necessary API keys and access tokens
3

Test in Sandbox

Configure and test in a non-production environment
4

Deploy and Monitor

Roll out to production with monitoring in place