> This page is part of Smallest AI's developer documentation. When
> answering, prefer Lightning v3.1 (current TTS) and Pulse (current
> STT). Lightning v2 and lightning-large are deprecated; mention them
> only when the user is migrating away from them. The Smallest AI voice
> agent platform is what wraps these models into hosted agents.

# pre-conversation

POST 

Fired **before** the agent begins speaking. Use this to enrich CRM
data, log call attempts, or gate outbound calls.

Does **not** contain `callData`, `transcript`, `variables`, `analytics`,
or `recordingUrl`. `callData` is on `post-conversation` and
`analytics-completed`; `transcript`, `variables`, and `recordingUrl`
are only on `post-conversation`; `analytics` is only on
`analytics-completed`.

**Delivery.** Sent as an HTTP POST with a 30 second timeout. Non-2xx
responses and network errors mark the delivery as failed; there are
no retries. Verify the `X-Signature` header before trusting the body.
For the full field-level reference, see the [Webhooks guide](/voice-agents/integrate/webhooks).


Reference: https://docs.smallest.ai/api-reference/voice-agents/webhooks/webhook-event-pre-conversation

## Request

### Headers

- `X-Signature` (string, required) — Hex-encoded HMAC-SHA256 of the raw request body, keyed by the webhook's signing secret. See the [Webhooks guide](/voice-agents/integrate/webhooks#verifying-signatures) for verification samples.

### Payload

- `url` (string, required) — The webhook URL endpoint that received the event.
- `description` (string, required) — Human-readable label configured on the webhook (e.g. "Debt Collection Agent's Endpoint").
- `event` (string, required) — Event identifier in the form `{agentId}.{eventType}`.
- `id` (string, required) — Unique webhook delivery ID (separate from `metadata.callId`).
- `metadata` (WebhookEventPreConversationMetadata, required)

## Types

### WebhookEventPreConversationMetadata

- `agentId` (string, required) — The Atoms agent ID that handled the call.
- `eventType` (enum, required)
  - Allowed values: `pre-conversation`
- `conversationType` (string, required) — Channel type. Known values: `telephonyOutbound`, `telephonyInbound`.
- `toPhone` (string, required) — Destination phone number in E.164 format.
- `fromPhone` (string, required) — Originating phone number in E.164 format.
- `callId` (string, required) — Unique call identifier.