← All documentation

API & integrations

Pro+

Webhooks

Subscribe to CRM events, verify signatures, and handle retries.

Webhooks POST JSON payloads to your HTTPS endpoints when events occur. Configure them in Settings → Integrations (or Enterprise → Integrations). Pro includes 2 endpoints; Agency and Enterprise are unlimited.

Event types

  • customer.created — When a new customer is added to your CRM.
  • customer.updated — When customer details change.
  • contact_message.created — When a website contact form submission arrives.
  • lead.created — When a new lead arrives from the quote widget or contact form.
  • estimate.created — When a new estimate is created.
  • estimate.accepted — When a customer accepts an estimate via the public link.
  • estimate.declined — When a customer declines an estimate via the public link.
  • estimate.deposit_paid — When a customer pays a deposit after accepting an estimate.
  • job.created — When a new job is scheduled.
  • job.completed — When a job is marked completed.
  • subscriber.created — When a new subscriber completes signup under your reseller account.
  • subscriber.plan_changed — When a subscriber changes plans.
  • subscriber.cancelled — When a subscriber subscription is cancelled or expires.
  • credit.purchased — When a subscriber purchases credits through your Connect account.
  • billing.seat_usage — When active post-trial seat counts change for metering.
  • billing.credit_cogs — When platform COGS is metered to your account for a credit purchase.

Verification

Each endpoint receives a signing secret at creation. Verify the X-SpringOS-Signature header using HMAC-SHA256 before trusting the payload.

Delivery

  • Endpoints must use HTTPS.
  • Failed deliveries are logged in the integrations UI.
  • Use the test button to send a sample payload after setup.
Webhooks | SpringOS | SpringOS