Skip to content

Webhooks / HTTP

Zapier packing slips without a template editor.

A Zap can POST order JSON to Slipmill with Webhooks by Zapier. Header x-sm-key. Not a listed Zapier app. Not a Shopify app. Not ShipStation.

Zapier users look for a packing-slip action and land in a template editor. Slipmill does not give you one. You map the order you already have. You POST it. The mill prints a branded US Letter PDF. No drag-and-drop slip. No theme.

Slipmill is not a listed Zapier app. There is no Slipmill logo in the Zapier directory. Use Webhooks by Zapier or the HTTP action your plan includes. POST https://slipmill.com/v1/render. Header x-sm-key. Content-Type application/json. Body: template packing-slip or invoice, brand, data.

This is not a Shopify app and not ShipStation. Shopify can trigger the Zap. ShipStation can still buy the label. The mill only prints the packing slip — or the invoice, cents as sent — from the JSON the Zap already built.

Catch a webhook from your shop or 3PL. Map ship-to, SKU, qty. POST. Write the PDF to Drive, email, or the folder your pack station reads. One Zap step is one render. Fail closed on a bad key.

Two locked templates we own. You do not paste HTML into a Zapier formatter and pray. You do not maintain CSS in a Zap. Starter is enough to prove the webhook. Paid plans drop the footer and allow a logo URL.

n8n and Make use the same HTTP shape. Those pages are separate so the node names stay honest. The mill does not change.

A Zap that already builds line items can map sku, name, qty, and ship-to without a formatter HTML step. Put the key in the header. Do not paste it into a Zapier note that ships to a teammate. Treat it as a secret. Quota is per account, not per Zap.

If the Zap fires twice, you get two PDFs. That is the product: one request, one render. Deduplicate upstream if your shop retries webhooks. The mill will not guess which POST was the real order.

The live curl on this page is the same POST the webhook should make. Swap the sample Northline fields for the Zap mapper. Leave template packing-slip unless you want the invoice.

POST from Webhooks by Zapier or an HTTP action

Zapier already mapped the order. The mill does not need a special connector. Use Webhooks by Zapier or an HTTP action. Method POST. URL https://slipmill.com/v1/render. Header x-sm-key. Content-Type application/json. Body: template packing-slip or invoice, brand, and data.

The response is application/pdf, US Letter, synchronous. One request is one document. Save the bytes. Print them or attach them. Two locked templates we own. We do not ship the box. We do not buy postage.

curl

curl -X POST https://slipmill.com/v1/render \
  -H "x-sm-key: YOUR_SLIPMILL_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "template": "packing-slip",
    "brand": {
      "name": "Northline Goods",
      "accent": "#9E2A22",
      "address": "18 Mercer Street, Hoboken, NJ 07030"
    },
    "data": {
      "order_id": "NL-10428",
      "date": "2026-08-31",
      "ship_to": {
        "name": "Cedar & Pine Outfitters",
        "address": "440 Warehouse Ave, Dock 3",
        "city": "Newark",
        "region": "NJ",
        "postal": "07105",
        "country": "US"
      },
      "from": {
        "name": "Northline Goods",
        "address": "18 Mercer Street, Hoboken, NJ 07030"
      },
      "items": [
        { "sku": "TOTE-12", "name": "Canvas tote — natural", "qty": 12 }
      ]
    }
  }' \
  --output packing-slip.pdf

Questions

No. Use Webhooks by Zapier or HTTP. Header x-sm-key. POST /v1/render.