Skip to main content
Webhooks are a great way to get real-time notifications on events that happen in your Dock workspace. Webhooks on Dock follow the following format:
webhook-payload.json
These are the types of events you can listen to:
File events (workspace.file.downloaded, workspace.file.viewed, workspace.file_widget.file.uploaded, workspace.plan.task.action.file.*, and workspace.plan.task.file.uploaded) include a file object in associatedObjects with a short-lived presigned download url. The URL expires at expiresAt (one hour); re-fetch the event or generate a new link if it has expired.

Workspace-level events

These events are triggered in the context of your entire workspace:

Workspace created

This event is triggered when a workspace is created. Here’s an example payload:
workspace.created

Workspace viewed

This event is triggered when a workspace is viewed. Here’s an example payload:
workspace.viewed

Workspace plan task created

This event is triggered when a workspace plan task is created. Here’s an example payload:
workspace.plan.task.created

Workspace plan task title changed

This event is triggered when a workspace plan task title is changed. Here’s an example payload:
workspace.plan.task.title.changed

Workspace plan task description changed

This event is triggered when a workspace plan task description is changed. Here’s an example payload:
workspace.plan.task.description.changed

Workspace plan task status changed

This event is triggered when a workspace plan task status is changed. Here’s an example payload:
workspace.plan.task.status.changed

Workspace plan task completed

This event is triggered when a workspace plan task is completed. Here’s an example payload:
workspace.plan.task.completed

Workspace plan task uncompleted

This event is triggered when a workspace plan task is uncompleted. Here’s an example payload:
workspace.plan.task.uncompleted

Workspace plan task deleted

This event is triggered when a workspace plan task is deleted. Here’s an example payload:
workspace.plan.task.deleted

Workspace plan task due date changed

This event is triggered when a workspace plan task due date is changed. Here’s an example payload:
workspace.plan.task.due_date.changed

Workspace plan task comment created

This event is triggered when a workspace plan task comment is created. Here’s an example payload:
workspace.plan.task.comment.created

Workspace plan task assignee added

This event is triggered when a workspace plan task assignee is added. Here’s an example payload:
workspace.plan.task.assignee.added

Workspace plan task assignee removed

This event is triggered when a workspace plan task assignee is removed. Here’s an example payload:
workspace.plan.task.assignee.removed
This event is triggered when a workspace plan task action link is clicked. Here’s an example payload:
workspace.plan.task.action.link.clicked

Workspace plan task action file downloaded

This event is triggered when a workspace plan task action file is downloaded. Here’s an example payload:
workspace.plan.task.action.file.downloaded

Workspace plan task action file uploaded

This event is triggered when a file is uploaded to a workspace plan task action. Here’s an example payload:
workspace.plan.task.action.file.uploaded

Workspace plan task action pdf viewed

This event is triggered when a PDF in a workspace plan task action is viewed. Here’s an example payload:
workspace.plan.task.action.pdf.viewed

Workspace plan task action video viewed

This event is triggered when a video in a workspace plan task action is viewed. Here’s an example payload:
workspace.plan.task.action.video.viewed

Workspace plan task action form interacted

This event is triggered when a form in a workspace plan task action is interacted with. Here’s an example payload:
workspace.plan.task.action.form.interacted

Workspace plan task action calendar interacted

This event is triggered when a calendar in a workspace plan task action is interacted with. Here’s an example payload:
workspace.plan.task.action.calendar.interacted

Workspace plan task action embed interacted

This event is triggered when an embed in a workspace plan task action is interacted with. Here’s an example payload:
workspace.plan.task.action.embed.interacted

Workspace plan task action custom code embed interacted

This event is triggered when a custom code embed in a workspace plan task action is interacted with. Here’s an example payload:
workspace.plan.task.action.custom_code_embed.interacted

Workspace plan task file uploaded

This event is triggered when a file is uploaded via the file manager inside a plan/task description. The payload includes a file object with a short-lived presigned download URL.
workspace.plan.task.file.uploaded

Workspace comment created

This event is triggered when a workspace comment is created. Here’s an example payload:
workspace.comment.created

Workspace comment edited

This event is triggered when a workspace comment is edited. Here’s an example payload:
workspace.comment.edited

Workspace comment deleted

This event is triggered when a workspace comment is deleted. Here’s an example payload:
workspace.comment.deleted

Workspace embed interacted

This event is triggered when a workspace embed is interacted with. Here’s an example payload:
workspace.embed.interacted

