Webhooks
Webhooks let you receive automatic notifications whenever something happens in your DailyStak account — like a new order being placed, a subscription being cancelled, or a refund being issued. Instead of checking the portal manually, DailyStak sends a message to a URL you provide every time an event occurs.
This is especially useful if you want to:
- Get a Slack or email notification when a new order comes in
- Update a spreadsheet automatically when subscriptions change
- Trigger workflows in tools like Zapier, Make, or n8n
- Sync order data to your own systems
How Webhooks Work
- You create a webhook endpoint in the portal and choose which events you want to be notified about
- When one of those events happens, DailyStak sends a message (called a "payload") to the URL you provided
- The receiving service (Zapier, your app, etc.) processes the message and takes action
Setting Up a Webhook
- Go to Settings in the left sidebar
- Click the Webhooks tab
- Click Add Endpoint
- Enter the URL where you want to receive notifications
- Select the events you want to subscribe to (or choose "All events")
- Optionally add a description (e.g., "Zapier — new order Slack alerts")
- Click Save
You can create multiple webhook endpoints — for example, one for Zapier and another for your own internal system.
Available Events
You can subscribe to specific events or use wildcards to receive all events in a category.
Orders
| Event | When it fires |
|---|---|
order.created | A new order is placed (checkout, manual order, or subscription renewal) |
order.updated | Order details change (status update, tracking added) |
order.fulfilled | Order has been packed and shipped |
order.cancelled | Order is cancelled |
Use order.* to receive all order events.
Subscriptions
| Event | When it fires |
|---|---|
subscription.created | A new subscription is created |
subscription.paused | Customer or practitioner pauses a subscription |
subscription.cancelled | Subscription is cancelled |
subscription.renewed | Subscription renews and a new order is created |
Use subscription.* to receive all subscription events.
Customers
| Event | When it fires |
|---|---|
customer.created | A new customer is added |
customer.updated | Customer details are changed |
Use customer.* to receive all customer events.
Products
| Event | When it fires |
|---|---|
product.created | A new product is added to the catalog |
product.updated | Product details change (price, availability) |
product.discontinued | A product is removed from the catalog |
Use product.* to receive all product events.
Refunds
| Event | When it fires |
|---|---|
refund.created | A refund is initiated |
refund.completed | A refund has been processed |
Use refund.* to receive all refund events.
Use * (a single asterisk) to subscribe to every event type. This is useful if you're just getting started and want to see what's available.
Using Webhooks with Zapier
Zapier is one of the easiest ways to turn webhook events into actions — no coding required.
Step 1: Create a Zap with a Webhook Trigger
- Log in to Zapier and click Create Zap
- For the trigger, search for Webhooks by Zapier
- Choose Catch Hook as the trigger event
- Zapier will give you a unique webhook URL — copy it
Step 2: Add the URL to DailyStak
- In the DailyStak portal, go to Settings > Webhooks
- Click Add Endpoint and paste the Zapier webhook URL
- Select the events you want (e.g.,
order.created) - Save the endpoint
Step 3: Test the Connection
- Back in Zapier, click Test trigger
- In DailyStak, click the Send Test Event button next to your webhook endpoint
- Zapier should receive the test event and show you the data
Step 4: Add an Action
Now add what should happen when the event fires:
- Slack: Post a message to a channel (e.g., "#orders — New order from Jane Doe")
- Google Sheets: Add a row to a spreadsheet
- Email: Send yourself a notification
- SMS: Text yourself via Twilio
Example: Slack Notification for New Orders
| Zapier Step | Configuration |
|---|---|
| Trigger | Webhooks by Zapier > Catch Hook |
| Action | Slack > Send Channel Message |
| Channel | #orders |
| Message | New order! Order {{data__orderId}} — Status: {{data__status}} |
What a Webhook Payload Looks Like
When an event fires, DailyStak sends a JSON message to your URL. Here's an example for an order.updated event:
{
"id": "evt_abc123",
"type": "order.updated",
"created": 1706284800,
"data": {
"orderId": "ord_xyz789",
"status": "FULFILLED",
"customerId": "cus_456",
"customerName": "Jane Doe"
}
}
The type field tells you what happened, and the data field contains the relevant details.
Managing Your Webhooks
Viewing Delivery History
Go to Settings > Webhooks and click on any endpoint to see its delivery history. You can see:
- Which events were sent
- Whether they were delivered successfully
- When they were sent
Retrying Failed Deliveries
If a delivery failed (for example, the receiving service was temporarily down), you can click Retry next to any failed delivery to resend it.
Disabling an Endpoint
If you need to temporarily stop receiving events, click the toggle next to the endpoint to disable it. You can re-enable it at any time — no data is lost.
Deleting an Endpoint
Click the endpoint, then click Delete. This permanently removes the endpoint and stops all deliveries to that URL.
Security: Verifying Webhook Signatures
Every webhook DailyStak sends includes a signature header so you can verify it actually came from DailyStak. This is optional but recommended if you're building a custom integration.
Each endpoint has a signing secret — find it by clicking on the endpoint in the Webhooks settings page.
DailyStak sends two headers with every webhook:
| Header | Purpose |
|---|---|
X-Juniper-Signature | Signature for verification (format: t=timestamp,v1=signature) |
X-Juniper-Webhook-Id | Unique ID for this delivery |
If you're using Zapier or similar tools, you don't need to worry about signature verification — those services handle delivery securely on their end.
Troubleshooting
I'm not receiving any webhooks
- Check that your endpoint is enabled (not toggled off)
- Make sure you subscribed to the correct event types
- Verify the URL is correct and publicly accessible
- Check the delivery history for error messages
Deliveries are showing as failed
- The receiving URL may be returning an error — check your Zapier/Make logs
- The service may have been temporarily unavailable — try Retry
- If using a custom server, make sure it responds with a
200status code
I want to change which events I receive
Click on the endpoint in Settings > Webhooks and update the selected events. Changes take effect immediately.