Conversation webhooks let you send conversation lifecycle events from eigi.ai to your own HTTPS endpoint. They are useful when you want to:Documentation Index
Fetch the complete documentation index at: https://docs.eigi.ai/llms.txt
Use this file to discover all available pages before exploring further.
- update a CRM when a call finishes
- trigger internal automations when a conversation disconnects or fails
- fetch the full transcript, analysis, and metadata for one specific conversation
Where to configure webhooks
- Log in to the eigi.ai dashboard
- Open the account menu at the bottom of the left drawer
- Click Webhooks
- Add one or more webhook destinations
| Field | Description |
|---|---|
| Name | Friendly label for the destination |
| URL | Your HTTPS endpoint |
| Request Type | GET, POST, PATCH, or PUT |
| Status | Enable or disable delivery for that destination |
Webhook URLs must use
https://.Events currently sent
Conversation webhooks are fired after supported conversation hangup flows complete. Current lifecycle events:| Event | When it fires |
|---|---|
conversation.completed | The conversation finished successfully |
conversation.disconnected | The conversation ended early or the user did not answer and the conversation was marked disconnected |
conversation.failed | The conversation ended in a failed state |
Delivery format
The event is delivered to every active webhook destination you configure.GET requests
For GET webhooks, eigi.ai sends the following query parameters:
eventpayload
payload is a JSON string.
Example:
POST, PATCH, and PUT requests
For non-GET webhooks, eigi.ai sends multipart form-data with two fields:
eventpayload
payload is the JSON string shown below.
Payload shape
The webhook payload includes the event name plus the most useful conversation fields for downstream automation.Fields included in payload
| Field | Description |
|---|---|
event | Lifecycle event name |
id | Internal conversation document ID |
conversation_id | Public conversation identifier |
agent_id | Agent that handled the conversation |
conversation_type | Conversation channel, such as telephony or Daily |
conversation_status | Final conversation status |
notes | Notes saved on the conversation |
conversation_duration | Duration when available |
conversation_recording_url | Recording URL when available |
calling_type | Call direction when available |
telephony_provider | Provider such as Twilio when available |
to_mobile_number | Destination number when available |
from_mobile_number | Source number when available |
is_test_call | Whether the conversation was a test call |
conversation_transcript | Transcript messages collected for the conversation |
conversation_analysis | Analysis results generated for the conversation |
Getting full details for one conversation
Every webhook includes aconversation_id.
Use that value with the public conversation API to fetch the latest full record for the exact conversation that triggered the webhook.
- Endpoint: Get Conversation by ID
Delivery behavior
- Any
2xxresponse is treated as a successful delivery - Failed deliveries are retried automatically
- eigi.ai currently makes up to
4total delivery attempts - Retries are spaced
10seconds apart - Delivery attempts, HTTP status codes, and errors are visible in the Webhooks page under Delivery Logs
Best practices
- Return a
2xxresponse quickly, then process the payload asynchronously in your own system - Use the
conversation_idas the stable key for downstream workflows - Treat
conversation_recording_url,conversation_duration, and analysis fields as optional - Store webhook deliveries idempotently so retries do not create duplicate work
Example receiver logic
- Receive the webhook event
- Read
eventand parsepayload - Extract
conversation_id - Use
conversation_idto fetch the latest conversation details from eigi.ai - Update your CRM, analytics pipeline, or internal workflow
Support
- Email: buddy@eigi.ai

