Webhook Payload Structure

Every webhook request sent to n8n uses a standardized JSON payload.
This structure remains consistent across all event types, making it easy to build reusable automation workflows.

{
    "event": "lead_created",
    "event_label": "Lead Created",
    "triggered_at": "2026-01-08 10:30:00",
    "data": {
    "id": 123,
    "name": "John Doe",
    "email": "[email protected]",
    "company": "Acme Corp",
    "status": "1",
    "phone": "+1-555-0100"
    },
    "relationships": {
    "status": {
    "id": 1,
    "name": "New Lead",
    "color": "#28a745"
    },
    "assigned_to": {
    "id": 5,
    "firstname": "Jane",
    "lastname": "Smith"
    }
    },
    "metadata": {
    "source": "perfex_crm",
    "event_id": "evt_1234567890_lead_created_123_abc123",
    "triggered_by": {
    "staff_id": 5,
    "staff_name": "Jane Smith"
    }
    }
    }

Payload Sections Overview

1. Event Information

This section describes what happened and when it happened.

This helps identify the webhook trigger inside n8n.

2. Data (Main Resource)

The data object contains the primary record related to the event.

Examples:

The fields inside this object depend on the selected event type.

3. Relationships (Optional)

When Include Relationship Data is enabled, related records are added here.

Common relationship data:

This avoids extra API calls in your automation workflow.

4. Metadata

Additional context about the webhook execution.

Useful for logging, debugging, and audit tracking.

The structure remains consistent across all event types