Real-time push events for your 3D printer fleet

Webhooks: get notified the instant something happens

When a print starts, a job fails, a queue item lands, a spare part runs low or a filament gets reassigned, SimplyPrint can POST the event to your URL within seconds. Pipe events into Discord, Slack or Microsoft Teams without a single line of code - or build your own automation against the raw JSON payload.

Get started for free More info & how-to
Feature image

Pull when you want. Push when it matters.

The SimplyPrint API is great when your system asks the questions. Webhooks are how SimplyPrint tells you the moment something changes - without polling, without scheduled jobs, without missed events.

Feature image

Push events instead of polling

A webhook is a URL you give to SimplyPrint. Every time something happens in your account that you've subscribed to - a print starts, a job fails, a queue item is approved, a spare part hits low stock - SimplyPrint sends an HTTP POST to that URL with the event payload. No polling loops, no rate-limit juggling, no "did we miss that one?" - just an event stream you can plug into anything that speaks HTTP.

Create as many webhooks as you need. Pick exactly which events each one cares about. Disable one without deleting it. Inspect every delivery in the history view. It's the same primitive the rest of the web runs on - now wired into your 3D printer fleet.

Four delivery formats - one webhook system

SimplyPrint auto-detects the destination from the URL and formats the payload to match. Point a webhook at Discord and you get a proper embed with colour, fields and a timestamp. Point it at Slack and you get a Slack Block Kit message. Point it at Microsoft Teams and you get an adaptive card. Point it at anything else and you get clean raw JSON to do whatever you want with.

Raw JSON

Clean POST body for Zapier, n8n, Make or your own backend.

Discord

Paste a channel webhook URL and get rich embeds, no bot.

Slack

Native Block Kit messages from any Slack incoming webhook.

Microsoft Teams

Adaptive cards posted to a Teams workflow or connector URL.

Feature image

Every event your fleet generates, grouped into clean categories

Subscribe each webhook to exactly the events that matter to it. A team-wide Discord channel might only care about print finished and print failed. A Zapier automation might subscribe to queue item approved. A maintenance dashboard might want every maintenance.* event. You decide per webhook.

  • Print job events - started, paused, resumed, cancelled, done, failed, bed cleared, objects skipped
  • Printer events - AutoPrint state, nozzle size, material, custom tag assigned / detached, out-of-order state, AI state, AI failure detected, AI failure false-positive, AutoPrint max cycles
  • Organization events - account AutoPrint state, new user signup, user pending approval
  • Print queue - item added, deleted, moved, revived, pending approval, approved, denied, queue emptied
  • Filament - created, updated, deleted, assigned to printer, unassigned
  • Maintenance - job created / started / completed / cancelled / overdue / reopened / updated / deleted, problem reported / resolved, spare part created / updated / deleted, stock adjusted, low stock, task completed / skipped, schedule created / updated / deleted
  • Balance - charged, refunded, topped up, adjusted
  • Quota - new request, request resolved, adjusted, reset
That's over 60 distinct events out of the box, with new ones added whenever a new feature ships.

A payload shape that's easy to write code against

Every regular-format webhook delivery looks the same on the outside: an envelope with the event name, an ISO timestamp, and the originating webhook_id, wrapping a data object whose shape is specific to the event.

The data object for a job.done event includes the print job, printer, file, user and elapsed time. A filament.assigned event includes the filament, the printer and which tool it landed on. A maintenance.job_overdue event includes the job, the printer, the responsible user and the original due date. Same envelope, event-specific data - so a single switch statement in your code handles the whole stream.

Feature image

Test, sample and inspect - before you ship anything to production

Webhooks should be boring. SimplyPrint gives you three tools so they actually are - inspect what you'll receive, send a test fire, and look back at every delivery that's already happened.

frame frame frame

Send a test event

Fire a real-shape payload on demand from any subscription.

Sample payloads

Browse exact payload shapes before you write any code.

Delivery history

URL, HTTP status, response body and timestamp for every delivery.

What your webhooks look like once delivered

The Discord, Slack and Teams formats render as native embed cards in those apps - rich title, fielded payload, optional printer thumbnail. Here are three real deliveries from a print farm running SimplyPrint, captured directly from a Discord channel. Configure the format once; SimplyPrint takes care of the embed.

Maintenance overdue

A scheduled maintenance job missed its due date - job name, printer, priority, schedule, group, all in one card.

Maintenance job created

