Close · AsyncAPI Specification

Close Webhooks

Version

View Spec View on GitHub CRMSales EngagementInside SalesCallingSMSWhatsAppSales AutomationPipeline ManagementAI AgentsMCPWebhookSoftware-as-a-ServiceAsyncAPIWebhooksEvents

AsyncAPI Specification

Raw ↑
generated: '2026-08-13'
method: searched
source: https://developer.close.com/api/resources/webhooks
spec_type: none
asyncapi_published: false
asyncapi_note: >-
  Close publishes no AsyncAPI document. Probed /asyncapi.yaml and /asyncapi.json
  on api.close.com and developer.close.com, and searched the github.com/closeio
  org and the docs index — nothing. The event surface below is transcribed from
  Close's own webhook and event-log reference; it is a webhook catalog, not a
  fabricated AsyncAPI.
description: >-
  Close's event surface is a webhook subscription system layered on a queryable
  30-day event log. Every webhook delivery is a POST of one event-log entry.
  Subscriptions filter on object type + action, and optionally on a JSON filter
  expression.
docs:
  webhooks: https://developer.close.com/api/resources/webhooks
  filters: https://developer.close.com/api/resources/webhooks/webhook-filters
  event_log: https://developer.close.com/api/resources/events
  event_types: https://developer.close.com/api/resources/events/list-of-event-types
transport:
  protocol: https
  method: POST
  direction: outbound
  content_type: application/json
  ssl_verification:
    default: true
    overridable: true
    field: verify_ssl
security:
  signing:
    algorithm: HMAC-SHA256
    headers: [close-sig-hash, close-sig-timestamp]
    signed_material: close-sig-timestamp concatenated with the raw payload
    key_delivery: >-
      The signature_key is returned in the POST response when the subscription
      is created — it is shown once, at creation.
    verification_example_published: true
delivery:
  retry: exponential backoff up to every 20 minutes
  retry_window_hours: 72
  ordering_guaranteed: false
  ordering_note: >-
    Explicitly not guaranteed, because of event consolidation, delivery
    parallelism and retries. Consumers must dedupe and order on the event id and
    date_created themselves.
  auto_pause_conditions:
    - Queue reaches 100,000 backlogged events (admin warning emails at 80,000).
    - All delivery fails for 3 consecutive days.
  resume: Paused subscriptions must be reactivated manually via the API.
  replay: >-
    No replay endpoint. Missed events are recovered by querying the event log,
    which retains 30 days.
  guidance: Queue deliveries locally and process asynchronously so the queue never backs up.
limits:
  subscriptions_per_organization: 40
  elevated_limit: 500
  elevated_platforms: [Zapier, Backendless, Integrately, 'Customer.io Journeys Track API']
payload:
  envelope_fields: [event, subscription_id]
  event_fields:
    - id
    - object_type
    - object_id
    - action
    - date_created
    - date_updated
    - organization_id
    - user_id
    - lead_id
    - data
    - previous_data
    - changed_fields
    - meta
    - request_id
  note: >-
    previous_data plus changed_fields make Close webhooks a true change-data
    feed, not just a notification — a consumer can diff without re-reading.
actions:
  - created
  - updated
  - deleted
  - merged
  - completed
  - sent
  - answered
  - scheduled
  - canceled
  - started
  - paused
  - activated
  - deactivated
  - reverting
  - reverted
object_types:
  - {type: lead, label: Lead}
  - {type: contact, label: Contact}
  - {type: opportunity, label: Opportunity}
  - {type: activity.email, label: Email}
  - {type: activity.email_thread, label: Email thread}
  - {type: activity.call, label: Call}
  - {type: activity.sms, label: SMS}
  - {type: activity.whatsapp_message, label: WhatsApp Message}
  - {type: activity.note, label: Note}
  - {type: activity.meeting, label: Meeting}
  - {type: activity.form_submission, label: Form Submission}
  - {type: activity.custom_activity, label: Custom Activity}
  - {type: activity.lead_status_change, label: Lead status change}
  - {type: activity.opportunity_status_change, label: Opportunity status change}
  - {type: activity.task_completed, label: Task completed}
  - {type: activity.lead_merge, label: LeadMerge}
  - {type: 'task.SUBTYPE', label: Tasks, note: 'subtyped, e.g. task.lead, task.outbound_call'}
  - {type: unsubscribed_email, label: Unsubscribed Email}
  - {type: import, label: Import}
  - {type: custom_fields.lead, label: Lead Custom fields}
  - {type: custom_fields.contact, label: Contact Custom fields}
  - {type: custom_fields.opportunity, label: Opportunity Custom fields}
  - {type: custom_fields.activity, label: Activity Custom fields}
  - {type: custom_fields.custom_object, label: Custom Object Custom fields}
  - {type: custom_fields.shared, label: Shared Custom fields}
  - {type: custom_activity_type, label: Custom Activity Type}
  - {type: custom_object_type, label: Custom Object Type}
  - {type: custom_object, label: Custom Object}
  - {type: membership, label: Membership}
  - {type: group, label: Group}
  - {type: saved_search, label: Saved search}
  - {type: phone_number, label: Phone Number}
  - {type: email_template, label: Email template}
  - {type: sms_template, label: SMS template}
  - {type: sequence, label: Sequence}
  - {type: sequence_subscription, label: Sequence Subscription}
  - {type: comment, label: Comment}
  - {type: comment_thread, label: Comment thread}
object_type_count: 38
management_api:
  base: https://api.close.com/api/v1/webhook/
  operations:
    - webhooks_list
    - webhooks_create
    - webhooks_get
    - webhooks_update
    - webhooks_delete
  spec: openapi/_original/close-api-openapi.json
  permissions: >-
    Admins manage subscriptions org-wide; non-admins can only modify their own.
    Full event data is delivered regardless of the subscriber's role.
event_log:
  operations: [events_list, events_get]
  retention_days: 30
  pagination: cursor (_cursor + _limit)
gaps:
  - No AsyncAPI or CloudEvents document — the event catalog exists only as prose.
  - 'No per-event payload schemas in the OpenAPI: the top-level webhooks object is empty in the spec.'
  - No delivery replay endpoint; recovery depends on the 30-day event log.