Skip to main content
Ordinal sends webhook notifications when events occur in your workspace. Every payload uses this structure:
{
  "type": "post.published",
  "data": {
    "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 TypeDescription
social_profile.connectedA profile is connected to the workspace
social_profile.disconnectedA profile is disconnected from the workspace
social_profile.reconnect_neededA profile needs reconnecting (e.g. token expired)

Posts

Events for post lifecycle and content changes:
Event TypeDescription
post.createdA new post is created
post.scheduledA post is scheduled for publishing
post.rescheduledA post’s scheduled time is changed
post.unscheduledA post is unscheduled
post.publishedA post is successfully published to a channel
post.publish_failedA post fails to publish
post.archivedA post is archived (moved to trash)
post.permanently_deletedA post is permanently deleted
post.content.editedA post’s content is edited (debounced per post, fires after ~5 minutes). Includes latest content for all channels.
post.comment.createdA comment is added to a post (post-level comments)
post.inline_comment.createdAn inline comment (text-anchored) is added to a post. One event per comment, including replies in a thread.