Skip to content
Ordinal
Esc
↑↓navigate↵open⌘Jpreview

campaign.approval.approved

Fired when an approver grants approval for a campaign

All webhook payloads follow a consistent top-level structure with event-specific data nested within the data object.

PropType
typestring

The event type (e.g. campaign.approval.approved).

Typestring
dataobject

Event-specific payload for this webhook.

Typeobject
data.approvalobject

The approval that was granted.

Typeobject
data.approval.idstring

Approval ID.

Typestring
data.approval.isBlockingboolean

Whether this approval blocked the campaign until granted.

Typeboolean
data.approval.message?string

Optional message attached to the approval request.

Typestring
data.approval.dueDate?string

ISO 8601 due date for the approval, if set.

Typestring
data.approval.createdAtstring

ISO 8601 timestamp when the approval was created.

Typestring
data.approval.statusstring

Always Approved for this event.

Typestring
data.approval.approvedAtstring

ISO 8601 timestamp when the approver granted approval.

Typestring
data.approval.approvedByobject

User who approved. Contains id, firstName, lastName, and email.

Typeobject
data.approval.requestedByobject

User who originally requested approval. Contains id, firstName, lastName, and email.

Typeobject
data.approval.campaignobject

Campaign that was approved. Contains id, name, startDate, and endDate.

Typeobject
data.approval.workspaceobject

Workspace the campaign belongs to. Contains id, slug, and name.

Typeobject
createdAtstring

ISO 8601 timestamp when the webhook event was created.

Typestring
{
  "type": "campaign.approval.approved",
  "data": {
    "approval": {
      "id": "550e8400-e29b-41d4-a716-446655440710",
      "isBlocking": true,
      "message": "Legal sign-off needed for this campaign.",
      "dueDate": "2025-03-05T17:00:00.000Z",
      "createdAt": "2025-02-26T14:00:00.000Z",
      "status": "Approved",
      "approvedAt": "2025-02-26T16:15:00.000Z",
      "approvedBy": {
        "id": "550e8400-e29b-41d4-a716-446655440021",
        "firstName": "Sam",
        "lastName": "Chen",
        "email": "sam@example.com"
      },
      "requestedBy": {
        "id": "550e8400-e29b-41d4-a716-446655440010",
        "firstName": "Jane",
        "lastName": "Doe",
        "email": "jane@example.com"
      },
      "campaign": {
        "id": "550e8400-e29b-41d4-a716-446655440003",
        "name": "Launch 2025",
        "startDate": "2025-01-01",
        "endDate": "2025-12-31"
      },
      "workspace": {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "slug": "acme",
        "name": "Acme Inc"
      }
    }
  },
  "createdAt": "2025-02-26T16:15:00.000Z"
}

Last updated on September 27, 2026

Was this page helpful?