Skip to main content
POST
/
api
/
v2
/
analytics
/
webhook
/
receive
/
generic
/
{eventType}
curl --request POST \
  --url https://app.octavehq.com/api/v2/analytics/webhook/receive/generic/{eventType} \
  --header 'Content-Type: application/json' \
  --header 'api_key: <api-key>' \
  --data '
{
  "eventTimestamp": "2024-02-03T10:30:00Z",
  "eventType": "sent",
  "subject": "Follow up on our conversation",
  "body": {
    "text": "Hi John, Just wanted to follow up on our call yesterday...",
    "html": "<p>Hi John,</p><p>Just wanted to follow up on our call yesterday...</p>"
  },
  "from": {
    "email": "sarah@company.com",
    "name": "Sarah Johnson"
  },
  "to": [
    {
      "email": "john@prospect.com",
      "name": "John Smith"
    }
  ],
  "conversationId": "conv_abc123",
  "campaignId": "campaign_xyz"
}
'
{
  "_metadata": {
    "requestId": "requestId",
    "timestamp": "2021-01-01T00:00:00.000Z",
    "usage": 0,
    "message": "message"
  },
  "received": true,
  "connection": {
    "providerName": "INSTANTLY",
    "shouldProcess": true,
    "connectionMethod": "WEBHOOK"
  },
  "additionalData": {}
}

Authorizations

api_key
string
header
required

Path Parameters

eventType
enum<string>
required

Type of event being sent

Available options:
emails,
calls,
crm,
social
Example:

"emails"

Query Parameters

api_key
string

Provide api key if not in header

Body

application/json

Webhook payload. The schema depends on the {eventType} path parameter:

  • emails — Email Event schema
  • calls — Call Event schema
  • crm — CRM Event schema
  • social — Social Event schema (LinkedIn/social outreach)
eventTimestamp
string
required

ISO 8601 timestamp of the event

Example:

"2024-02-03T10:30:00Z"

eventType
enum<string>
required

Type of email event. Only 'sent' and 'reply' are processed for analytics; others are ingested but not processed.

Available options:
sent,
reply,
opened,
clicked,
bounced,
unsubscribed
subject
string
required

Email subject line

Example:

"Follow up on our conversation"

body
object
required

Email body. At least one of text or html must be provided.

from
object
required

Sender

to
object[]
required

Recipients (at least one required)

Minimum array length: 1
cc
object[]

CC recipients

bcc
object[]

BCC recipients

eventId
string

Explicit event ID for deduplication. If not provided, auto-generated from: from_email + subject + timestamp + first_to_email

Example:

"deal-001-email-sent-1"

conversationId
string

Conversation/thread ID for grouping related emails

campaignId
string

Campaign ID for grouping campaign emails

octaveRequestId
string

Octave request ID for tracking

customMetadata
object

Arbitrary key-value metadata

Response

Webhook received successfully

_metadata
object
required
received
boolean
required

Whether the payload was received

connection
object
required

Connection details

additionalData
object

Additional data about the processed event