Webhooks into Convex HTTP
External services POST to your .convex.site URL; you verify, then call a mutation.
Difficulty 3/5
Plain English
Meta/WhatsApp/Stripe send JSON to a public URL. Handler verifies signature, keeps work short, writes via mutation (idempotent by event id).
Analogy
Doorbell camera: verify it's really the courier, then tell the kitchen to update the order.
Agentify CRM
convex/webhooks/ and httpRoutes/ — inbound channel events.
Go deeper
Thin HTTP handler → mutation → DB.
Common mistakes
- Heavy work in httpAction (timeout + retries).
- No signature verify.
AI-agent trap
Exposing internal mutations directly on HTTP without auth.
Summary
Retries mean handlers must be idempotent.
Confidence: