Skip to main content

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:
[
  {
    "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