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 webhooks send a real-time HTTP POST to a URL you control whenever a document or member event fires. You can use them to connect Steppd to Zapier, Make, n8n, Pipedream, Gumloop, or any system that can receive a POST request, routing structured process data into Slack, HubSpot, Asana, Notion, Google Sheets, Jira, Trello, and beyond.
Webhooks are available on the Scale plan only.

Event types

Steppd fires webhooks for eight lifecycle events across documents and team membership.
EventWhen it fires
document.createdA new document is created (any status).
document.publishedA document is published or a revision is promoted to published.
document.revisedA new revision draft is created from a published document.
document.archivedA published document is archived.
document.assignedA document is assigned to a team member.

Create a webhook

Webhooks are created and managed from your Profile page, under the Webhooks tab. Each team member can create their own webhooks; admins can see all webhooks in Settings → Webhooks.
1

Open Profile → Webhooks

Click your avatar or name in the sidebar to go to your Profile, then select the Webhooks tab.
2

Click + New webhook

Click the + New webhook button to open the creation form.
3

Fill in the webhook details

Enter a Name (for your reference), the destination URL where Steppd should POST events, and select one or more events to listen for. You must select at least one event.
4

Click Create webhook

Click Create webhook. Your signing secret is displayed once immediately after creation.
Copy your signing secret now. It is shown only once and cannot be retrieved later. If you lose it, you must delete the webhook and create a new one.
5

Webhook is now active

The new webhook appears in your list and begins delivering events immediately.

Edit a webhook

To change a webhook’s name, destination URL, or event subscriptions, click Edit on the webhook row, make your updates, and save.

Test a webhook

Click Test on any webhook row to send a test payload to the configured URL. Steppd displays the HTTP status code returned by your endpoint so you can confirm delivery is working before going live.

Manually trigger webhooks

From the action menu on any published document, choose Trigger Webhooks to fire the webhook events for that document on demand. You can choose which event type to fire: document.published, document.revised, or document.archived. The payload is identical to what fires automatically, and triggering does not change the document or count against your publish limit. This is useful for re-sending a payload after a downstream system was temporarily unavailable, or for testing an integration without needing to re-publish.

Webhook payload

When an event fires, Steppd delivers a POST request with a JSON body containing the event details and the full document content. Document payloads include:
  • event_type, the event string, e.g. document.published
  • data.title, the document title
  • data.version, the current version label
  • data.department, the assigned department, if set
  • data.owner_name, the document owner’s name
  • A nested structure of every section, step, and sub-step in the document
This structured payload is what makes Steppd’s webhooks useful for AI and RAG workflows. The full process content is already parsed and nested, ready to load into a vector store or pass to an agent.

Signing secret

Each webhook has a signing secret generated at creation. Use it to verify that incoming requests to your endpoint originated from Steppd and were not tampered with in transit. Your secret is shown only once, at the moment of creation. Store it securely. If you lose your signing secret, delete the webhook and create a new one to generate a fresh secret.

Webhook payload examples

The recipes below show real automation configurations you can copy and use as a starting point. Create a matching webhook for the event shown, then paste the prompt into the Automation Assistant to generate the full workflow.
Event: document.published
Set up a Zapier automation:
Trigger: Webhooks by Zapier (Catch Hook)
Action: Slack → Send Channel Message

Message template:
"New SOP published: *{{data.title}}* (v{{data.version}}), shared by {{data.owner_name}}"
Event: document.created
Set up a Zapier automation:
Trigger: Webhooks by Zapier (Catch Hook)
Action: Google Sheets → Create Spreadsheet Row

Map to columns: Title | Department | Created By | Created At | Status
Event: document.published
Create an n8n workflow:
1. Webhook node (POST): receives the Steppd event
2. IF node: check event_type === "document.published"
3. Notion node → Create a page in your SOPs database

Map fields: Title, Version, Department, Published by
Event: document.revised
Build a Make scenario:
1. Webhooks → Custom webhook
2. Router → Filter: event_type = "document.revised"
3. Jira Software → Create an Issue

Summary: "Review revised SOP: {{data.title}}"