KIPU CRM SUPPORT GUIDE
Setting UpWebhooks
Webhooks stream real-time data out of Kipu CRM the moment a record changes. This guide walks your team through creating, configuring, and managing webhooks — and shows exactly what shows up in the payload when it fires.
Before You Start
Webhook setup is managed in Kipu CRM at kipucrm.com/#!/main/webhook. You'll need a receiving endpoint (a URL that can accept an HTTP POST) ready before you save a new webhook.
What Is a Webhook?
A webhook is Kipu CRM's way of pushing information to another system in real time, instead of that system having to ask for it. Once a webhook is active, any time something changes on the entity it's watching — a new patient is created, a referral is updated, a task is completed — Kipu CRM automatically sends a payload to your URL containing the full, current record.
That payload includes every field on the record, not just what changed — so the receiving system always has the complete, up-to-date picture.
Available Webhook Types
Kipu CRM supports four webhook types. Each one watches a different entity.
| Webhook Type | Fires When… | Typical Use Case |
|---|---|---|
| Patient | A patient record is created or updated | Sync patient status, demographics, or admission changes to an EMR, data warehouse, or BI tool |
| Campaigns and Marketing | A marketing campaign or event record changes | Feed campaign performance into marketing automation or reporting tools |
| Referral Source | A referral source record is created or updated | Keep referral partner data in sync with an external CRM or directory |
| Tasks | A task is created, updated, or completed | Trigger notifications or update project tracking tools outside Kipu |
Creating a New Webhook
- To open a webhook select Admin > Integrations > Webhook.
- Click New Webhook in the top right corner.
- Enter a Webhook Name — something clear enough for your team to recognize later, like "EMR Patient Sync."
- Select a Webhook Type from the dropdown: Patient, Campaigns and Marketing, Referral Source, or Tasks.
- Leave Access Type set to Public. This is required for the webhook to fire correctly.
- Enter the full destination URL in the URL field — this is the endpoint that will receive the payload.
- Set Active to Yes so the webhook starts firing immediately, or No to save it without activating it yet.
- Click Save.
Your new webhook now appears in the Webhooks list, along with its type, access level, URL, and active status.
Field Reference
| Field | Required | Description |
|---|---|---|
| Webhook Name | Yes | Internal label for the webhook. Not sent in the payload — just for identifying it in this list. |
| Webhook Type | Yes | The entity this webhook listens to: Patient, Campaigns and Marketing, Referral Source, or Tasks. |
| Access Type | Yes | Always set to Public. |
| URL | Yes | The destination endpoint. Must be a valid, reachable URL that accepts POST requests. |
| Active | Yes | Yes fires the webhook on every qualifying change. No saves the configuration without sending payloads. |
Understanding the Payload
Every time a watched record changes, Kipu CRM sends an HTTP POST to the webhook's URL with a JSON payload containing the entity's complete, current data — including nested details like facility information, communication logs, and related records.
Below is an abbreviated sample of a Patient webhook payload, showing the shape of the data your endpoint will receive:
{ "Id": 98704, "FirstName": "Jordan", "LastName": "Ramirez", "FullName": "Jordan Ramirez", "Gender": "Female", "DateOfBirth": "1994-03-12T00:00:00", "Email": "jordan.ramirez@example.com", "PatientStatus": 2, "PatientStatusValue": "Active", "AdmissionDate": "2026-07-10T00:00:00", "DischargeDate": null, "FacilityId": 482, "Facility": { "Id": 482, "Name": "Kipu Recovery Center - Austin", "LegalName": "Kipu Recovery Center LLC", "Url": "https://austin.kipurecovery.com" }, "CreatedDate": "2026-07-10T08:15:00", "CreatedBy": { "User": { "DisplayName": "Alicia Chen", "Email": "alicia.chen@kipurecovery.com" } }, "LastUpdated": "2026-07-17T14:32:11", "PatientPreAdmissions": [ { "Id": 1654322, "ProspectStatus": "Admitted", "ProjectedAdmissionDate": "2026-07-10T00:00:00", "MedicalRecordNumber": "MRN-100293", "BedName": "204-B" } ], "PatientCommunicationLogs": [ { "Id": 3412893, "LogDate": "2026-07-16T09:05:00", "CommunicationType": "Phone Call", "Notes": "Confirmed transportation for admission." } ] // ...full payload includes the complete Patient record: demographics, // insurance, assessments, referral source detail, and facility contacts. }
The full Patient payload includes many more fields — demographics, insurance, assessments, pre-admission details, and facility contact information among them. Coordinate with your integration team to confirm which fields they need to map.
Managing Existing Webhooks
-
Edit a webhook: Click the row for any existing webhook to expand its fields inline, make changes, and click Save.
-
Turn a webhook on or off: Toggle Active to Yes or No and save — no need to delete and recreate it.
Best Practices & Troubleshooting
- Confirm your receiving endpoint is live and reachable before setting a webhook to Active — Kipu CRM does not retry indefinitely on a failing URL.
- Use a descriptive Webhook Name for every webhook you create — teams often end up managing several at once.
- Since payloads contain full patient and referral data, make sure the receiving system meets your organization's data-handling and security requirements.
Need Help?
If a webhook isn't firing as expected after checking the Logs tab, contact Kipu CRM Support with the Webhook Name, Type, and the approximate time of the missed delivery.