Voice v1.0 4 min read

Voice Call Summary Notifications

Configure email, WhatsApp, and webhook notifications for voice call summaries, including webhook payload, WhatsApp template parameters, and Zapier/Make examples.

Voice Call Summary Notifications

Receive a structured summary after each voice call via Email, WhatsApp, or a custom Webhook. This guide explains how to enable each method, the WhatsApp template we use, and how to integrate the webhook with Zapier and Make.

Enable notifications in the dashboard

  1. Open the app and go to: Voice → Settings
  2. Under “Summary Notifications”, choose one of:
    • Email
    • WhatsApp
    • Webhook (POST)
  3. If you choose Webhook, enter your HTTPS URL (e.g. https://example.com/voice-summary)
  4. Click “Save Settings”

Note: Summaries are only sent when a conversation has sufficient content and a summary can be generated.

Delivery methods

Email

We’ll send an email to your registered account address with the summary and key details from the call.

WhatsApp (template message)

We send a templated WhatsApp message to your account phone number.

Parameters (in order):

  1. Caller phone number
  2. Call start date/time (localized)
  3. Quick summary
  4. Action points (•-separated)
  5. Urgency

Requirements and notes:

  • Your account must have a valid phone number configured (Profile → Phone number).
  • The message is sent using your account language. Ensure your template supports the language you’ve set.
  • This is a concise summary; for full details, use the webhook.

Webhook (HTTP POST)

We will POST a JSON payload to your URL after the call is completed and the summary is generated.

  • Method: POST
  • Content-Type: application/json
  • Timeout: 10s
  • Retries: none (errors are logged)

Example payload:

{
  "type": "voice.conversation.completed",
  "userId": "66f123abc456def789012345",
  "conversationId": "6700aa11bb22cc33dd44ee55",
  "phoneNumber": "+15551234567",
  "startedAt": "2025-09-02T14:23:11.123Z",
  "updatedAt": "2025-09-02T14:25:49.987Z",
  "summary": {
    "quickSummary": "Caller asked about table availability for Friday evening.",
    "actionPoints": [
      "Call back to confirm reservation time",
      "Send menu via WhatsApp"
    ],
    "sentiment": "positive",
    "tone": "professional",
    "urgency": "medium",
    "context": "First-time caller interested in dinner for 4.",
    "contactExtracted": { "name": "Alex", "phone": "+15551234567" },
    "bookingExtracted": { "date": "2025-09-05", "time": "19:30" }
  },
  "metadata": {
    "language": "en-US",
    "email": "user@example.com"
  }
}

Minimal cURL example for local testing:

curl -X POST https://your-server.com/voice-summary \
  -H "Content-Type: application/json" \
  -d '{
    "type":"voice.conversation.completed",
    "userId":"test",
    "conversationId":"test",
    "summary": {"quickSummary":"Hello"},
    "metadata": {"language":"en-US"}
  }'

Security recommendations:

  • Host your endpoint on HTTPS.
  • Optionally, include a secret in the URL (e.g., https://example.com/voice-summary?token=...) or implement your own verification logic.
  • Rate-limit and validate the JSON structure on your side.

Zapier integration example

Create a Zap to capture the webhook and route data to your tools (e.g., Gmail, Slack, Google Sheets).

  1. In Zapier, create a new Zap
  2. Trigger: “Webhooks by Zapier” → “Catch Hook”
  3. Zapier will give you a custom URL. Copy it
  4. In the app, set Summary Notifications = Webhook and paste the Zapier URL
  5. Complete a test call to generate a payload (or send a test POST from your server)
  6. Back in Zapier, “Test trigger” and review the sample payload
  7. Add an Action step (examples):
    • Gmail → “Send Email”
      • Subject: “New call summary: {{quickSummary}}”
      • Body: include summary.quickSummary, join summary.actionPoints, and phoneNumber
    • Google Sheets → “Create Spreadsheet Row”
      • Columns: conversationId, phoneNumber, quickSummary, urgency, startedAt
    • Slack → “Send Channel Message”
      • Message: brief summary + action points

Field mapping tips:

  • quickSummary → summary.quickSummary
  • actionPoints (array) → use Zap formatter to join with
  • urgency → summary.urgency
  • contact phone → phoneNumber

Make (Integromat) integration example

Build a scenario that catches the webhook and fans out to your apps.

  1. Create a scenario
  2. Add module: “Webhooks” → “Custom webhook” → Add → Copy the URL
  3. In the app, set Summary Notifications = Webhook and paste the URL
  4. Run the scenario once (listening)
  5. Complete a test call to deliver a sample payload
  6. Add next modules (examples):
    • JSON → Parse action (optional; Make auto-parses JSON)
    • Google Sheets → Add row with conversationId, summary.quickSummary, summary.urgency
    • Slack / Microsoft Teams → Post message with the summary
  7. Map fields from the incoming webhook bundle (e.g., summary.actionPoints[])

Troubleshooting

  • No notification received:

    • Ensure the call contained enough messages for a summary
    • Verify your selected method and, for webhook, that the URL is reachable (no 4xx/5xx)
    • Check your server logs; we send a single POST with a 10s timeout
  • WhatsApp template not arriving:

    • Ensure your profile phone number is set
    • Confirm your language matches a localized version of the template
  • Webhook validation errors on your side:

    • Log the raw request body and headers
    • Compare with the sample payload above and relax strict schema checks if needed

If you need help setting up notifications or customizing the payload, contact support at hello@wasapia.com.

Share this documentation

On this page