Webhook event payload missing required fields for custom attendee registration integration

We’ve configured webhooks to trigger on attendee registration events for our webinar integration, but the webhook payloads are missing critical custom fields we need for downstream automation. The standard fields like name and email come through fine, but none of our custom attendee fields (company_size, industry, job_role) are included in the payload.

Our webhook configuration:


{
  "webhook": {
    "target_url": "https://api.example.com/events",
    "event": "attendee.registered"
  }
}

We’ve verified the custom fields exist on the attendee records in Zendesk Sell and are populated correctly. When we manually query the API for the same attendee, all custom fields are present. But webhook payloads only include the base attendee object without custom field data. This is breaking our lead scoring automation that depends on these fields. Has anyone solved this issue with webhook custom field inclusion?

What version of the webhook API are you using? The v2 webhooks have better support for custom fields compared to v1. Also, make sure you’re inspecting the full payload structure - sometimes custom fields are nested under a custom_fields object rather than at the root level of the payload. Can you share what the actual payload structure looks like when you receive it?

You’re hitting a documented limitation of the event management webhook system in Zendesk Sell. Let me walk through the complete solution that addresses all three key areas: webhook event type selection, custom field inclusion, and proper payload inspection.

Webhook Event Type Selection

The attendee.registered event is a lightweight notification webhook that only includes minimal data. This is by design to reduce payload size and improve webhook delivery performance for high-volume event registrations. For your use case, you have two better options:

  1. Use contact.updated webhooks instead if your attendees are created as contacts in Zendesk Sell. This webhook type includes full custom field data.
  2. Use a hybrid approach with the current attendee.registered webhook plus an immediate API fetch.

Custom Field Inclusion Strategy

Since the attendee.registered webhook doesn’t include custom fields natively, implement this pattern:


// Webhook receiver pseudocode:
1. Receive attendee.registered webhook with minimal data
2. Extract attendee_id from payload
3. Make GET request to /v2/attendees/{attendee_id}?include=custom_fields
4. Process full attendee record with all custom fields
5. Continue automation workflow with complete data

The include=custom_fields query parameter is crucial for the API fetch. Without it, even direct API calls may return abbreviated data.

Payload Inspection Process

When debugging webhook payloads, check these specific areas:

  1. Event type confirmation: Verify the event field in the payload matches your expected type. Sometimes webhook configurations can drift.

  2. Nested data structures: Custom fields when present are under payload.data.custom_fields, not at the root level. The structure is:

{
  "event": "attendee.registered",
  "data": {
    "id": "123",
    "custom_fields": {...}
  }
}
  1. Webhook version: Confirm your endpoint is receiving v2 webhooks by checking the webhook subscription in your Zendesk Sell settings under Settings > Webhooks.

Recommended Implementation

For reliable automation with custom fields:

  1. Keep your attendee.registered webhook for immediate notification
  2. In your webhook handler, immediately call GET /v2/attendees/{id}?include=custom_fields
  3. Cache the full attendee data for your lead scoring logic
  4. Set up monitoring to track the latency of this two-step process

This pattern adds ~100-200ms latency but ensures you have all required data. Most automation workflows can easily accommodate this delay. If real-time processing under 50ms is critical, consider switching to contact.updated webhooks and linking your event attendees to contact records, which natively include custom fields in webhook payloads.

We’re using v2 webhooks. I’ve inspected the full payload structure and there’s no custom_fields object at all. The payload only contains id, name, email, created_at, and event_id fields. Nothing beyond those core fields even when we know the attendee record has 8 custom fields populated in the system.

This is a known behavior with event management webhooks. The attendee.registered event type sends a lightweight payload intentionally. For custom field data, you need to either use the deal.updated or contact.updated webhooks if your attendees are linked to those objects, or implement the follow-up API call pattern mentioned earlier.

I remember dealing with this. The event type matters a lot. Some webhook events in Zendesk Sell don’t support custom field inclusion at all, particularly for certain object types. Attendee objects might be one of those limitations. You might need to use a two-step approach: receive the webhook notification, then make a follow-up API call to fetch the full attendee record with custom fields.