> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stackone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Eka Care Webhook Setup Guide

> Configure Eka Care to deliver events to StackOne.

## Prerequisites

The connector should already be set up, with a Connector Profile and a Linked Account. See [Getting Started](/connectors/ekacare#getting-started) on the Eka Care connector page.

<section data-guide-section data-guide-scopes="">
  <h2>Automatic subscription</h2>

  <p>StackOne creates and manages the Eka Care webhook subscription automatically when the account is connected, and deletes it when the account is disconnected. There is nothing to configure in Eka Care.</p>

  <ul>
    <li>The subscription is registered for exactly the events you enable in StackOne and is re-created when the selection changes.</li>
    <li>Eka Care delivers every event in the workspace to every subscription in it, so each connected account receives all events for its workspace, whichever API client made the change.</li>
  </ul>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Available webhook events</h2>

  <p>The following Eka Care events can be enabled. Only events selected in StackOne are included in the subscription; Eka Care does not deliver events that are not subscribed.</p>

  <Steps>
    <Step title="Appointment events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Events related to appointments, reminders and video consultations.</p>

        <ul>
          <li><strong>Appointment Created</strong> (`appointment.created`) — Fired when an appointment is booked</li>
          <li><strong>Appointment Updated</strong> (`appointment.updated`) — Fired when an appointment is modified</li>
          <li><strong>Appointment Status Changed</strong> (`appointment.statuschange`) — Fired when an appointment's status changes</li>
          <li><strong>Appointment Assessment Taken</strong> (`appointment.assessments.taken`) — Fired when an assessment is recorded on an appointment</li>
          <li><strong>Doctor Joined Video Call</strong> (`appointment.tele.dr_joined`) — Fired when the doctor joins a video consultation</li>
          <li><strong>Appointment Reminder</strong> (`appointment.reminder_instant`) — Fired when an instant appointment reminder is sent</li>
          <li><strong>Follow-up Reminder</strong> (`appointment.followup_reminder_instant`) — Fired when an instant follow-up reminder is sent</li>
          <li><strong>Vaccination Reminder</strong> (`vaccination.reminder`) — Fired when a vaccination reminder is due for a patient</li>
        </ul>
      </div>
    </Step>

    <Step title="Prescription events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Events related to prescriptions.</p>

        <ul>
          <li><strong>Prescription Created</strong> (`prescription.created`) — Fired when a prescription is created</li>
          <li><strong>Prescription Updated</strong> (`prescription.updated`) — Fired when a prescription is updated</li>
          <li><strong>Prescription Shared</strong> (`prescription.communication`) — Fired when a prescription is shared with the patient</li>
        </ul>
      </div>
    </Step>

    <Step title="Doctor events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Events related to doctor availability, Google review requests and consent forms.</p>

        <ul>
          <li><strong>Doctor Started Practice</strong> (`schedule.start_practice`) — Fired when a doctor starts practice</li>
          <li><strong>Doctor Stopped Practice</strong> (`schedule.stop_practice`) — Fired when a doctor stops practice</li>
          <li><strong>Doctor Available for Consultation</strong> (`schedule.available_for_consultation`) — Fired when a doctor becomes available for consultation</li>
          <li><strong>Google Review Requested</strong> (`google_review.request`) — Fired when an automatic Google review request is sent to a patient</li>
          <li><strong>Google Review Requested Manually</strong> (`google_review.request_manual`) — Fired when a doctor manually sends a Google review request</li>
          <li><strong>Consent Form Created</strong> (`mcert.created`) — Fired when a consent form or medical certificate is created</li>
          <li><strong>Consent Form Updated</strong> (`mcert.updated`) — Fired when a consent form or medical certificate is updated</li>
        </ul>
      </div>
    </Step>

    <Step title="Receipt events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Events related to receipts and payment links.</p>

        <ul>
          <li><strong>Receipt Created</strong> (`receipt.created`) — Fired when a receipt is created</li>
          <li><strong>Receipt Updated</strong> (`receipt.updated`) — Fired when a receipt is updated</li>
          <li><strong>Receipt Deleted</strong> (`receipt.deleted`) — Fired when a receipt is deleted</li>
          <li><strong>Payment Link Requested</strong> (`receipt_payment.requested`) — Fired when a payment link is requested for an appointment</li>
        </ul>
      </div>
    </Step>

    <Step title="IPD admission events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Events related to inpatient (IPD) admissions, their events, discharge clearances and estimates.</p>

        <ul>
          <li><strong>IPD Admission Created</strong> (`ipd_admissions.created`) — Fired when an IPD admission is created</li>
          <li><strong>IPD Admission Updated</strong> (`ipd_admissions.updated`) — Fired when an IPD admission is updated</li>
          <li><strong>IPD Admission Event Recorded</strong> (`ipd_admissions_events.created`) — Fired when an event is recorded on an IPD admission</li>
          <li><strong>IPD Admission Event Updated</strong> (`ipd_admissions_events.updated`) — Fired when an IPD admission event is updated</li>
          <li><strong>IPD Discharge Clearance Created</strong> (`ipd_admissions_clearances.created`) — Fired when a discharge clearance is created on an IPD admission</li>
          <li><strong>IPD Discharge Clearance Updated</strong> (`ipd_admissions_clearances.updated`) — Fired when a discharge clearance is updated</li>
          <li><strong>IPD Admission Estimate Created</strong> (`ipd_admissions_estimates.created`) — Fired when a cost estimate is added to an IPD admission</li>
          <li><strong>IPD Admission Estimate Updated</strong> (`ipd_admissions_estimates.updated`) — Fired when an IPD admission estimate is updated</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Delivery format</h2>

  <p>Details of how Eka Care delivers events to StackOne.</p>

  <Steps>
    <Step title="JSON payloads">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Eka Care sends one event per HTTP POST, with a JSON body containing `event` (for example `appointment.created`), `event_time` (epoch seconds), `transaction_id`, `business_id`, `client_id` and the resource under `data`.</p>
      </div>
    </Step>

    <Step title="Several events per change">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>A single change can produce more than one event. For example, booking an appointment sends `appointment.created`, `appointment.updated` and `appointment.statuschange` together, with the same `transaction_id` and `event_time`. All three are delivered, with the same event ID and a different event type. The event ID is the record ID (for example the appointment ID), so it can be used to fetch the record. Events whose record Eka cannot return through its API (receipts, certificates, IPD admission events, estimates and clearances) use UNKNOWN.</p>
      </div>
    </Step>
  </Steps>
</section>

## Verify

Your Connector should now be able to receive and process events. Try triggering an event and you should see an Event appear in the Connector logs.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.