
Need to trigger automations when something happens in Papermark? With webhooks you can push events like link.viewed or document.created to any external service in real time.
Webhooks are available on the Business plan (or during your free trial). You must be a Workspace Owner or Admin to manage them.
Before you start
• Decide where you will receive the events (e.g. Slack, Zapier, custom endpoint).
• Make sure the destination can accept POST requests with JSON bodies.
• Generate or have access to your receiving URL.
Step-by-step
- Open settings – Click the Settings icon in the left sidebar, then choose Webhooks in the menu.

- Create webhook – Press Create webhook in the top-right corner.

- Name it – Enter a descriptive name such as Slack alerts (min. 3 characters).
- Paste your endpoint URL – This is where Papermark will send the POST requests.
- Copy the secret – A unique signing secret is auto-generated. Save it so you can verify signatures.
- Choose triggers – Select one or more events to send. You can combine triggers from multiple categories:
- Team-level –
document.created, document.updated, document.deleted, dataroom.created
- Document-level –
link.created, link.updated
- Link-level –
link.viewed, link.downloaded
New webhook triggers: link.created and document.created
Two triggers are particularly useful for automation:
link.created fires the moment a new link is generated for a document or data room
document.created fires the moment a new document is uploaded
Common automations these power:
- CRM sync: when a new link is created for an investor, push a record into HubSpot or Salesforce
- Slack alerts: notify a sales channel when a new pitch deck link is generated
- Zapier workflows: kick off a multi-step automation whenever a document is uploaded
- Internal tracking: log every link and document in your own data warehouse for analytics
Example payload for link.created:
{
"event": "link.created",
"data": {
"id": "link_abc123",
"url": "https://docs.acme.com/aB3kP9xQ7m",
"documentId": "doc_xyz456",
"name": "Investor pitch v3",
"createdAt": "2026-05-29T12:34:56Z"
}
}
Example payload for document.created:
{
"event": "document.created",
"data": {
"id": "doc_xyz456",
"name": "Q1 2026 financials.xlsx",
"type": "spreadsheet",
"teamId": "team_789",
"createdBy": "user@acme.com",
"createdAt": "2026-05-29T12:34:56Z"
}
}

- Save webhook – Click Create. You'll see the new webhook in the list with its status.
- Test delivery – Perform an action that matches one of your triggers and check your endpoint or delivery log.
Verifying signatures
Every request includes an X-Papermark-Signature header containing an HMAC-SHA-256 hash of the payload. Hash the raw JSON with your saved secret and compare the hex value to make sure the call really comes from Papermark.
X-Papermark-Signature: 3a1d5f…
Managing webhooks
• Edit – Click a webhook in the list to rename, add/remove triggers, or change the URL.
• View logs – Open a webhook and switch to Delivery log to see each attempt and response code.
• Delete – Use the Delete button inside the webhook detail page to stop deliveries.
Tips
- Keep your endpoint highly available; Papermark retries failed deliveries for 24 hours.
- Use queues (e.g. AWS SQS, RabbitMQ) to decouple processing from reception.
- Filter events by
event field to route them to different handlers.
Related guides
Need help? Email support@papermark.com or use the in-app chat - we're happy to assist!