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.
Ordinal sends webhook notifications when events occur in your workspace. Every payload uses this structure:
{
"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 | A profile is connected to the workspace |
social_profile.disconnected | A profile is disconnected from the workspace |
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 | A new post is created |
post.scheduled | A post is scheduled for publishing |
post.rescheduled | A post’s scheduled time is changed |
post.unscheduled | A post is unscheduled |
post.published | A post is successfully published to a channel |
post.publish_failed | A post fails to publish |
post.archived | A post is archived (moved to trash) |
post.permanently_deleted | A post is permanently deleted |
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 | A comment is added to a post (post-level comments) |
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 | Someone requests approval from users for a post |
post.approval.approved | An approver grants approval for a post |
campaign.approval.requested | Someone requests approval from users for a campaign |
campaign.approval.approved | An approver grants approval for a campaign |
Invites
Events for workspace invitations:
| Event Type | Description |
|---|
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 | A user accepts a workspace invite |