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

# Domain events

> The catalog of events HomecareHQ emits and the naming contract they follow.

HomecareHQ emits **domain events** as meaningful things happen in an organization — a document
is uploaded, a connection syncs, an applicant's status changes. These events drive HomecareHQ's
own durable workflows today and are the foundation for outbound **webhooks**.

<Note>
  These events currently power internal processing. **Outbound webhook subscriptions** (so your
  systems can react to them) are on the roadmap; this page documents the stable event catalog and
  its naming contract so integrations can plan against it.
</Note>

## Naming contract

Every event name is `noun.verb_past_tense` — a domain noun, a dot, and a past-tense verb (for
example, `source_document.uploaded`). Names are a stable contract: existing names are not renamed.

## Event catalog

### Documents & knowledge

| Event                       | Emitted when                                      |
| --------------------------- | ------------------------------------------------- |
| `source_document.uploaded`  | A source document is uploaded and stored          |
| `source_document.extracted` | Structured data is extracted from a document      |
| `source_document.reviewed`  | A document's extraction is reviewed               |
| `agency_profile.enriched`   | An agency profile is enriched from public sources |

### Organization & team

| Event                  | Emitted when                                    |
| ---------------------- | ----------------------------------------------- |
| `organization.created` | A new organization is created during onboarding |
| `membership.invited`   | A team member is invited                        |
| `membership.accepted`  | An invited member accepts and joins             |

### Approvals

| Event                       | Emitted when                   |
| --------------------------- | ------------------------------ |
| `approval_request.approved` | A pending approval is approved |
| `approval_request.rejected` | A pending approval is rejected |

### Connected data

| Event                                  | Emitted when                                          |
| -------------------------------------- | ----------------------------------------------------- |
| `organization_connection.connected`    | A business system is connected                        |
| `organization_connection.synced`       | A connection finishes syncing data                    |
| `organization_connection.disconnected` | A connection is removed                               |
| `saved_view.created`                   | A chart is saved to a dashboard                       |
| `provider_action.proposed`             | A write-back action to a connected system is proposed |
| `provider_action.executed`             | A proposed action is executed                         |
| `applicant.status_changed`             | An applicant's status changes in the ATS              |

### Intelligence

| Event            | Emitted when                   |
| ---------------- | ------------------------------ |
| `signal.created` | A Signals insight is generated |

<Info>
  Want to consume these events when webhooks ship? Let the HomecareHQ team know which events
  matter to your integration so we can prioritize them.
</Info>
