SPOTIO · AsyncAPI Specification
Spotio Webhooks
Version
View Spec
View on GitHub
Field SalesSales EngagementTerritory ManagementCRMLead TrackingOutside SalesSales EnablementRoute OptimizationGeospatialWebhookMCPDoor to DoorAsyncAPIWebhooksEvents
AsyncAPI Specification
generated: '2026-08-13'
method: searched
source: https://support.spotio.com/hc/en-us/articles/360057063834-Webhooks
provider: SPOTIO
providerId: spotio
spec_type: none
asyncapi_published: false
asyncapi_note: >-
SPOTIO publishes no AsyncAPI document. Its event surface is described in prose in
the knowledge base and managed through five REST operations in the OpenAPI. This
file captures that webhook catalog verbatim; it is NOT an AsyncAPI document and
nothing has been synthesised into one.
transport: http-webhook
direction: outbound (SPOTIO POSTs to a customer-configured HTTPS endpoint)
management:
spec: openapi/spotio-webhooks-api-openapi.yml
operations:
- GET /api/Webhooks/scopes
- GET /api/Webhooks
- POST /api/Webhooks
- PUT /api/Webhooks/{id}
- DELETE /api/Webhooks/{id}
endpoint_object:
schema: Spotio.Frontend.ViewModel.Webhooks.WebhookEndpointDto
fields: [id, callback, scopes, active, customHeaders]
note: >-
A subscription is created by POSTing a callback URL plus the scopes to
subscribe. GET /api/Webhooks/scopes returns the available scope strings as an
array of strings; the spec declares no enum, so the authoritative scope list is
only readable from a live authenticated call.
delivery:
method: POST
timeout_seconds: 10
retries: up to 3, with increasing intervals
success_condition: the receiving endpoint must respond 200
guidance: SPOTIO advises asynchronous processing on the receiver because of the 10-second timeout
security:
signature_header: X-Signature
algorithm: HMAC-SHA256
encoding: hex
signed_over: the request body
key: your secret
custom_headers: supported per endpoint (customHeaders on the webhook object)
payload:
envelope: '{"payload": [ {"data": {...}, "type": "<event.name>", "date": "<ISO 8601>"} ]}'
batched: true
fields:
date: datetime offset
type: string, the event name
data: object, shape depends on the event
events:
- name: lead.added
entity: lead
- name: lead.updated
entity: lead
- name: lead.deleted
entity: lead
- name: activity.created
entity: activity
- name: activity.updated
entity: activity
- name: activity.deleted
entity: activity
- name: activity.done
entity: activity
- name: appointment.created
entity: appointment
- name: appointment.updated
entity: appointment
- name: appointment.deleted
entity: appointment
event_count: 10
realtime:
ably_mentioned: true
quote: 'You can use HTTP webhooks or Ably realtime events to achieve this functionality.'
source: https://developer.spotio2.com/docs/spotio2/qu2ht3gipl905-introduction
documented: false
note: >-
SPOTIO names Ably as a second event transport in one sentence of the developer
Introduction and then never returns to it. No channel names, no token-request
endpoint, no connection guide and no schema were found anywhere on the developer
portal or knowledge base, so nothing about the Ably surface is modelled here.
gaps:
- No AsyncAPI document, so the event surface is not machine-readable.
- The webhook scope vocabulary is only obtainable from an authenticated live call.
- Event payload schemas are described as "depends on the event" and are not published per event.
- No published event versioning or replay/redelivery mechanism.
x-evidence:
- url: https://support.spotio.com/hc/en-us/articles/360057063834-Webhooks
http_status: 200
fetched: '2026-08-13'
- source: openapi/_original/spotio-swagger.json
finding: tag `Webhooks`, 5 management operations