TotalApp Docs

Webhooks

Receive real-time HTTP callbacks when events happen in TotalApp — orders, task updates, employee changes and more.

What Are Webhooks?

Webhooks let external systems subscribe to events in TotalApp. When an event occurs (e.g. a new order arrives from Shopify, a task is completed, an employee record is updated), TotalApp sends an HTTP POST request to your configured endpoint URL.

Event fires in TotalApp
→
TotalApp POSTs payload
→
Your endpoint receives it
→
Your system acts

Screen preview

A quick look at the screens. Use the toggle in the corner of each preview to switch between the dark and light themes.

app.totalapp.app/settings/webhooks
Webhook Builder
1
Trigger Event
order.created · Shopify
↓
2
Filter Condition
total_price > 100
↓
3
Transform Payload
Map fields to target schema
↓
4
Deliver to Endpoint
https://api.myapp.com/hook
Last delivery: 200 OK · 48ms

Event-driven webhooks

Supported Webhook Events

TopicTrigger
order.createdNew order received (Shopify / WooCommerce)
order.updatedOrder status changed
product.updatedProduct stock or price updated
task.completedA PM task marked as done
employee.createdNew employee record added in HR
employee.updatedEmployee profile updated

Configuring a Webhook

Go to Settings → API & Integrations → Webhooks and click Add Webhook. Fill in:

  • Delivery URL: Your publicly accessible HTTPS endpoint
  • Topic(s): The events to subscribe to
  • Secret: Optional HMAC secret for payload verification

HTTPS Required

TotalApp only delivers webhooks to HTTPS endpoints. HTTP URLs are rejected. For local development use a tunnel tool such as ngrok.

Payload Format

Every webhook delivery is an HTTP POST with Content-Type: application/json. The body contains the event topic and the relevant resource data:

Example Payload

{ "topic": "order.created", "payload": { "id": "ord_123", "total": 149.99, "status": "pending" }, "ts": 1720000000000 }

Retry Policy

If your endpoint returns a non-2xx response or times out (30 s), TotalApp retries the delivery:

AttemptDelay
1st retry5 minutes
2nd retry30 minutes
3rd retry2 hours
Final failureDelivery marked failed — visible in Webhook Logs

Frequently Asked Questions

How do I verify a webhook is from TotalApp?
If you set a secret when creating the webhook, TotalApp signs each delivery with an HMAC-SHA256 signature and includes it in the X-TotalApp-Signature header. Compute the HMAC of the raw body with your secret and compare.
Where can I see delivery logs?
Go to Settings → API & Integrations → Webhooks and click a webhook to view its delivery history, including status codes, response bodies and retry attempts.
What happens if my endpoint is down when a webhook fires?
TotalApp retries failed deliveries automatically on a backoff schedule (see the retry table above). If all retries fail, the delivery is marked failed and appears in Webhook Logs — it is not silently dropped, but it is also not retried indefinitely.
Can I subscribe to multiple event types with one webhook?
Yes. When creating a webhook, select as many event types as you need — every matching event is delivered to the same endpoint URL with a topic field in the payload identifying which event fired.