Outbound events
Subscribe any HTTPS endpoint to canonical OpsIQ events, with filters per destination.
Subscribe any URL to any OpsIQ event. HMAC-SHA256 signed, replay-protected, idempotency-keyed and retry-aware. Compose triggers and actions into automation rules without a line of code, or roll your own from the REST API.
A signed integration control-room for the whole loop: outbound deliveries, inbound receipts, and approved backend actions moving through the same audited bus.
Subscribe any HTTPS endpoint to canonical OpsIQ events, with filters per destination.
Receive signed events from Stripe, Calendly, Zapier, Make or your own app.
AI proposes. Humans or rules approve. OpsIQ POSTs to your backend.
invoice.paidyour-crm.com/hook200stripe.payment_intentcontact timelinemappedai.action.approved/api/provisionsignedEvery delivery carries headers receivers can verify with a constant-time compare.
Retries reuse the same key so writes remain exactly-once.
Outbound, inbound and action attempts are written to the delivery log.
A failed delivery climbs an exponential ladder (1m → 5m → 30m → 2h → 12h) so a brief outage on your side never drops an event. Every attempt is written to the delivery log with its HTTP status and latency, and you can replay any delivery by hand once the receiver is healthy again. Every retry carries the same idempotency key, so a re-delivery never double-charges or double-provisions.
X-OpsIQ-Idempotency key, so writes stay exactly-once.Inbound endpoints and action endpoints are different surfaces, so they now look different: one maps outside events onto contacts, the other gates AI actions before your backend is called.
Create a unique URL and signing secret, map the JSON fields, then let OpsIQ attach each accepted event to the matching contact.
$.customer.email
event_type_path $.type
idempotency_key_path $.id
Declare the action contract, scope it, and only POST to your backend after approval.
billing.issue_creditIssue workspace keys for tools and partners without giving every integration full power.
For complex workflows, call the REST API directly with the same scoped model.
Security has its own visual system here: delivery URLs are guarded against SSRF, keys are scoped to one workspace, and cross-tenant requests bounce before any data is read.
OpsIQ blocks private, loopback, link-local and cloud metadata targets at save time and again at send time.
Endpoints, inbound receipts, delivery logs and API keys all carry the workspace stamp that created them.
Signature, workspace scope, permission mode, rate limit and optional IP allowlist are checked before the request reaches business data.
Subscribe any URL to 40+ canonical events, filtered per endpoint, signed with HMAC-SHA256.
A unique URL + secret per source; signature-verified and mapped onto the right contact timeline.
AI proposes, a human or rule approves, OpsIQ POSTs to your backend: scoped, reversible, audited.
Zapier and Make are great for taping apps together, but they sit outside your platform, can't gate AI actions, and meter every run. OpsIQ's events, signatures and actions are native, sharing the same data as your chat, CRM and tickets.
| What you need | Raw Zapier / Make | OpsIQ Webhooks & Actions |
|---|---|---|
| Typed, documented event catalog | Per-app, inconsistent | 40+ canonical OpsIQ events |
| HMAC-SHA256 signed delivery | Rare / DIY per zap | Signed every delivery, secret per endpoint |
| Per-endpoint event filters | One trigger per zap | Wildcard or precise subset, per URL |
| Automatic retries + replay | Limited / paid tier | Backoff to 24h + manual replay |
| Idempotency on retries | You build it | Idempotency-Key on every write |
| Inbound onto the right contact | Lands in a flow, not a CRM | Maps to the contact timeline |
| Gate AI actions before they run | No concept | Propose → approve → signed POST |
| Reversible, audited actions | No | Reversible flag + full audit trail |
| Scoped API keys + rate limits | Account-wide token | All / Read-only / Restricted + CIDR |
| SSRF-hardened delivery | Varies | Private / metadata IPs blocked, re-resolved |
| Per-run metering / task caps | Yes, you pay per task | Native: no per-event toll |
| Same data as chat / CRM / tickets | Copied between apps | One source of truth |
Every capability, grouped. ★ marks a stand-out.
| Feature | What it does |
|---|---|
| Event subscription | |
| Outbound Event Catalog (40+) ★ | Typed canonical events across commerce, billing, support and CRM, with no per-app inconsistency. |
| Wildcard Event Subscription (*) | Subscribe an endpoint to everything with a single *. |
| Per-Endpoint Event Filters ★ | One URL gets billing, another support, so no noise on receivers that don't need it. |
| Security & signing | |
| HMAC-SHA256 Signing ★ | Every payload signed with a per-endpoint secret via X-OpsIQ-Signature. |
| Raw-Body Signature | Signs the bytes, not a re-serialised object, so nothing drifts between sender and receiver. |
| Constant-Time Verification Recipe ★ | hash_equals() guidance so attackers can't time their way to a forged signature. |
| Rotatable Signing Secrets ★ | Regenerate a per-endpoint secret at any time, then update your verifier. |
| X-OpsIQ-Signature Header | HMAC carried on every single delivery for verification. |
| X-OpsIQ-Timestamp Header | Unix epoch on each delivery so receivers can reject stale events. |
| Endpoint SSRF Protection ★ NEW | Blocks private, loopback and cloud-metadata IPs as delivery targets, at save and at send time. |
| Replay Protection with Nonce ★ NEW | Nonce plus a timestamp window deduplicates retries and rejects old deliveries. |
| Reliability & retries | |
| X-OpsIQ-Idempotency Header ★ | Same nonce on every retry so a re-delivery never double-charges. |
| Exponential Backoff Retry Ladder ★ | 1m → 5m → 30m → 2h → 12h: five automatic retries, then manual replay. |
| Delivery Log with Per-Attempt Detail ★ | HTTP status, latency and attempt count, colour-coded green / amber / red. |
| Manual Delivery Replay ★ | One-click replay from the delivery log once a receiver recovers. |
| Per-Endpoint Delivery Rail | The last deliveries shown with status at a glance, per endpoint. |
| Delivery metadata | |
| X-OpsIQ-Event Header | Carries the event type so receivers can route without parsing the body. |
| X-OpsIQ-Delivery Header | A delivery ID for tracking and correlating each attempt. |
| Testing & validation | |
| Test Delivery Before Going Live ★ | Fire a sample payload and inspect the exact JSON, signature and HTTP response. |
| Test Signatures (dry_run) | Returns the signed envelope without posting, so you can verify locally first. |
| Inbound Test Delivery | Confirm a mapping extracts the email and creates the right activity. |
| Endpoint management | |
| Active / Inactive Toggle | Pause an endpoint without deleting it. |
| Deletion with Pending Cancellation | Deleting stops pending retries while keeping the logs. |
| Inbound webhooks | |
| Inbound Endpoints ★ | A unique URL plus secret per source, to paste into Stripe, Calendly or Zapier. |
| Inbound Signature Verification ★ | Verifies X-OpsIQ-Inbound-Signature before anything else happens. |
| JSON Path Mapping ★ | Extract email, event type and value via $.path from any payload shape. |
| Contact Name Extraction NEW | Pull the contact's name with contact_name_path so the timeline reads cleanly. |
| Value Field Extraction NEW | Map a monetary or numeric value with value_path for scoring and reporting. |
| Summary Templates ★ NEW | Build a human summary from summary_path or a ${path} token template. |
| Inbound Preset Mappings ★ | One-click Stripe, Calendly and Zapier mappings prefilled. |
| Inbound Idempotency ★ | event_id dedup means source retries never double-count. |
| Inbound Activity on Contact Timeline ★ | Accepted events become scorable, triggerable activities on the contact. |
| Inbound Receipt Log | ok / error / duplicate / unmapped with the raw payload for debugging. |
| API & access control | |
| API Keys: 3 Permission Modes ★ | All for trusted tools, Read-only for dashboards, or Restricted to block specific actions. |
| API Key Rate Limiting ★ | Calls-per-hour per key with a live usage bar. |
| API Key IP Allowlist (CIDR) ★ | Pin a key to office or data-centre IPs with CIDR ranges. |
| Live Action Catalog (meta.actions) ★ | Discover the full action menu a key can call; no key required to list. |
| Workspace-Locked API Keys ★ NEW | Every key is locked to its creating workspace, so multi-tenant isolation is automatic. |
| API Key Revocation (Instant) ★ | Revoke a leaked key and its calls fail immediately. |
| Automation rules | |
| Workflows with Webhook Step | POST to a URL as one step inside a multi-step automation. |
| Visual Rule Builder ★ | Drag-drop conditions and actions: when X happens, do Y, no code. |
| Action endpoints | |
| Action Contracts ★ | AI proposes, a human approves, then OpsIQ posts, only through the gate. |
| Scoped Action Execution ★ | A scope such as billing:write lets a key refund but never delete. |
| Reversible Actions with Undo ★ | Mark an action reversible and OpsIQ keeps the undo path. |
| Action Audit Trail ★ | Proposal, approval and call all logged for a full compliance trail. |
| Signed Action POST ★ | The same HMAC trust as webhooks on every action call. |
| Multi-tenancy | |
| Endpoint Scope Isolation ★ NEW | scope_kind/scope_key weld every endpoint, key and log row to its workspace. |
Everything teams ask before they wire OpsIQ to the rest of their stack: signing, retries, inbound and actions.
X-OpsIQ-Signature is that hex digest with no prefix. Compare with a constant-time check such as hash_equals(). Sample code is on the developers page and in the signing section above.order.created, payment.completed, invoice.paid, subscription.renewed, ticket.created, crm.deal.won and contact.lifecycle_changed. Each endpoint can subscribe to the wildcard * or a precise subset.crm.contacts.*). Add a per-hour rate limit and an optional IP allowlist. Every key is locked to the workspace it was created in.