๐Ÿช Webhooks & automation

Trigger anything, anywhere.

Subscribe any URL to any OpsIQ event. HMAC-SHA256 signed, replay-protected, idempotency-keyed, retry-aware. Compose triggers and actions into automation rules without writing a line of code, or roll your own from the API.

40+universal events
HMAC-SHA256signed every delivery
Auto-retryexponential backoff
Idempotencykeys on every write
What it does

Triggers, actions, automations โ€” without the spaghetti.

Universal events. Signed delivery. A visual rule builder for the non-developers on your team.

๐Ÿ”” Subscribe to events

Any URL. Any event. Verified.

invoice.paid, ticket.created, customer.signed_up, license.expired, chat.human_requested โ€” and any custom event you fire from your own platform. POST to any URL, signed with HMAC-SHA256.

POST https://your-crm.com/opsiq
X-OpsIQ-Signature: sha256=...
X-OpsIQ-Event: invoice.paid
X-OpsIQ-Idempotency: 7c9f...
๐ŸŽฏ Action contracts

Inbound calls into your backend.

Define what AI can run on your system. Signed, scoped, role-checked.

๐Ÿ› ๏ธ Visual rule builder

When X happens, do Y.

Drag-drop conditions and outputs. No code. Conditions on customer tier, priority, keyword.

๐Ÿ”„ Auto-retry

Endpoints come back online.

Exponential backoff up to 24 hours. Failed deliveries alerted.

๐Ÿ“‹ Delivery log

Every payload. Every response.

Inspect, replay, debug. Retention 30 days.

๐Ÿงช Test mode

Send sample payloads before going live.

Preview the exact JSON the endpoint will receive. Test signatures verify.

Replay protection

Hardened against replay and timing attacks.

Every webhook carries an X-OpsIQ-Timestamp and a unique nonce. Endpoints verify the timestamp is within 5 minutes of "now" and reject duplicate nonces. The signature covers the raw body, the timestamp, and the path so substitution attacks fail.

Timestamp windowNonce dedupPath-bound signatureConstant-time compare
AlgoHMAC-SHA256 over raw body
HeaderX-OpsIQ-Signature: sha256=...
Window5 minutes
Replay protectionnonce table
Latency< 50ms verify in PHP
Idempotency

A retry never duplicates.

Every write API call carries an Idempotency-Key. If we retry on a transient failure, your endpoint sees the same key and returns the same result without doing the work twice. Critical for payment, billing and provisioning workflows.

Idempotency-Key24h retentionExact-once semanticsNative to API
HeaderIdempotency-Key: ...
Retention24 hours
Behaviouridentical response on retry
Use casespayments, provisioning, refunds
Common questions

Everything teams ask before they sign up.

How do I verify a webhook signature?

Compute HMAC-SHA256 over the raw request body using your shared secret, prefix with sha256=, compare with X-OpsIQ-Signature using a constant-time compare. Sample code on the developers page.

What happens if my endpoint goes down?

We retry with exponential backoff for up to 24 hours. After that you can replay manually from the delivery log.

Are webhook secrets rotatable?

Yes. Each endpoint has its own secret you can rotate without downtime โ€” both old and new signatures are accepted during a 24-hour overlap window.

Can I run automations without writing code?

Yes โ€” the visual rule builder ("when X happens, do Y") covers most workflows. Code-only paths are available for complex cases.

Webhooks &amp; automation

Connect OpsIQ to anything that listens.

First webhook delivered in under 10 minutes from sign-up.