Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.steppd.com/llms.txt

Use this file to discover all available pages before exploring further.

Steppd fires a webhook event at each stage of a document’s lifecycle. All four document events share the same common envelope. The event field identifies which event fired, and the data object carries the document fields described below.

document.created

Fires when a new document is created. Event name: document.created

Key fields in data

document_id
string
The unique ID of the newly created document.
title
string
The document title at the time of creation.
created_by_email
string
The email address of the member who created the document.

Example payload

{
  "event": "document.created",
  "timestamp": "2024-01-15T09:00:00Z",
  "organization_id": "org_abc123",
  "data": {
    "document_id": "doc_xyz789",
    "title": "Customer Offboarding Checklist",
    "created_by_email": "alice@example.com"
  }
}

document.published

Fires when a draft document is published and becomes the live version of record. Carries the full structured content of the document. Event name: document.published

Key fields in data

document_id
string
The document ID.
title
string
The document title.
version
string
The version string at the time of publishing.
department
string
The department name, if set.
published_at
string
ISO 8601 timestamp of when the document was published.
published_by_email
string
The email address of the member who published the document.
sections
array
The full structured content of the document.

Example payload

{
  "event": "document.published",
  "timestamp": "2024-01-15T10:30:00Z",
  "organization_id": "org_abc123",
  "data": {
    "document_id": "doc_xyz789",
    "title": "Employee Onboarding Process",
    "version": "2.0",
    "department": "HR",
    "published_at": "2024-01-15T10:30:00Z",
    "published_by_email": "alice@example.com",
    "sections": [
      {
        "title": "Pre-arrival",
        "content": "",
        "images": [],
        "steps": [
          {
            "title": "Send welcome email",
            "content": "",
            "images": [],
            "substeps": [
              {
                "title": "Use the onboarding email template",
                "content": "",
                "images": []
              }
            ]
          }
        ]
      }
    ]
  }
}

document.revised

Fires when a revision of a document is published. A revision is a draft created from a published document via POST /documents/:id/revise; this event fires when that revision draft is subsequently published, not when the revision draft is first created. Carries the same fields as document.published, plus previous_version_id. Event name: document.revised

Key fields in data

document_id
string
The ID of the revision document being published.
title
string
The document title.
version
string
The version string of the revision.
department
string
The department name, if set.
published_at
string
ISO 8601 timestamp of when the revision was published.
published_by_email
string
The email address of the member who published the revision.
previous_version_id
string
The ID of the original document this revision was created from.
sections
array
Full structured content, same shape as document.published.

Example payload

{
  "event": "document.revised",
  "timestamp": "2024-03-10T14:00:00Z",
  "organization_id": "org_abc123",
  "data": {
    "document_id": "doc_rev001",
    "title": "Employee Onboarding Process",
    "version": "2.1",
    "department": "HR",
    "published_at": "2024-03-10T14:00:00Z",
    "published_by_email": "alice@example.com",
    "previous_version_id": "doc_xyz789",
    "sections": []
  }
}

document.archived

Fires when a published document is archived. Archived documents are removed from the active document list and cannot be published or revised. Event name: document.archived

Key fields in data

document_id
string
The ID of the archived document.
title
string
The document title.
archived_by_email
string
The email address of the member who archived the document.

Example payload

{
  "event": "document.archived",
  "timestamp": "2024-06-01T08:15:00Z",
  "organization_id": "org_abc123",
  "data": {
    "document_id": "doc_xyz789",
    "title": "Employee Onboarding Process",
    "archived_by_email": "alice@example.com"
  }
}