Skip to main content
vly’s approach to integrations is prompt-first. You don’t browse a catalog and click “install” — you mention the service in a prompt, and vly recognizes it, prompts you for credentials, and writes the integration code.
“When a task is assigned, send the assignee an email via Resend.”
That’s the entire integration request. vly creates the Convex action, prompts you for RESEND_API_KEY, and wires it up.

What’s a vly integration?

Three things, working together:
1

A managed credential

The integration’s API keys live in vly’s secret store, scoped per-environment, never exposed to client code.
2

A code template the agent uses

When you mention the service in a prompt, the agent writes the integration code following a tested pattern.
3

Webhook plumbing if needed

For services that send webhooks (Stripe, Twilio, etc.), vly auto-registers a webhook URL and routes events to a Convex action.

Browse by category

Payments

Stripe (the default), LemonSqueezy, Paddle, Plaid, Polar.

Auth providers

Clerk, Auth0, WorkOS, Firebase Auth, Supabase Auth.

Email & messaging

Resend, SendGrid, Postmark, Mailchimp, Twilio, WhatsApp, Telegram.

AI & ML

OpenAI, Anthropic, Google AI, Replicate, ElevenLabs, Pinecone, Qdrant, Hugging Face.

Data & search

Supabase, MongoDB, Algolia, Meilisearch, BigQuery, Snowflake.

Storage & media

Cloudinary, Mux, AWS S3, Cloudflare R2, UploadThing.

Video & voice

LiveKit, Daily, Agora.

Analytics & monitoring

PostHog, Mixpanel, Amplitude, Sentry, Datadog, LogSnag.

Dev tools & CI

GitHub, GitLab, Vercel, Netlify.

Productivity & CRM

Linear, Asana, Notion, Slack, Discord, HubSpot.
Browse the full directory →

Most-used integrations

Convex

The default backend. Built-in, no setup needed.

Stripe

The standard for payments — subscriptions, one-time charges, marketplaces, billing portals.

OpenAI

Chat, embeddings, image generation. The default LLM provider for AI features.

Resend

Transactional and marketing email. Generous free tier.

GitHub

Sync your project to a repo. Issues, PRs, actions.

Stripe + PostHog

Product analytics with deep funnel tracking.

How to add one

Custom integrations

Any third-party REST or GraphQL API can be called from a Convex action. The pattern:
convex/myIntegration.ts
Set the API key via vly secrets set MY_API_KEY ... or in the integrations dashboard. For OAuth-based integrations (where the user authorizes once and you store an access token per user), follow the OAuth pattern in the authentication architecture guide.

Where credentials live

vly enforces the split: when you connect an integration, the secret key goes to the secrets store and the publishable key goes to public env vars. You don’t have to remember which is which. See Secrets management for the full reference.

Webhook handling

Services that push events (Stripe payments, Resend deliveries, Twilio messages) need a webhook URL to call. vly handles this automatically when you ask:
“When a Stripe subscription is created, mark the team as ‘active’ in our database.”
vly:
  1. Creates a Convex HTTP action at /api/stripe-webhook.
  2. Verifies the Stripe signature using STRIPE_WEBHOOK_SECRET.
  3. Routes the event to a handler that updates your data.
  4. Tells you to register the URL https://your-app.vly.app/api/stripe-webhook in the Stripe dashboard.
The exact same pattern applies to every service that supports webhooks.

Testing integrations locally

vly’s preview deployments are fully functional — your integration code runs against the real third-party API in preview mode. For services that don’t have a sandbox, use:
  • Stripe — test mode keys (sk_test_...) and the Stripe CLI for local webhook forwarding.
  • Resend — test API keys and delivered@resend.dev test address.
  • Twilio — magic test phone numbers for free SMS.
  • OpenAI — there’s no “test mode,” but small gpt-4o-mini calls are cheap.

Tips

One integration per concern. If you need email, pick one provider (Resend) and use it everywhere. Mixing Resend + SendGrid + Mailchimp creates confusing state.
For high-volume features, ask for retries. “Send the email via Resend, retry up to 3 times on failure with exponential backoff.” vly will write the retry logic into the action.
Always test webhooks in preview before production. Webhooks are async and easy to mis-handle. Use the integration’s webhook test feature (most services have one) to fire a sample event into your preview deploy.

Stripe

The most-used integration. Worked example.

OpenAI

Chat, embeddings, image generation.

Directory

The full searchable catalog.
Last modified on April 18, 2026