{"id":1253,"date":"2026-01-09T08:17:54","date_gmt":"2026-01-09T08:17:54","guid":{"rendered":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/?p=1253"},"modified":"2026-01-09T12:43:03","modified_gmt":"2026-01-09T12:43:03","slug":"what-is-kivicare-webhook-addon","status":"publish","type":"post","link":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/kivicare-webhook\/documentation\/getting-started-webhook-documentation\/what-is-kivicare-webhook-addon\/","title":{"rendered":"What is KiviCare Webhook Addon?"},"content":{"rendered":"<div class=\"nolwrap\">\n<h2 class=\"wp-block-heading\" id=\"0-overview\">Overview<\/h2>\n\n\n\n<p>The <strong>KiviCare Webhook Addon<\/strong> is a powerful integration tool that enables real-time communication between your KiviCare clinic management system and external applications. When events occur in KiviCare (like appointment bookings, patient registrations, or payments), webhooks automatically send data to your configured endpoints.<\/p>\n\n\n\n<p>![Screenshot: Webhook Addon Dashboard]()<\/p>\n\n\n\n<p><em>Screenshot placeholder: Main webhook dashboard showing statistics and active webhooks<\/em><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n    <blockquote class=\"docsy-quote-block quote-style-bordered\">\n                \n        <div class=\"quote-content\">\n            <p class=\"quote-text\">What is a Webhook?<\/p>\n            \n                            <footer class=\"quote-author\">\n                    <cite>A webhook is an <strong>automated HTTP callback<\/strong> triggered by specific events. Instead of your external application constantly checking KiviCare for changes (polling), KiviCare proactively sends data when something happens.<\/cite>\n                <\/footer>\n                    <\/div>\n    <\/blockquote>\n    \n\n\n<h3 class=\"wp-block-heading\" id=\"2-real-world-analogy\">Real-World Analogy<\/h3>\n\n\n\n<p>Think of webhooks like a <strong>doorbell notification system<\/strong>:<\/p>\n\n\n\n<p><strong>Without Webhooks (Polling):<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You constantly check if someone is at your door<\/li>\n\n\n\n<li>Wastes time and energy<\/li>\n\n\n\n<li>Delayed response<\/li>\n<\/ul>\n\n\n\n<p><strong>With Webhooks:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Doorbell rings when someone arrives<\/li>\n\n\n\n<li>Instant notification<\/li>\n\n\n\n<li>Immediate response<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"3-how-it-works\">How It Works<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502         KiviCare System                         \u2502\n\u2502                                                 \u2502\n\u2502  1. Event Occurs                                \u2502\n\u2502     (e.g., Appointment Booked)                  \u2502\n\u2502                                                 \u2502\n\u2502  2. Webhook Addon Detects Event                 \u2502\n\u2502                                                 \u2502\n\u2502  3. Builds Payload with Event Data              \u2502\n\u2502                                                 \u2502\n\u2502  4. Sends HTTP Request to Your Endpoint         \u2502\n\u2502                                                 \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                  \u2502\n                  \u2502 HTTP POST\/PUT\/PATCH\n                  \u2502\n                  \u25bc\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502         Your External Application               \u2502\n\u2502                                                 \u2502\n\u2502  \u2022 CRM (Salesforce, HubSpot)                    \u2502\n\u2502  \u2022 Communication (Slack, Teams)                 \u2502\n\u2502  \u2022 Email Service (SendGrid)                     \u2502\n\u2502  \u2022 Custom Application                           \u2502\n\u2502  \u2022 Analytics Platform                           \u2502\n\u2502                                                 \u2502\n\u2502  5. Receives Data Instantly                     \u2502\n\u2502                                                 \u2502\n\u2502  6. Processes &amp; Takes Action                    \u2502\n\u2502                                                 \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"4-key-features\">Key Features<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"5-event-driven\">\ud83c\udfaf Event-Driven<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>30+ Events<\/strong> across all KiviCare modules<\/li>\n\n\n\n<li><strong>Real-time triggers<\/strong> &#8211; instant notifications<\/li>\n\n\n\n<li><strong>Selective monitoring<\/strong> &#8211; choose specific events<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"6-flexible-configuration\">\ud83d\udd27 Flexible Configuration<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Multiple HTTP methods<\/strong> (POST, PUT, PATCH, GET, DELETE)<\/li>\n\n\n\n<li><strong>Dynamic variables<\/strong> &#8211; customize payloads<\/li>\n\n\n\n<li><strong>Custom headers<\/strong> &#8211; full request control<\/li>\n\n\n\n<li><strong>Query parameters<\/strong> &#8211; URL customization<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"7-secure\">\ud83d\udd10 Secure<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>4 authentication methods<\/strong> (API Key, Bearer Token, Basic Auth, OAuth2)<\/li>\n\n\n\n<li><strong>Encrypted storage<\/strong> &#8211; credentials protected<\/li>\n\n\n\n<li><strong>HTTPS support<\/strong> &#8211; secure transmission<\/li>\n\n\n\n<li><strong>Access control<\/strong> &#8211; admin-only management<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"8-monitoring\">\ud83d\udcca Monitoring<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Execution logs<\/strong> &#8211; complete history<\/li>\n\n\n\n<li><strong>Success\/failure tracking<\/strong> &#8211; reliability monitoring<\/li>\n\n\n\n<li><strong>Performance metrics<\/strong> &#8211; execution time tracking<\/li>\n\n\n\n<li><strong>Statistics dashboard<\/strong> &#8211; at-a-glance overview<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"9-testing\">\ud83e\uddea Testing<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Manual testing<\/strong> &#8211; test before deploying<\/li>\n\n\n\n<li><strong>Custom payloads<\/strong> &#8211; simulate scenarios<\/li>\n\n\n\n<li><strong>Detailed results<\/strong> &#8211; view responses and errors<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"10-what-can-you-do-with-it\">What Can You Do With It?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"11-communication-amp-notifications\">Communication &amp; Notifications<\/h3>\n\n\n\n<p>\u2705 Send appointment confirmations via email (SendGrid, Mailgun)<br>\u2705 Notify staff in Slack\/Teams when patients book<br>\u2705 Send SMS reminders via Twilio<br>\u2705 Post updates to Discord channels<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"12-crm-integration\">CRM Integration<\/h3>\n\n\n\n<p>\u2705 Auto-create contacts in HubSpot\/Salesforce<br>\u2705 Sync patient data with your CRM<br>\u2705 Track appointment history<br>\u2705 Update lead status automatically<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"13-analytics-amp-reporting\">Analytics &amp; Reporting<\/h3>\n\n\n\n<p>\u2705 Send events to Google Analytics<br>\u2705 Track metrics in Mixpanel<br>\u2705 Update custom dashboards<br>\u2705 Generate automated reports<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"14-automation\">Automation<\/h3>\n\n\n\n<p>\u2705 Trigger Zapier workflows<br>\u2705 Start Make (Integromat) scenarios<br>\u2705 Connect to n8n automations<br>\u2705 Integrate with custom applications<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"15-business-operations\">Business Operations<\/h3>\n\n\n\n<p>\u2705 Sync with accounting software<br>\u2705 Update inventory systems<br>\u2705 Trigger billing processes<br>\u2705 Manage multi-location data<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"16-why-use-webhooks\">Why Use Webhooks?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"17-benefits\">Benefits<\/h3>\n\n\n\n<p><strong>\u26a1 Real-Time<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Instant notifications<\/li>\n\n\n\n<li>No delays<\/li>\n\n\n\n<li>Immediate data sync<\/li>\n<\/ul>\n\n\n\n<p><strong>\ud83d\udcb0 Cost-Effective<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>No constant polling<\/li>\n\n\n\n<li>Reduced server load<\/li>\n\n\n\n<li>Lower bandwidth usage<\/li>\n<\/ul>\n\n\n\n<p><strong>\ud83d\udd04 Automated<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>No manual intervention<\/li>\n\n\n\n<li>Reliable delivery<\/li>\n\n\n\n<li>Consistent data flow<\/li>\n<\/ul>\n\n\n\n<p><strong>\ud83d\udcc8 Scalable<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Handle unlimited events<\/li>\n\n\n\n<li>Multiple webhooks per event<\/li>\n\n\n\n<li>Grows with your needs<\/li>\n<\/ul>\n\n\n\n<p><strong>\ud83d\udee0\ufe0f Flexible<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Connect to any HTTP endpoint<\/li>\n\n\n\n<li>Customize data format<\/li>\n\n\n\n<li>Support multiple integrations<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"18-who-should-use-this\">Who Should Use This?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"19-clinic-administrators\">Clinic Administrators<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Automate patient communications<\/li>\n\n\n\n<li>Integrate with existing tools<\/li>\n\n\n\n<li>Streamline operations<\/li>\n\n\n\n<li>Improve efficiency<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"20-developers\">Developers<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Build custom integrations<\/li>\n\n\n\n<li>Connect KiviCare to your apps<\/li>\n\n\n\n<li>Automate workflows<\/li>\n\n\n\n<li>Extend functionality<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"21-it-managers\">IT Managers<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Centralize data management<\/li>\n\n\n\n<li>Ensure data consistency<\/li>\n\n\n\n<li>Monitor integrations<\/li>\n\n\n\n<li>Maintain security<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"22-business-owners\">Business Owners<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Reduce manual work<\/li>\n\n\n\n<li>Improve patient experience<\/li>\n\n\n\n<li>Gain insights from data<\/li>\n\n\n\n<li>Scale operations<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"23-what-makes-it-different\">What Makes It Different?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"24-vs-manual-data-entry\">vs. Manual Data Entry<\/h3>\n\n\n\n<p>\u274c <strong>Manual<\/strong>: Time-consuming, error-prone, delayed<br>\u2705 <strong>Webhooks<\/strong>: Automated, accurate, instant<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"25-vs-scheduled-sync\">vs. Scheduled Sync<\/h3>\n\n\n\n<p>\u274c <strong>Scheduled<\/strong>: Delayed updates, resource-intensive<br>\u2705 <strong>Webhooks<\/strong>: Real-time, efficient<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"26-vs-api-polling\">vs. API Polling<\/h3>\n\n\n\n<p>\u274c <strong>Polling<\/strong>: Constant requests, high server load<br>\u2705 <strong>Webhooks<\/strong>: Event-driven, minimal overhead<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"27-technical-overview\">Technical Overview<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"28-supported-events\">Supported Events<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Appointments<\/strong>: Book, update, cancel, status change<\/li>\n\n\n\n<li><strong>Patients<\/strong>: Register, update, delete<\/li>\n\n\n\n<li><strong>Doctors<\/strong>: Add, update, remove<\/li>\n\n\n\n<li><strong>Billing<\/strong>: Generate bill, receive payment, refund<\/li>\n\n\n\n<li><strong>Encounters<\/strong>: Create, update, close<\/li>\n\n\n\n<li><strong>Prescriptions<\/strong>: Add, update<\/li>\n\n\n\n<li><strong>Custom<\/strong>: Extensible event system<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"29-supported-http-methods\">Supported HTTP Methods<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>POST (most common)<\/li>\n\n\n\n<li>PUT (update operations)<\/li>\n\n\n\n<li>PATCH (partial updates)<\/li>\n\n\n\n<li>GET (retrieve data)<\/li>\n\n\n\n<li>DELETE (remove operations)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"30-authentication-methods\">Authentication Methods<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>No Authentication<\/strong> &#8211; Public endpoints<\/li>\n\n\n\n<li><strong>API Key<\/strong> &#8211; Header or query parameter<\/li>\n\n\n\n<li><strong>Bearer Token<\/strong> &#8211; OAuth2, JWT<\/li>\n\n\n\n<li><strong>Basic Auth<\/strong> &#8211; Username\/password<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"31-data-format\">Data Format<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>JSON (recommended)<\/li>\n\n\n\n<li>Form Data<\/li>\n\n\n\n<li>Custom formats<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"32-system-requirements\">System Requirements<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"33-minimum-requirements\">Minimum Requirements<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>KiviCare<\/strong>: Version 3.0.0 or higher<\/li>\n\n\n\n<li><strong>WordPress<\/strong>: Version 6.0 or higher<\/li>\n\n\n\n<li><strong>PHP<\/strong>: Version 8.0 or higher<\/li>\n\n\n\n<li><strong>License<\/strong>: Active KiviCare Pro license<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"34-server-requirements\">Server Requirements<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Outbound HTTPS enabled<\/li>\n\n\n\n<li>PHP cURL extension<\/li>\n\n\n\n<li>PHP JSON extension<\/li>\n\n\n\n<li>256MB memory limit (recommended)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"35-external-endpoint-requirements\">External Endpoint Requirements<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Publicly accessible URL<\/li>\n\n\n\n<li>Response time &lt; 30 seconds<\/li>\n\n\n\n<li>Valid SSL certificate (for HTTPS)<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"36-getting-started\">Getting Started<\/h2>\n\n\n\n<p>Ready to start using webhooks?<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Overview The KiviCare Webhook Addon is a powerful integration tool that enables real-time communication between your KiviCare clinic management system and external applications. When events occur in KiviCare (like appointment bookings, patient registrations, or payments), webhooks automatically send data to your configured endpoints. ![Screenshot: Webhook Addon Dashboard]() Screenshot placeholder: Main webhook dashboard showing statistics and [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"parent":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37],"tags":[],"class_list":["post-1253","post","type-post","status-publish","format-standard","hentry","category-getting-started-webhook-documentation"],"featured_image_src":null,"author_info":{"display_name":"wordpressadminiq","author_link":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/author\/wordpressadminiq\/"},"_links":{"self":[{"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/posts\/1253","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/comments?post=1253"}],"version-history":[{"count":6,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/posts\/1253\/revisions"}],"predecessor-version":[{"id":1279,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/posts\/1253\/revisions\/1279"}],"wp:attachment":[{"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/media?parent=1253"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/categories?post=1253"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/tags?post=1253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}