ClientPoint Webhooks: Sample Response

Webhook Response Format

When a ClientPoint webhook is triggered, your endpoint will receive a JSON payload containing detailed information about the event. Understanding this structure is essential for processing the webhook data correctly.

Webhook Data Structure

Below is an example of a webhook response payload that you'll receive when an event is triggered:

{
  "Event": "sent",
  "Data": {
    "ClientPointId": "12345",
    "Revenue": "500.00",
    "Client": "ClientPoint Test Company",
    "ViewStatus": "sent",
    "HandDelivered": "0",
    "CreatedDate": "2025-02-04 09:02:58",
    "SendDate": "2025-02-04 17:05:11",
    "WonDate": null,
    "DisableDate": null,
    "LastModifyDate": "2025-02-04 17:04:49",
    "OpportunityId": "",
    "AssignedTo": "Haris Isani",
    "CreatedBy": "Administrator",
    "Category": "New",
    "Status": "trash",
    "Division": "Solutions",
    "DivisionId": "8511",
    "WorkSpace": "Technology",
    "Market": "Solutions",
    "Service": "Consultation",
    "SubServices": "Detailed Consultation",
    "Region": "South",
    "LastViewTime": null,
    "LastViewEmail": null,
    "CustomFields": {
      "Name": "Haris",
      "Email": "harisisani@gmail.com",
      "Street": "XYX Street",
      "City": "Arglinton",
      "State": "Texas",
      "Zip Code": "76001",
      "Phone Number": "+1 (817) 1234 1512"
    },
    "ClientPointLink": "https://harisisani.clientpoint.net/v/123456/0000"
  }
}

Processing Webhooks

When you receive a webhook, your endpoint should:

  1. Return a 200 status code as quickly as possible to acknowledge receipt
  2. Process the webhook data asynchronously if possible
  3. Verify the webhook signature if available for security
  4. Implement error handling and retry logic