alfadocs-webhooks

Parse AlfaDocs form-urlencoded webhook payloads into structured events and route them by archiveId.

Updated Mar 9, 2026
One-click install
npx skills add https://github.com/alfadocs/ai-harness-instructions --skill alfadocs-webhooks
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: alfadocs-webhooks
Source: https://github.com/alfadocs/ai-harness-instructions/tree/main/lovable/skills/alfadocs-webhooks
Command: npx skills add https://github.com/alfadocs/ai-harness-instructions --skill alfadocs-webhooks

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you receive and process AlfaDocs webhook notifications without breaking the integration, especially when events arrive as form-urlencoded payloads instead of JSON and multiple records are batched into one POST.

Core Features & Use Cases

  • Webhook Parsing: Converts indexed bracket-form fields into structured event objects for appointment, patient, and document notifications.
  • Tenant Routing: Resolves archive identifiers from the payload and maps them to the correct connected practice in Supabase.
  • Reliable Delivery Handling: Ensures your Edge Function returns HTTP 200, logs failures safely, and avoids retry-triggering response codes.
  • Use Case: A Supabase Edge Function receives AlfaDocs event notifications, parses the raw body, routes each event by archiveId, and updates the correct tenant-scoped records.

Quick Start

Use this skill to build a Supabase Edge Function that reads AlfaDocs webhook POSTs, parses the raw form body, and routes each event by archiveId.

Frequently Asked Questions about alfadocs-webhooks

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I parse form-urlencoded webhook payloads in a Supabase Edge Function?▼

To parse form-urlencoded webhook payloads in a Supabase Edge Function, read the raw request body and use URLSearchParams to convert indexed bracket-form fields into structured event objects for reliable processing.

Why does my Supabase Edge Function receive repeated AlfaDocs webhook retries?▼

Supabase Edge Functions receive repeated AlfaDocs webhook retries when the endpoint fails to return an unconditional HTTP 200 response immediately after parsing the raw body, triggering retry mechanisms.

How do I handle multiple indexed records batched in a single webhook POST?▼

Handling multiple indexed records batched in a single webhook POST requires expanding bracket-key notation from the raw body into separate structured event objects before routing them individually.

How do I route AlfaDocs webhook events to the correct tenant in Supabase?▼

Routing AlfaDocs webhook events to the correct tenant in Supabase involves resolving the archiveId from the parsed payload and mapping it to the appropriate connected practice using service-role database access.

Can I process AlfaDocs appointment and patient notifications as JSON payloads?▼

AlfaDocs appointment and patient notifications cannot be processed as JSON payloads because they arrive exclusively as form-urlencoded data, requiring URLSearchParams parsing instead of standard JSON deserialization.

What is the best way to structure Supabase Edge Functions for AlfaDocs webhooks?▼

The best way to structure Supabase Edge Functions for AlfaDocs webhooks is to parse raw bodies with URLSearchParams, route events by archiveId, apply service-role database access, and return HTTP 200 unconditionally.