A new maintenance job is scheduled - printer, group and priority surface immediately in your team channel.

Spare parts inventory

Inventory mutations - parts deleted, stock adjusted, restocked - delivered as separate events so a workflow tool can react to each.

frame frame frame
Feature image

Optional HMAC signing - prove the request really came from SimplyPrint

Set a per-webhook secret and SimplyPrint signs every delivery so your receiver can verify the payload hasn't been tampered with and didn't come from some random IP that guessed your URL. Skip the secret on internal-network webhooks where you don't need it. Rotate it whenever a key leaks - past deliveries are not invalidated, future ones use the new key.

Each webhook is also independently enabled / disabled - flip the toggle to pause a noisy integration without losing its event subscription or its history.

What people actually wire up

These are the patterns we see most often across print farms, schools, makerspaces and product teams running SimplyPrint.

Discord updates

Post job.done and job.failed to your team's channel.

Zapier / n8n

Trigger invoices or fulfilment when a queue item is approved.

Maintenance alerts

Ping ops on overdue maintenance or low spare-part stock.

Classroom dashboard

Surface student submissions to teachers in real time.

Feature image

The push half of a complete developer story

Webhooks pair naturally with the rest of the SimplyPrint developer surface:

  • The SimplyPrint API lets your code pull any state on demand - printers, queue, files, filament, jobs.
  • Webhooks let SimplyPrint push the moment something changes - so you don't have to poll for it.
  • The SimplyPrint MCP server lets AI assistants (Claude, ChatGPT) read and act on the same fleet through a vetted tool registry.
Use any one of them. Use all three. They share the same auth, the same permission model, and the same shape of data - so a printer in a webhook payload is the same printer object your API call returns.

Plan access: which plans include webhooks?

Webhooks are included on the Print Farm and Enterprise plans at no extra cost. No per-webhook fee, no per-delivery fee, no event caps.

Feature / Limit Free Basic Pro Print Farm Enterprise School Cloud Slicer Filament Manager
Webhooks
Full multi-channel webhook system - regular JSON, Discord, Slack and Microsoft Teams - with the complete event catalog, optional HMAC signing, and per-delivery history.

Want to learn more about our plans?

View full pricing & feature comparison

Frequently asked questions

Just paste the channel's webhook URL into SimplyPrint - that's it. We detect the destination from the URL (any discord.com/api/webhooks, hooks.slack.com/services or Teams workflow URL) and format the payload natively for that platform. No bot install, no app, no middleware.
Over 60 events across eight categories: print jobs, printer state, organization, print queue, filament, maintenance, balance and quota. Each webhook subscribes to its own subset, so a Discord channel can get only job.done and job.failed while a Zapier integration listens for queue.item_approved. New events get added with every major feature release.
Set a secret on the webhook. SimplyPrint will sign every delivery with that secret so your receiver can verify the payload hasn't been tampered with. The secret is per-webhook, so you can rotate one integration's key without touching the others.
Yes - every delivery is logged with the destination URL, the request body, the HTTP response code and the timestamp. Open any webhook to see its full delivery history - so a misconfigured endpoint or a transient outage is never a guessing game.
Yes - every event subscription has a "send test" button. SimplyPrint builds a real-shape payload (using a real entity from your account if one exists, otherwise a synthetic sample) and fires it to the webhook on demand. You can also browse sample payloads for every event so your downstream code is ready before the first real event arrives.
The API is pull: your code asks SimplyPrint for state on demand. Webhooks are push: SimplyPrint tells your code the moment something changes - no polling, no rate-limit juggling, no missed events. Most real integrations use both - the API to query, webhooks to react.
Deliveries go out from a dedicated forwarder and the response code, request body and timestamp are logged for every attempt - so an outage is visible in your webhook history. Build your receiver to be idempotent (each delivery carries its own log ID) and use the API to reconcile any state you may have missed during downtime.
Yes - failed deliveries (non-2xx response or timeout) are retried with exponential backoff over the next 24 hours, then marked as permanently failed and surfaced in the delivery history.
Delivery attempts (with payload + response code) are stored for 30 days in the webhook delivery history, accessible per-webhook in the panel.
Webhooks are included on the Print Farm, School (Education) and Enterprise plans. There are no per-webhook fees, no per-delivery fees and no event caps.

Step-by-step setup guide

For a walkthrough of creating your first webhook - including specifics for Discord, Slack and Microsoft Teams URLs - see the full webhooks helpdesk article.

Table of Contents