Features

Webhooks

Vextro includes a webhook management interface with two pages: a list view showing all configured webhooks, and a detail page for creating, editing, and monitoring individual webhooks.

Setup

Import and mount both page components in your Astro routing:

---
// List page — e.g., /admin/webhooks
import VextroWebhooksPage from "vextro/pages/VextroWebhooksPage.astro";

// Detail page — e.g., /admin/webhooks/[webhookId]
import VextroWebhookDetailPage from "vextro/pages/VextroWebhookDetailPage.astro";
---

<!-- List view -->
<VextroWebhooksPage
  convex={convex}
  api={api}
  basePath="/admin"
  config={config}
/>

<!-- Detail/create view -->
<VextroWebhookDetailPage
  convex={convex}
  api={api}
  basePath="/admin"
  config={config}
  webhookId={webhookId}
/>

Page props

Both pages share these common props:

PropTypeRequiredDescription
convexConvexClientYesConvex client instance.
apiAdminAPIYesAdmin API reference from createVextroAdminModule.
brandNamestringNoCustom brand name displayed in the header. Defaults to "Vextro".
basePathstringNoURL base path for routing links.
configVextroConfigNoVextro configuration object.

The detail page also accepts:

PropTypeRequiredDescription
webhookIdstringYesThe webhook ID to edit, or "new" to create a new webhook.

List view

The webhooks list page displays a table of all configured webhooks with:

  • Name and URL (truncated for readability)
  • Events shown as color-coded badges
  • Status indicator (active/disabled)
  • Last updated timestamp

Click any row to navigate to its detail page. Use the "New Webhook" button to create a new webhook.

Event badges

EventColor
document.createEmerald
document.updateBlue
document.deleteRed
document.publishViolet
pingGray

Detail view

The detail page supports both creating new webhooks and editing existing ones.

Configuration

FieldDescription
NameHuman-readable webhook name.
URLThe endpoint URL that receives POST requests.
SecretOptional shared secret for HMAC-SHA256 signature verification.
EventsSelect which document events trigger this webhook.
CollectionsOptionally limit the webhook to specific collections.
EnabledToggle the webhook on or off.

Retry configuration

Configure exponential backoff for failed deliveries:

SettingDefaultRangeDescription
Max Retries30--10Maximum number of retry attempts.
Initial Delay5000 ms1000+Delay before the first retry.
Backoff Multiplier21--10Multiplier applied to each successive retry delay.

A live preview shows the calculated retry delays based on your settings.

Delivery history

For existing webhooks, the detail page shows a chronological delivery log with:

  • Event type and status (delivered, failed, pending, retrying)
  • HTTP status code and attempt count
  • Expandable details showing error messages, response bodies, and per-attempt logs

Actions

ActionDescription
Save / CreatePersist the webhook configuration.
Test PingSend a test ping event to verify connectivity (existing webhooks only).
DeleteRemove the webhook permanently (existing webhooks only).
ReplayRetry a failed delivery (per-delivery action).

Webhook actions use the current authenticated admin session. Successful creates and deletes return to the webhook list; successful edits and delivery actions refresh the current detail view.

Previous
Media Library
Next
Templates