Back to Blog
Guides7 min read

Webhook Integrations: Connecting Vocable to Your Stack

Vocable Team·

Vocable's webhook system lets you push completed form data to any HTTP endpoint in real time. This guide covers setup, payload structure, security, and common integration patterns.

Setting Up Webhooks

Navigate to your form's Integrations tab and click "Add Webhook." You'll need:

  1. **Endpoint URL**: The HTTPS URL where Vocable will send data
  2. **Events**: Choose which events trigger the webhook (submission completed, submission updated, etc.)
  3. **Secret**: An optional signing secret for payload verification

Payload Format

Every webhook delivery includes a JSON payload with the form submission data:

The payload includes the form ID, submission ID, all extracted field values, the full transcript, metadata (duration, language, completion status), and timestamps.

Security

Vocable signs every webhook payload with your secret using HMAC-SHA256. Verify the signature on your end to ensure payloads are authentic. The signature is included in the X-Vocable-Signature header.

Retry Logic

If your endpoint returns a non-2xx status code, Vocable retries with exponential backoff: - First retry: 1 minute - Second retry: 5 minutes - Third retry: 30 minutes - Final retry: 2 hours

After 4 failed attempts, the delivery is marked as failed. You can manually retry from the submissions dashboard.

Common Patterns

**CRM Integration**: Push lead data directly to Salesforce, HubSpot, or Pipedrive. Map Vocable fields to CRM properties in your webhook handler.

**Database Storage**: Send submissions to a serverless function that writes to your database. Useful when you need custom data transformations.

**Notification Workflows**: Trigger Slack messages, email alerts, or SMS notifications when high-priority submissions come in.

**Multi-step Automation**: Chain Vocable webhooks with tools like Zapier or Make to build complex workflows without code.

Testing

Use the "Send Test" button in your webhook configuration to send a sample payload. This helps verify your endpoint is receiving and processing data correctly before going live.