Workspace custom code interacted

This event is triggered when a workspace custom code is interacted with. Here’s an example payload:
workspace.custom.code.interacted

Workspace file downloaded

This event is triggered when a workspace file is downloaded. Here’s an example payload:
workspace.file.downloaded

Workspace file viewed

This event is triggered when a workspace file is viewed. Here’s an example payload:
workspace.file.viewed

Workspace message created

This event is triggered when a workspace message is created. Here’s an example payload:
workspace.message.created

Workspace message commented

This event is triggered when a workspace message is commented on. Here’s an example payload:
workspace.message.comment.created

Workspace security profile document downloaded

This event is triggered when a workspace security profile document is downloaded. Here’s an example payload:
workspace.security_profile_document.downloaded

Workspace security profile document viewed

This event is triggered when a workspace security profile document is viewed. Here’s an example payload:
workspace.security_profile_document.viewed
This event is triggered when a workspace security profile document link is clicked. Here’s an example payload:
workspace.security_profile_document.link.clicked

Workspace order form signed

This event is triggered when a workspace order form is signed. Here’s an example payload:
workspace.order_form.signed

Workspace order form fully signed

This event is triggered when a workspace order form is fully signed. Here’s an example payload:
workspace.order_form.fully_signed

Workspace order form viewed

This event is triggered when a workspace order form is viewed. Here’s an example payload:
workspace.order_form.viewed

Workspace order form downloaded

This event is triggered when a workspace order form is downloaded. Here’s an example payload:
workspace.order_form.downloaded

Workspace NDA signed

This event is triggered when a workspace NDA is signed. Here’s an example payload:
workspace.nda.signed
workspace.link.clicked
This event is triggered when a workspace text link is clicked. Here’s an example payload:
workspace.text_link.clicked

Workspace page viewed

This event is triggered when a workspace page is viewed. Here’s an example payload:
workspace.page.viewed

Workspace section navigation clicked

This event is triggered when a workspace section navigation is clicked. Here’s an example payload:
workspace.section_navigation.clicked

Workspace file widget file uploaded

This event is triggered when a file is uploaded from a file widget. Here’s an example payload:
workspace.file_widget.file.uploaded

Workspace form submitted

This event is triggered when a workspace form is submitted. For file_upload questions, each formQuestionResponses item can include an optional files array with temporary download links. files[].url is a presigned URL and may be null if link generation fails; links expire at files[].expiresAt. Here’s an example payload:
workspace.form.submitted

Workspace form question submitted

This event is triggered when a workspace form is submitted. When the submitted question is a file_upload, associatedObjects.formQuestionResponse can also include the optional files array described above. Here’s an example payload:
workspace.form.question.submitted

Asset events

Asset events are emitted when a library asset is viewed, shared, or downloaded. Every event includes an asset snapshot with its name, type, internal library URL, internal-use flag, tags, description, and download setting. When an AssetLink is involved, shareUrl identifies that exact link and trackingEnabled indicates whether it is gated. Actions performed in a workspace also include workspace and account; outside-workspace actions omit them. Anonymous activity omits user.

Asset viewed

Triggered when someone views an asset through an asset link.
asset.viewed

Asset shared

Triggered when an asset share link is created or an asset is shared into a workspace.
asset.shared

Asset downloaded

Triggered when someone downloads a downloadable asset through an asset link. Its payload uses the same asset shape as asset.viewed; workspace, account, and user context are included when available.
asset.downloaded

Course events

These events are triggered when a learner completes coursework in a workspace-linked course.

Course completed

This event is triggered when a learner reaches the course completion state.
course.completed

Course reviewed

This event is triggered when a reviewer finalizes the course review state.
course.reviewed

Presentation events

These events are triggered for presentation share-link activity only. Internal workspace presentation views/downloads are not emitted as these webhook event types.

Presentation viewed

This event is triggered when a presentation is viewed through a share link.
presentation.viewed
The top-level propertyName / propertyValue / propertyPreviousValue fields are only present when an event represents a property change. Events with no property change (e.g. presentation.viewed, presentation.shared) omit them. account is included only when an account is linked to the presentation; owners only when the presentation has owners.

Presentation downloaded

This event is triggered when a presentation file is downloaded through a share link.
presentation.downloaded

Presentation shared

This event is triggered when a presentation share link is created — for both tracking and non-tracking links. Whether the link is a tracking (gated) link is exposed as isTracking on the presentation associated object.
presentation.shared