Optiverse Academy
IntegrationsAPI & Webhooks

Webhook Events

Receive meeting data automatically via outbound webhooks, ideal for n8n, Make, Zapier, or any HTTP endpoint.

Optiverse can send meeting data to your own HTTP endpoints (webhooks) whenever a meeting finishes processing. This is ideal for connecting Optiverse to workflow automation tools like n8n, Make, or Zapier, or for pushing data directly to your own backend.

How It Works

  1. You create one or more webhook configurations in Settings → Integrations → n8n Webhooks.
  2. Each webhook points to an HTTPS endpoint (e.g. your n8n webhook URL).
  3. When a meeting ends and processing completes, Optiverse sends a POST request to your URL with the meeting data you selected.

You can configure multiple webhooks with different data selections, protocols, and custom metadata — each fires independently.


Trigger Modes

Each webhook supports two trigger modes:

ModeDescription
AutomaticFires automatically after every meeting finishes processing. No manual action required.
ManualOnly fires when you explicitly trigger it from the meeting summary screen. Useful for selective workflows.

You can always trigger any webhook manually, regardless of the automatic setting.


Payload Format

Webhooks deliver a POST request with a JSON body. The exact fields included depend on your webhook configuration.

Full Payload Example

{
  "timestamp": "2026-05-19T14:30:00.000Z",
  "userId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "recordId": "54e7e4e4-4417-4662-90db-18456f71ecbb",
  "meetingTitle": "Q2 Planning Session",
  "eventStart": "2026-05-19T14:00:00.000Z",
  "participants": ["john@example.ai", "jane@example.ai"],
  "organizer": "john@example.ai",
  "message": "The team discussed the Q2 roadmap and assigned action items...",
  "summary": {
    "sections": [
      {
        "question": "What are the action items?",
        "answers": ["John will prepare the Q2 report by Friday", "Jane will finalize the designs"]
      }
    ]
  },
  "transcript": "[John Doe]:\nLet's start with the roadmap discussion...\n\n[Jane Smith]:\nI think we should prioritize...",
  "shareUrl": "https://app.optiverse.ai/share/abc123",
  "phoneNumber": "+4930123456"
}

Configurable Data Fields

You choose which fields to include for each webhook:

FieldKeyDescription
Meeting TitlemeetingTitleThe calendar event title
Date & TimeeventStartWhen the meeting occurred (ISO 8601)
AttendeesparticipantsArray of participant email addresses
OrganizerorganizerEmail of the meeting organizer
Summarymessage, summaryAI-generated summary (plain text and/or structured sections)
TranscripttranscriptFull meeting transcript
Phone NumberphoneNumberFor Aircall recordings only

Fields that are always included regardless of configuration:

  • timestamp — when the webhook was sent
  • userId — your user ID
  • recordId — unique meeting record identifier
  • shareUrl — sharing link (if available)

Custom Properties

You can attach static key-value pairs to any webhook. These are merged into the payload, which is useful for:

  • Routing logic in n8n (e.g. "team": "sales")
  • Identifying the source in multi-tenant setups
  • Passing metadata your workflow needs
{
  "timestamp": "2026-05-19T14:30:00.000Z",
  "recordId": "...",
  "meetingTitle": "...",
  "team": "sales",
  "priority": "high"
}

Custom HTTP Headers

You can add custom HTTP headers to each webhook request. This is useful for:

  • Authentication tokens expected by your endpoint
  • Routing headers for API gateways
  • Custom identifiers

For security, certain headers are blocked (e.g. Authorization, Cookie, Host, proxy headers). The Content-Type: application/json header is always set automatically.


Summary Protocol Override

By default, webhooks include the summary generated by the meeting's default protocol. You can optionally select a specific protocol template per webhook — for example, using a "CRM Update" protocol that extracts just the fields your CRM needs.

This means you can have multiple webhooks for the same meeting, each delivering a differently structured summary.


URL Requirements

Webhook URLs must currently follow the n8n webhook URL pattern:

https://your-instance.app.n8n.cloud/webhook/your-webhook-id
https://your-instance.app.n8n.cloud/webhook-test/your-webhook-id

Self-hosted n8n instances are supported as long as the URL matches the pattern https://<host>/webhook/<id> or https://<host>/webhook-test/<id>.

Webhook support is currently limited to n8n-compatible URLs. Support for arbitrary HTTPS endpoints (Make, Zapier, custom backends) is on the roadmap.


Setting Up a Webhook

  1. Go to Settings → Integrations in Optiverse.
  2. In the n8n Webhooks section, click Add Webhook.
  3. Enter a name, your n8n webhook URL, and optionally a description.
  4. Choose whether to trigger automatically or manually.
  5. Expand Data to Include to select which fields to send.
  6. Optionally configure a custom summary protocol, custom properties, or HTTP headers.
  7. Click Save.

Your webhook is now active and will fire based on your trigger configuration.


Example: n8n Workflow

A typical n8n workflow connected to Optiverse:

  1. Webhook trigger node — receives the POST from Optiverse
  2. IF node — filters by meeting title or attendees
  3. Action nodes — send to Slack, update a CRM, create a task in Notion, etc.
Optiverse Meeting → Webhook POST → n8n → Slack / CRM / Email / Notion

Execution Status

Each webhook tracks its last execution status, which you can see in the integrations dashboard:

  • Last triggered at — timestamp of the most recent delivery
  • Last meeting — title of the meeting that triggered it
  • StatusSuccess or Error with the error message

Next Steps

  • API Reference — use the REST API alongside webhooks for a complete integration

On this page