Articles on: Developers

All About the "Webhooks" Feature

All About the "Webhooks" Feature


Introduction


SimplyPrint Webhooks is a powerful tool that enhances the interactivity and integration capabilities of our platform. This feature allows users to receive real-time notifications about events occurring within SimplyPrint, making it easier to synchronize data and automate responses in external systems.


Disclaimer: This is an advanced feature.


The webhooks feature is part of the Print Farm plan. If you're on a lower plan, you can still receive webhooks created on your behalf by select integrations (Zapier, n8n, Activepieces, Make) - see webhooks created by integrations below.


What are Webhooks?


Webhooks are user-defined HTTP callbacks, which are triggered by specific events in SimplyPrint. When one of these events occurs, SimplyPrint sends an HTTP POST request to a URL specified by the user. This allows for seamless integration with external services and custom applications, enabling real-time data sharing and automated actions.


Setting Up a Webhook


Setting up a webhook is straightforward:


  1. Go to Settings > Webhooks
  2. Click "Create webhook"
  3. Fill out the information.
  4. Test the webhook by triggering a test event.


Supported third-party services: Webhook payloads for external services

In SimplyPrint, you can create normal webhooks, where we use our own JSON format (scroll down for more info), but, we do support sending special requests to some supported third-party services.


Service #1: Discord

By pasting in a Discord webhook URL, we automatically know to format the webhook request to Discord's format, allowing us to send messages in a certain channel of your Discord server!

Learn more about setting up Discord webhooks here; Setting up a Discord Webhook - send Discord messages on SimplyPrint, OctoPrint & Moonraker events


Service #2: Slack

As with Discord, Slack webhooks are too supported. When pasting in a Slack webhook URL, we know to format the "payload"/message to a format that Slack understands, allowing us to send messages in a certain Slack channel.

Learn more about setting up Slack webhooks here; Setting up a Slack Webhook - getting SimplyPrint events in Slack via SimplyPrint


Service #3: Microsoft Teams

Microsoft Teams is a supported third-party service as well - like with Slack and Discord, we format the webhook request to Teams' standards, allowing us to send messages in a Teams channel.

Learn more about setting up SimplyPrint webhooks for Microsoft Teams here; Setting up a Microsoft Teams Webhook - send Teams messages on a certain event


Types of Events You Can Subscribe To


You can set up webhooks for a variety of events, including:


  • Print Job statuses: Get notified when print jobs are started, finished, paused, resumed and more.
  • Printer information changes: Get notified when a printer's material, nozzle size, custom tags and more are updated.
  • Print Farm-wide / organization-wide events: Get notified when AutoPrint is enabled, disabled, when a new user signs up, & more.
  • Print queue: Get notified when a new item is added, an item is deleted, moved, "revived" or the queue is emptied.
  • Filament: Get notified on create and delete of a filament.
  • More to come!


Secret token


The secret token is an optional token that can be set by the user when creating a new webhook.


You choose the value, and it is important to keep it secure, such that malicious actors cannot impersonate SimplyPrint.


If a secret token is set, we send this token with each webhook payload such that you can verify that the HTTP request originates from SimplyPrint.


The secret token is sent in the X-SP-Secret header.


Note that HTTP headers are case-insensitive. Meaning though we send the header as X-SP-Secret, depending on the programming language or server you receive the request in, you may receive it as X-Sp-Secret, x-sp-secret. If you're having issues, or can't see the header, make sure to check all headers received in the request, as the naming conventions can differ from server to server and language to language. E.g. in PHP, you can access it like so; $_SERVER['HTTP_X_SP_SECRET'] when using the $_SERVER superglobal.


Payload format


Webhooks are sent as JSON data, with the following format:


Field

Type

Desc

webhook_id

int

The id of triggered webhook

event

string

The event that was triggered

timestamp

int

Unix timestamp

data

object

Data attached to event

An example of a webhook payload can be seen here:


{
"webhook_id": 123,
"event": "job.started",
"timestamp": 1702659274,
"data": {
"job": {
"id": 123456,
"uid": "73a90bde-829e-4b7f-ab2b-7be475633144",
"panel_url": "https://simplyprint.io/panel/jobs/73a90bde-829e-4b7f-ab2b-7be475633144",
"started": 1702659274,
"ended": null
},
"user": {
"id": 1234,
"first_name": "John",
"last_name": "Doe"
}
}
}


Use Cases and Integration Ideas


  • Automated Reporting: Integrate with your reporting tools to generate real-time reports on print jobs.
  • Data Synchronization: Keep your inventory or project management tools in sync with your print jobs.
  • Triggering of external bed clearing hardware on print job end.


Webhooks created by integrations


Some of our third-party integrations use webhooks under the hood to deliver real-time events to their platform. These are Zapier, n8n, Activepieces and Make. When you connect one of these integrations to your SimplyPrint account and build a flow that reacts to a SimplyPrint event (for example "when a print finishes, post to Slack"), the integration creates a webhook in your account on your behalf.


These integration-created webhooks work even if your plan does not include the Webhooks feature. So you can be on any plan that includes the Zapier, n8n, Activepieces or Make integration and still build automations - you just can't hand-roll your own custom webhook URL without the Webhooks feature (which is part of the Print Farm plan).


How to spot them


In Settings > Webhooks, webhooks created by an integration show the integration's logo next to their name. Clicking the logo takes you to that integration's page on simplyprint.io where you can read more about it.


If your plan doesn't include the Webhooks feature but you have integration-created webhooks, you'll also see a banner at the top of the webhooks page telling you how many exist and giving you a button to delete them all at once.


What you can and can't do with them


  • Delete: yes, always. You can remove integration-created webhooks at any time, from any plan. Removing one will stop whichever automation depends on it until you reconnect the integration.
  • Edit the URL, events, or name: no. These webhooks are maintained by the integration itself. Any changes have to happen from the integration's side (for example, re-configure the Zap in Zapier or the workflow in n8n).
  • Enable/disable: no - use the integration's own on/off toggle.


If you want an integration to stop sending events to SimplyPrint entirely, the cleanest path is to disconnect the integration from your SimplyPrint account (in Settings > Connected apps). That revokes its access token and also removes the webhooks it owns.

Updated on: 24/04/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!