Webhook event triggered when a call outcome is recorded in iClosed.io.
The Call Outcome Added webhook is triggered whenever a call outcome is recorded after a call is completed in your iClosed.io account. This event provides comprehensive information about the call, its outcome, and any associated deals or transactions.
| Property | Value |
|---|---|
| Event Type | outcomeAdded |
| Trigger | When a call outcome is recorded (sale, no sale, reschedule, etc.) |
| Payload | Complete call outcome data with contact and deal information |
The HTTP body is a single JSON object (not an array). It contains the complete call outcome information with the following structure:
{
"uuid": 158,
"userId": 4,
"eventName": "Email Only",
"eventId": 3,
"eventType": "STRATEGY_EVENT",
"eventDuration": 30,
"eventDurationUnit": "MINUTES",
"eventColor": "#0099FF",
"closerName": "Shahab Hamid ",
"email": "carl.stanley@example.com",
"firstName": "Carl",
"lastName": "Stanley",
"contactId": 225,
"phoneNumber": null,
"closerEmail": "shahab@iclosed.io",
"callOutcome": "SALE",
"callType": "STRATEGY_CALL_BOOKED",
"objection": "PARTNER",
"startTime": "2026-03-30T04:00:00.000Z",
"notes": "<!DOCTYPE quill-output-html><p>Closed Laptop SKU after ROI walkthrough.</p>",
"callPreviewId": "call_K6gp95iufSjx",
"triggerWhen": "Added",
"productName": "Laptop",
"deal": {
"transactionType": "WON",
"createdAt": "2026-04-09T09:30:46.175Z",
"value": 188,
"recurring": false,
"product": {
"name": "Laptop"
}
},
"transaction": [],
"dealValue": 188,
"hookType": "Outcome added"
}| Field | Description |
|---|---|
uuid | Unique identifier for the call outcome record |
userId | ID of the user who recorded the outcome |
eventName | Name of the event/call type |
eventId | ID of the associated event |
eventDuration | Duration of the call |
eventDurationUnit | Unit of duration (e.g., "MINUTES") |
| Field | Description |
|---|---|
email | Contact's email address |
contactId | Unique contact identifier |
firstName, lastName | Contact's name |
phoneNumber | Contact's phone number |
| Field | Description |
|---|---|
closerEmail | Email of the person who conducted the call |
callOutcome | Result of the call (e.g., "SALE", "NO_SALE", "RESCHEDULE") |
noSaleReason | Reason for no sale (if applicable) |
objection | Any objections raised during the call |
startTime | When the call started |
notes | Additional notes about the call |
| Field | Description |
|---|---|
dealValue | Value of the deal (if a sale was made) |
productName | Name of the product/service sold |
deal.transactionType | Type of transaction (e.g., "WON", "SALE") |
deal.recurring | Whether the deal is recurring |
deal.product | Nested product metadata (e.g., { "name": "…" }) |
eventType, eventColor, closerName, callType | Event and closer context for the outcome row |
callPreviewId, triggerWhen | Call preview identifier and when the outcome was recorded |
deal.createdAt | When the deal was created |
deal.value | Deal value |
transaction | Array of transaction details (may be empty) |
hookType | Set to "Outcome added" to identify the event type |
| Value | Description |
|---|---|
SALE | Call resulted in a successful sale |
PARTIAL_SALE | Call resulted in a partial sale |
| Value | Description |
|---|---|
NO_SALE | Call did not result in a sale |
NOT_INTERESTED | Contact was not interested |
PRICE_OBJECTION | Price was the main objection |
TIMING_OBJECTION | Timing was the main objection |
AUTHORITY_OBJECTION | Contact doesn't have authority to buy |
NEED_OBJECTION | Contact doesn't see the need |
| Value | Description |
|---|---|
RESCHEDULE | Call was rescheduled |
NO_SHOW | Contact didn't show up for the call |
CANCELLED | Call was cancelled |
This webhook is useful for:
- Sales Tracking – Monitor sales performance and outcomes
- CRM Updates – Update your CRM with call results and deal information
- Analytics – Track conversion rates and sales metrics
- Commission Calculations – Automate commission tracking for sales
- Follow-up Automation – Trigger follow-up actions based on call outcomes
- Reporting – Generate sales reports and performance analytics
- Lead Scoring – Update lead scores based on call outcomes
Your webhook endpoint should:
- Return a
2xxstatus code to acknowledge receipt - Respond within 5 seconds to avoid retries
- Handle duplicate events (idempotency)
- Log the call outcome
uuidfor debugging purposes - Process deal information if a sale was made
- Check Call Outcome – Use the
callOutcomefield to determine appropriate actions - Handle Different Outcomes – Different outcomes may require different processing logic
- Validate Deal Data – Ensure deal information is complete before processing sales
- Track Performance – Use this data for sales performance analytics
- Update Lead Status – Update lead status based on call outcomes
- Trigger Follow-ups – Automate follow-up actions based on outcomes