Coperniq · AsyncAPI Specification

Coperniq Webhooks

Version

View Spec View on GitHub CompanyClimateSolarConstructionField Service ManagementProject ManagementContractorsCRMEnergyAsyncAPIWebhooksEvents

AsyncAPI Specification

Raw ↑
generated: '2026-07-18'
method: searched
type: Webhooks
source: https://docs.coperniq.io/coperniq-api/webhooks
spec_type: WebhookCatalog
summary: >-
  Coperniq sends outbound webhooks (POST application/json) to a subscriber URL when events occur,
  powered by its Automation engine. Webhooks are configured in the Coperniq UI (Company Settings ->
  Process Studio -> Automations), not via the API. Endpoints require no authentication and must
  return any 2xx to acknowledge; any other status triggers a retry.
delivery:
  method: POST
  content_type: application/json
  authentication: none
  acknowledgement: return 2xx; non-2xx triggers retry
  retroactive: false
payload:
  top_level_keys:
    - key: event
      when: always
      description: Metadata about what triggered the webhook (eventId, recordId, triggerKey, triggerName, firedAt).
    - key: record
      when: trigger associated with a Project, Request (Opportunity), or Account
      description: The affected record (id, uid, type, title, status, stage, address, geoLocation, dealValue, owner, primary contact, timestamps).
    - key: workOrder
      when: work order triggers only
      description: The work order (id, uid, title, status, priority, assigneeId, isField, start/end dates, completionDate, timestamps).
triggers:
  work_order:
    - key: TASK_CREATED
      description: A work order was created
      extra_fields: [workOrderId, currentStatus, previousStatus]
    - key: TASK_COMPLETED
      description: A work order was completed
      extra_fields: [workOrderId]
    - key: TASK_STATUS_MOVEMENT
      description: A work order moved to a new status
      extra_fields: [workOrderId, currentStatus, previousStatus]
  record:
    - key: PROJECT_CREATED
      description: A project was created
    - key: REQUEST_CREATED
      description: A request (opportunity) was created
    - key: PROJECT_STATUS_MOVEMENT
      description: A project moved to a new status
    - key: DEAL_STATUS_MOVEMENT
      description: A request moved to a new status
    - key: PROJECT_PROPERTY_UPDATED
      description: A project custom property was updated
    - key: DEAL_PROPERTY_UPDATED
      description: A request custom property was updated
    - key: CALL_UPSERTED
      description: A call was logged or updated
  phase:
    - key: PROJECT_PHASE_STARTED
      description: A project entered a new phase
      extra_fields: [phaseInstanceId, phaseTemplateId, phaseType, status]
    - key: PROJECT_PHASE_COMPLETED
      description: A project phase was completed
      extra_fields: [phaseInstanceId, phaseTemplateId, phaseType, status]
    - key: REQUEST_PHASE_STARTED
      description: A request entered a new phase
      extra_fields: [phaseInstanceId, phaseTemplateId, phaseType, status]
    - key: REQUEST_PHASE_COMPLETED
      description: A request phase was completed
      extra_fields: [phaseInstanceId, phaseTemplateId, phaseType, status]
  sla:
    - key: PROJECT_PHASE_SLA_VIOLATION
      description: A project phase exceeded its SLA
      extra_fields: [overdueAt, slaType, phaseTemplateId]
    - key: DEAL_PHASE_SLA_VIOLATION
      description: A request phase exceeded its SLA
      extra_fields: [overdueAt, slaType, phaseTemplateId]
  appointment:
    - key: APPOINTMENT_CREATED
      description: An appointment was scheduled
      extra_fields: [appointmentId, dueDate]
    - key: APPOINTMENT_RESCHEDULED
      description: An appointment was rescheduled
      extra_fields: [appointmentId, dueDate, previousDueDate]
setup_docs: https://support.coperniq.io/articles/7599634208-how-to-setup-outboudn-webhooks-with-coperniq-automations