> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tryordinal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Event types

> Supported webhook event types and their payloads

Ordinal sends webhook notifications when events occur in your workspace. Every payload uses this structure:

```json theme={null}
{
  "type": "post.published",
  "data": {
    "post": {
      "id": "550e8400-e29b-41d4-a716-446655440001",
      "title": "Q4 Product Launch Announcement",
      "channel": "LinkedIn",
      "campaign": {
        "id": "550e8400-e29b-41d4-a716-446655440003",
        "name": "Launch 2025",
        "startDate": "2025-01-01",
        "endDate": "2025-12-31"
      },
      "url": "https://app.tryordinal.com/acme/posts/550e8400-e29b-41d4-a716-446655440001",
      "postUrl": "https://www.linkedin.com/feed/update/urn:li:share:7123456789012345678",
      "profile": {
        "id": "550e8400-e29b-41d4-a716-446655440002",
        "name": "Acme Inc",
        "detail": "acme-inc"
      },
      "workspace": {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "slug": "acme",
        "name": "Acme Inc"
      },
      "publishedBy": {
        "id": "550e8400-e29b-41d4-a716-446655440010",
        "firstName": "Jane",
        "lastName": "Doe",
        "email": "jane@example.com"
      },
      "publishedAt": "2025-02-26T14:30:00.000Z"
    }
  },
  "createdAt": "2025-02-26T14:30:00.000Z"
}
```

* **type** – Event type (e.g. `post.published`)
* **data** – Event-specific payload; see each event page for the schema
* **createdAt** – ISO 8601 timestamp when the event was emitted

## Social Profile

Events for connected social accounts (LinkedIn, Twitter, Instagram, etc.):

| Event Type                                                                                  | Description                                       |
| ------------------------------------------------------------------------------------------- | ------------------------------------------------- |
| [`social_profile.connected`](/integrations/webhooks/social-profile-connected)               | A profile is connected to the workspace           |
| [`social_profile.disconnected`](/integrations/webhooks/social-profile-disconnected)         | A profile is disconnected from the workspace      |
| [`social_profile.reconnect_needed`](/integrations/webhooks/social-profile-reconnect-needed) | A profile needs reconnecting (e.g. token expired) |

## Posts

Events for post lifecycle and content changes:

| Event Type                                                                          | Description                                                                                                         |
| ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| [`post.created`](/integrations/webhooks/post-created)                               | A new post is created                                                                                               |
| [`post.scheduled`](/integrations/webhooks/post-scheduled)                           | A post is scheduled for publishing                                                                                  |
| [`post.rescheduled`](/integrations/webhooks/post-rescheduled)                       | A post's scheduled time is changed                                                                                  |
| [`post.unscheduled`](/integrations/webhooks/post-unscheduled)                       | A post is unscheduled                                                                                               |
| [`post.published`](/integrations/webhooks/post-published)                           | A post is successfully published to a channel                                                                       |
| [`post.publish_failed`](/integrations/webhooks/post-publish-failed)                 | A post fails to publish                                                                                             |
| [`post.archived`](/integrations/webhooks/post-archived)                             | A post is archived (moved to trash)                                                                                 |
| [`post.permanently_deleted`](/integrations/webhooks/post-permanently-deleted)       | A post is permanently deleted                                                                                       |
| [`post.content.edited`](/integrations/webhooks/post-content-edited)                 | A post's content is edited (debounced per post, fires after \~5 minutes). Includes latest content for all channels. |
| [`post.comment.created`](/integrations/webhooks/post-comment-created)               | A comment is added to a post (post-level comments)                                                                  |
| [`post.inline_comment.created`](/integrations/webhooks/post-inline-comment-created) | An inline comment (text-anchored) is added to a post. One event per comment, including replies in a thread.         |

## Approvals

Events for post and campaign approval workflows:

| Event Type                                                                          | Description                                         |
| ----------------------------------------------------------------------------------- | --------------------------------------------------- |
| [`post.approval.requested`](/integrations/webhooks/post-approval-requested)         | Someone requests approval from users for a post     |
| [`post.approval.approved`](/integrations/webhooks/post-approval-approved)           | An approver grants approval for a post              |
| [`campaign.approval.requested`](/integrations/webhooks/campaign-approval-requested) | Someone requests approval from users for a campaign |
| [`campaign.approval.approved`](/integrations/webhooks/campaign-approval-approved)   | An approver grants approval for a campaign          |

## Invites

Events for workspace invitations:

| Event Type                                                  | Description                                                                                                              |
| ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| [`invite.created`](/integrations/webhooks/invite-created)   | A user is invited to the workspace. If the invitee already has an account, they are added directly and no email is sent. |
| [`invite.accepted`](/integrations/webhooks/invite-accepted) | A user accepts a workspace invite                                                                                        |
