appointment.created and appointment.updated also fire as Operation
Events when triggered by an action
Cobalt performed. The event types are the same; the trigger differs.Payload Envelope
Every sync event uses this envelope:This envelope (with
object: "event" and created) applies to sync, operation, and on-demand live-fetch events (appointment.live_fetch_completed, availability.live_fetch_completed, patient.live_fetch_completed) alike. Live-fetch events carry action: "sync" and additionally include a timestamp field, a legacy alias of created retained for backward compatibility; prefer created. See Receiving Webhooks for details.Appointment Events
appointment.created
appointment.created
Triggered when EHR staff create an appointment in your EHR (detected by Cobalt’s sync).Payload Example:Data Fields:The full appointment record is included (same shape as
appointment.updated, without updated_fields). Key fields:appointment.updated
appointment.updated
Triggered when EHR staff update an appointment in your EHR (detected by Cobalt’s sync).Payload Example:Data Fields:
appointment.status_updated
appointment.status_updated
Triggered when an appointment’s status changes in your EHR system.Payload Example:Data Fields:
Patient Events
Sync patient events carry the full patient object in
data (not a subset), so
you can update your own system without a follow-up GET /v1/patients. patient.updated
additionally includes a changes map describing what changed. Note that sync events use
changes ({ old, new } per field), whereas the Operation patient.updated event uses
an updated_fields array of field names.patient.created
patient.created
Triggered when EHR staff create a new patient in your EHR (detected by Cobalt’s sync).Payload Example:Data Fields:The full patient object. Key identifiers:
patient.updated
patient.updated
Triggered when EHR staff update patient information in your EHR (detected by Cobalt’s sync).Payload Example:Data Fields:The full patient object (same shape as
patient.created) plus:Fields that can appear in
changes: first_name, last_name, middle_name, address_street, address_line2, address_city, address_state, address_zip, phone, cell_phone, home_phone, work_phone, email, dob, sex, status, insurance_name, insurance_subscriber_number, referred_to_provider_id, pcp_first_name, pcp_last_name, medications, problems, vitals.Insurance changes made directly in the EHR do not currently emit a sync event.
Insurance is synced into the patient record, but only Cobalt-initiated add/update
calls fire
patient.insurance.added / patient.insurance.updated (see Operation
Events).Claim Events
claim.created
claim.created
Triggered when a new claim is detected in your EHR (detected by Cobalt’s sync).Payload Example:Data Fields:
claim.updated
claim.updated
Triggered when a synced claim changes in your EHR. Only fires when a header field actually changed (for example a status, payment, or balance update), so unchanged claims re-seen during a sync do not emit an event.Payload Example:Data Fields:The full claim object (same fields as
claim.created) plus: