What Are Webhooks?
Think of webhooks as automatic notifications from Zea Platform to your other business systems. When something important happens in your workspace (like a customer placing an order), Zea can instantly send that information to wherever you need it.
In simple terms: Webhooks let Zea “talk” to your other software automatically, without anyone having to manually copy and paste information.
Why Should I Use Webhooks?
Webhooks help you automate your work and connect Zea to the tools you already use. Here are some real-world examples:
Connect to Your Business Systems
Sync orders to your ERP (like SAP, Oracle, or Microsoft Dynamics) automatically Update your CRM (like Salesforce or HubSpot) when customers place orders Keep your inventory system up-to-date without manual entry Automatically create work orders in your production system Track Everything
Log all orders in a spreadsheet (Google Sheets, Excel) Build reports and dashboards Track which products are selling best Monitor customer ordering patterns Automate Your Workflow
Start approval processes for large orders Trigger shipping label creation Update accounting systems Send follow-up emails to customers Get Instant Notifications
Slack/Teams alerts when new orders come in Email notifications to your fulfillment team Text messages for urgent orders Dashboard updates in real-time How Do Webhooks Work?
Here’s what happens behind the scenes when you set up a webhook:
Something happens in Zea (like a customer placing an order) Zea prepares the information (order details, customer info, shipping address) Zea sends it to your system via a secure internet connection Your system receives and processes it (saves to database, sends notifications, etc.) If something goes wrong, Zea automatically tries again (up to 3 times) Simple example: When a customer orders Part #12345, Zea immediately sends that information to your chosen destination (like a Slack channel, your ERP system, or a spreadsheet).
Setting Up Your First Webhook
Step 1: Get to the Webhooks Settings
Go to your Workspace Settings Click on the Webhooks section in the left sidebar (see image below) Click the blue Create Webhook button In this view, you can see:
How many webhooks you’ve configured (e.g., “1/10 webhooks configured”) Your existing webhooks with their status (green “Enabled” badge) The webhook URL and configuration (Timeout, Retries) Disable, Edit, and Delete buttons for each webhook Step 2: Fill Out the Form
When you click “Create Webhook”, you’ll see a form like this:
Here’s what each field means:
Event * (Required)
What it is: The action that triggers the webhook
Currently available: “order.placed” (when a customer places an order)
Coming soon: File uploaded, part created, and more
In the form: Select from the dropdown - currently shows “Select an event”
URL * (Required)
What it is: Where Zea should send the information
What to enter: A secure web address (must start with https://)
Examples:
https://hooks.slack.com/services/YOUR/SLACK/WEBHOOK (for Slack) https://your-company.com/api/webhooks/zea-orders (for your own system) https://webhook.site/unique-id (for testing - the form suggests this!) Important: Must be a public, secure address. Can’t use localhost or internal servers.
Tip in the form: “The endpoint that will receive the webhook payload. For testing, try webhook.site”
Secret (Optional but Recommended)
What it is: A password that proves the message really came from Zea
Why use it: Prevents fake orders or spam
What to enter: A random string of letters and numbers (like Xy9mK2pLqW8nR4vT)
Tip: You can generate a strong secret using a password generator
Form label: “Optional signing secret”
Help text: “Optional secret for signing webhook payloads”
Custom Headers (JSON) (Optional)
What it is: Extra authentication information some systems require
When to use it: If your receiving system needs an API key or token
Format: JSON (a simple text format)
Example shown in the form:
{"Authorization": "Bearer token"}
Another common example:
{"X-API-Key": "your-api-key-here"}
Ask your developer: They’ll know if you need this and what to put
Form help text: “Optional custom headers as a JSON object”
Timeout (ms) (Default: 30000)
What it is: How long Zea waits for your system to respond
Default shown: 30000 (which is 30 seconds)
Increase it if: Your system is slow or does a lot of processing
Most people: Can leave this as the default
Retry Count (Default: 3)
What it is: How many times Zea tries again if delivery fails
Default shown: 3
How it works: If your system is down, Zea will retry 3 times automatically
Most people: Can leave this as the default
Retry Backoff (ms) (Default: 1600)
What it is: How long to wait between retry attempts
Default shown: 1600 (which is 1.6 seconds)
How it works: Zea waits longer between each retry (1s, then 2s, then 4s)
Most people: Can leave this as the default
Enable webhook immediately ✓
What it is: A checkbox to turn the webhook on right away
Checked (default): Webhook starts working immediately
Unchecked: Webhook is saved but not active (you can enable it later)
Form shows: Blue checkmark box at the bottom
Step 3: Save and Test
Click the blue “Create Webhook” button at the bottom right of the form Your webhook is now saved and (if you checked the box) immediately active Step 4: Test It
Before going live with real integrations, test your webhook:
Use webhook.site for testing (recommended by the form!) Copy the unique URL they give you (looks like https://webhook.site/unique-id) Paste that URL into the URL field in Zea’s webhook form Place a test order in Zea Go back to webhook.site to see the data Zea sent Once it’s working with webhook.site, edit the webhook and replace the URL with your real destination (Slack, Zapier, your API, etc.) Managing Your Webhooks
Back in the Webhooks section (see first screenshot), you can:
See all webhooks with their status indicators Disable a webhook temporarily (button on the right) Edit a webhook to change its configuration Delete a webhook (trash icon) if you don’t need it anymore Important: You can create up to 10 webhooks per workspace. The interface shows “X/10 webhooks configured” at the top.
Security & Safety
Why Webhooks Are Secure
Zea takes several steps to keep your data safe:
Always Uses HTTPS: All data is encrypted when sent (like secure banking websites) Blocks Dangerous Destinations: Can’t send to internal company networks or your local computer Optional Secret Key: Like a password that proves the data came from Zea Automatic Retries: If delivery fails, Zea tries again automatically Understanding the Secret Key
When you add a secret to your webhook, Zea uses it to create a special signature (like a wax seal on an envelope). Your receiving system can check this signature to make sure:
The data really came from Zea (not a fake/spam message) The data wasn’t changed during transmission Do I need a secret?
For testing: No, not required For production use: Yes, highly recommended Ask your developer if you’re connecting to your company’s systems Who Can Create Webhooks?
Only workspace administrators can create, edit, or delete webhooks. Regular users can view them but not make changes.
What Information Gets Sent?
When an Order is Placed
Currently, webhooks trigger when a customer places an order. Here’s what information Zea sends:
The data includes:
{
"event": "order.placed",
"timestamp": "2025-11-10T15:30:45.123Z",
"workspaceId": "workspace-uuid",
"data": {
"quoteId": "quote-uuid",
"customerEmail": "customer@example.com",
"items": [
{
"servicePartId": "part-uuid",
"partNumber": "ABC-123",
"quantity": 5,
"notes": "Urgent delivery requested",
"machineId": "machine-uuid"
},
{
"servicePartId": "part-uuid-2",
"partNumber": "XYZ-456",