We launched Convex Components to make adding features to your app easier! 🎉
Learn moreBring your favorite APIs from OpenAI, Twilio, Stripe and others through actions & jobs.
Convex provides a realtime transactional database that keeps your UI updated via provided client libraries. This makes it the central data store and coordinator of your app. Use Convex actions (functions designed to call the outside world) and scheduled jobs to coordinate with external APIs and transactionally update the Convex database. Your app will always have the latest data.
Convex actions make it easy to call
external APIs. The Convex backend runs in a custom runtime based on V8 that
provides most web standard apis like fetch
, making it easy to call external
HTTP APIs. Convex also provides an escape hatch for libraries requiring Node.js
via the use node
directive. Use any JavaScript or TypeScript API with ease.
Convex provides two ways to schedule jobs. Use Crons for periodic actions, like sending emails once a day. Use the Scheduler to run delayed actions, like sending a reminder SMS an hour after a todo is created.
When using the Scheduler, Convex will only schedule the action if the calling function successfully completes (i.e. the transaction succeeds). So that reminder will only be sent if the todo was successfully written to the database. Scheduling is coordinated by the Convex database itself, so you don’t have to worry about server restarts when scheduling things months away.