Bring 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
Convex provides two ways to schedule jobs. Use Crons for a 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 the 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.