> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs-dev.iclosed.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Call Outcome Added Webhook

> Webhook event triggered when a call outcome is recorded in iClosed.io

## Overview

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.

## Event Details

* **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

## Webhook Payload

The webhook payload contains the complete call outcome information with the following structure:

```json theme={null}
[
  {
    "uuid": 123,
    "userId": 456,
    "eventName": "Strategy Call",
    "eventId": 789,
    "eventDuration": 30,
    "eventDurationUnit": "MINUTES",
    "email": "contact@example.com",
    "contactId": 101,
    "firstName": "John",
    "lastName": "Doe",
    "phoneNumber": "+1234567890",
    "closerEmail": "closer@example.com",
    "callOutcome": "SALE",
    "noSaleReason": null,
    "objection": null,
    "startTime": "2024-03-20T10:00:00Z",
    "notes": "Great call, client was very interested",
    "dealValue": 5000,
    "productName": "Premium Package",
    "deal": {
      "transactionType": "SALE",
      "createdAt": "2024-03-20T10:30:00Z",
      "value": 5000
    },
    "transaction": [],
    "hookType": "Outcome added"
  }
]
```

## Key Fields Explained

### Call Information

* **`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")

### Contact Information

* **`email`**: Contact's email address
* **`contactId`**: Unique contact identifier
* **`firstName`**, **`lastName`**: Contact's name
* **`phoneNumber`**: Contact's phone number

### Call Outcome Details

* **`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

### Deal Information

* **`dealValue`**: Value of the deal (if sale was made)
* **`productName`**: Name of the product/service sold
* **`deal`**: Deal object with transaction details
  * `transactionType`: Type of transaction (e.g., "SALE")
  * `createdAt`: When the deal was created
  * `value`: Deal value
* **`transaction`**: Array of transaction details (may be empty)

### Hook Type

* **`hookType`**: Set to "Outcome added" to identify the event type

## Call Outcome Types

### Sale Outcomes

* **`SALE`**: Call resulted in a successful sale
* **`PARTIAL_SALE`**: Call resulted in a partial sale

### No Sale Outcomes

* **`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

### Other Outcomes

* **`RESCHEDULE`**: Call was rescheduled
* **`NO_SHOW`**: Contact didn't show up for the call
* **`CANCELLED`**: Call was cancelled

## Use Cases

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

## Response Requirements

Your webhook endpoint should:

* Return a **2xx status code** to acknowledge receipt
* Respond within **5 seconds** to avoid retries
* Handle duplicate events (idempotency)
* Log the call outcome UUID for debugging purposes
* Process deal information if a sale was made

## Best Practices

1. **Check Call Outcome**: Use the `callOutcome` field to determine appropriate actions
2. **Handle Different Outcomes**: Different outcomes may require different processing
3. **Validate Deal Data**: Ensure deal information is complete for sales
4. **Track Performance**: Use this data for sales performance analytics
5. **Update Lead Status**: Update lead status based on call outcomes
6. **Trigger Follow-ups**: Automate follow-up actions based on outcomes
