Back to blog

Guides · May 4, 2026

How to add scheduled tasks to your AI-built app (Lovable, Bolt, Replit, v0, and more)

Lovable, Bolt.new, Replit, v0, base44, Tempo, and Create.xyz all scaffold your app and give you a public URL. Most do not ship a scheduler. The two that do (Replit Scheduled Deployments, base44 Automations) come with compute or credit-burn strings. Here is the one external-cron pattern that works across all seven, a side-by-side table of what each ships natively, and three reusable URL shapes you can paste into Crontap in 5 minutes.
crontap.com / blog
Lovable, Bolt.new, Replit, v0, base44, Tempo, and Create.xyz all scaffold your app and give you a public URL. Most of them do not ship a scheduler; the two that do (Replit Scheduled Deployments, base44 Automations) come with credit-burn or compute-billing strings. Here is the one external-cron pattern that works across all seven, a side-by-side comparison of what each ships natively, and three reusable shapes for the URL.

You picked Lovable, or Bolt.new, or Replit, or v0, or base44, or Tempo, or Create.xyz. Or you have not picked yet. Whichever it is, sooner or later you want your app to do something on a schedule. Send a daily summary email at 9am local. Sync a database every hour. Post yesterday's signups to Slack on Monday morning. Reconcile Stripe nightly at 03:00 UTC.

Most AI app builders do not ship a scheduler. The two that do (Replit Scheduled Deployments and base44 Automations) come with strings: per-second compute billing on Replit, 1 credit per run on base44. The other five expect you to bring your own clock.

Here is the pattern that works across all seven platforms in the same five minutes, the per-platform footnotes that matter, a side-by-side table at the end, and three reusable URL shapes you can paste into Crontap.

The pattern that works for all of them

Every AI app builder in 2026 has the same shape under the hood, even if the chat interface hides it.

An AI app builder scaffolds your app and gives you a public URL

You describe what you want, the agent scaffolds a frontend, scaffolds a backend (or wires up a database product like Supabase, Convex, or the platform's own), and publishes the whole thing to a public URL. Lovable gives you a Supabase Edge Function at https://<project>.supabase.co/functions/v1/<name>. Bolt.new gives you a deployed app at https://<your-app>.bolt.host with server functions. Replit gives you https://<your-app>.replit.app/api/.... v0 deploys to https://<your-app>.vercel.app/api/.... base44 gives you https://<your-app>.base44.app/functions/<name>. Tempo deploys to Vercel and you call the Convex HTTP Action or Supabase Edge Function. Create.xyz / Anything gives you https://<slug>.created.app/api/<function>.

The platform expects you to bring your own clock

Every public URL on every platform is callable from the open internet. None of them, except Replit and base44, will call themselves on a recurring schedule. The chat interface, the connector list, the database product, the deploy pipeline: none of them is a cron daemon.

Crontap is the clock

Crontap calls any public URL on any cadence in any IANA timezone. It does not care which platform built the app behind the URL. It does not care which database product the URL hits. It costs $3.25/mo billed annually for unlimited schedules at minute cadence, or free for 3 schedules at hourly cadence.

Add a clock to your AI-built app in 60 seconds. Free forever tier. Three schedules. No credit card. Schedule your first job →

The rest of this post is the per-platform footnote pattern, the side-by-side comparison, and the three URL shapes you can paste in.

Lovable

Lovable does not ship a scheduler. The closest thing in the official docs is an Inngest connector, which requires you to bring your own Inngest account and write your own jobs. The default backend on Lovable is Lovable Cloud, which is Supabase under the hood, but Lovable Cloud is permanent and irreversible once enabled and does not expose the Supabase service-role key. You cannot reach for pg_cron from the Lovable editor without leaving Lovable.

The clean path: prompt the agent to expose a public Edge Function ("Create an edge function called daily-task that emails me yesterday's signups"). Copy the function URL out of the Supabase tab. In Crontap, paste the URL, pick a cadence, add an Authorization: Bearer <token> header that your function checks against an env var. Press "Perform test" and you should see a 200 in Crontap and a run entry in the Supabase function logs.

Lovable's own docs list "Scheduled tasks" as an Edge Function use case but never document how to set up the actual cron. That gap is why this pattern exists.

Read the full guide: How to schedule tasks in Lovable apps, or jump to the eight common business automations (Stripe, HubSpot, Notion, Sheets, Resend, Slack, Twilio, Airtable). The cron-jobs-for-lovable spoke covers the same shape in a platform-agnostic frame.

Bolt.new

Bolt.new also does not ship a scheduler. The 2026 release notes ship MCP, Opus 4.7, design systems, real-time collaboration, image generation, and security review. Cron is conspicuously absent. The Bolt Database server functions docs list every supported use case (HTTP endpoints, webhook receivers, transactional emails) and never mention scheduled triggers.

Bolt apps live in StackBlitz WebContainers during development; the Express routes only run while the preview is open. Once you publish to Bolt Cloud or hook up Supabase, you get a public URL on your-app.bolt.host or a Supabase Edge Function URL. Either works as a cron target.

The pattern: prompt the agent ("Add a server function called nightly-digest that runs at midnight"), copy the published URL, add a shared-secret check inside the function, point Crontap at the URL with the secret in a header. The shared secret pattern is the same one you would use on any of the other six platforms.

A bonus: every minute a Bolt user spends prompting the agent to "fix the cron" is real tokens out of the 10M monthly Pro allowance. Moving the schedule out of the agent loop ends the loop.

Read the full guide: How to schedule tasks in Bolt.new apps. The cron-jobs-for-bolt spoke covers the cross-cutting cron shapes.

Replit

Replit is the first of the two platforms that ships a native scheduler. Replit Scheduled Deployments launched in March 2024 and supports full cron expressions, 1-minute minimum cadence, and per-job timezones. It is a real scheduler.

The strings: only one machine size (1 vCPU / 2 GiB), 11-hour max runtime, $0.10/mo scheduler fee plus $0.000028/sec of compute billed against the deployment pricing. No concurrency cap, which means a 1-minute job that takes 2 minutes spawns parallel runs. A 30-second job every minute is roughly $36/mo from compute alone.

When Scheduled Deployments is the right call: a single nightly script of 2 minutes or less, on a Replit app you already pay for. When external cron wins: multiple schedules per app, cross-app scheduling from one dashboard, predictable flat pricing, no concurrency footguns. The pattern is the same shape as the other six: expose a route on your existing Autoscale deployment, point Crontap at it.

Replit's own community forum has the Cronjobs don't run consistently thread open since 2025 and still attracting comments. External cron is sometimes a fix for the reliability gap, not just the price.

Read the full guide: How to schedule tasks in Replit apps. The cron-jobs-for-replit spoke covers the cross-cutting comparison.

v0 by Vercel

v0 ships Next.js apps to Vercel, so the scheduling story flows through Vercel Cron. In 2026 the well-known historical "hourly minimum" rule on Hobby has flipped: Vercel Hobby cron is now once per day minimum. The classic 0 * * * * cron expression now fails deployment outright. v0 inherits this limit because every v0 app deploys to a v0-managed Vercel project (Hobby unless you upgrade).

Vercel Pro is $20/seat/month, gets per-minute cron, and still ties cadence changes to redeploys. v0 has its own per-token billing on top, so a 5-minute cron costs you two paid concerns at once if you go the native Vercel Cron route.

The clean path: prompt v0 to add a /api/cron route, deploy, copy the https://<your-app>.vercel.app/api/cron URL, point Crontap at it with Authorization: Bearer <CRON_SECRET>. The cadence lives in Crontap. The route lives in v0. No vercel.json cron entries, no redeploy when you change cadence, no Pro upgrade required for sub-daily.

Vercel's own community thread on this exact problem recommends Upstash QStash. That works too. The trade-off is a second product to learn and bill against.

Read the full guide: How to schedule tasks in v0 apps. For a deeper dive on the Vercel Cron limit history, see Vercel Cron every minute. The vercel-cron-alternative spoke is the platform-agnostic frame.

base44

base44 is the second of the two platforms that ships a native scheduler. base44 Automations launched on December 31, 2025 (post-Wix-acquisition). It is a real scheduler with cron expressions and a UI.

The strings: 5-minute minimum cadence, plan-gated to the Builder plan at $40/mo, and 1 integration credit per run. The math: a 5-minute cron at minimum cadence is 12 runs/hour × 24 × 30 = 8,640 credits/month. The Builder plan's monthly credit allowance is 10,000. So one minute-floor scheduled job eats ~86% of your monthly budget on bookkeeping, leaving 1,360 credits for everything end-users actually do. And: when credits hit zero, the backend goes offline. Yes, your scheduled jobs stop too.

The clean path: prompt the chat to expose a backend function, copy the https://<your-app>.base44.app/functions/<name> URL, add a shared-secret check, point Crontap at the URL. External cron does not consume base44 credits. The schedule itself becomes free, and the function bills only the credits the work actually costs.

When base44 Automations is the right call: a single once-a-day automation that fits inside the credit budget. For anything sub-5-minute or anywhere you want the cadence decoupled from the credit meter, external cron is the cheaper shape.

Read the full guide: How to schedule tasks in base44 apps.

Tempo (formerly Tempo Labs)

Tempo, at tempo.new, formerly "Tempo Labs", is the AI React IDE (not Atlassian Tempo, not Grafana Tempo, not Temporal.io). It does not ship a scheduler. Tempo is a frontend IDE; the backend is whatever SaaS template you picked, usually Convex or Supabase.

Two paths from inside Tempo's stack:

  1. Convex cron jobs. If your Tempo template includes Convex, you get convex/crons.ts, which is a native Convex feature. Good for jobs that stay inside Convex (DB mutations, queries). Not great when you want one dashboard across schedules that span Convex, Supabase, and a third-party API.
  2. Supabase pg_cron or Edge Functions. If your Tempo template includes Supabase, you can wire pg_cron from the Supabase dashboard. Same trade-off: a second tool's scheduling UI rather than one shared place.

The cross-cutting path: pick whichever backend you actually have, copy the HTTP Action URL (Convex) or Edge Function URL (Supabase), and point Crontap at it. Tempo's own deploy URLs expire after 24 hours unless you claim the deploy to your own Vercel account, so the first thing to do before setting up cron is claim the deploy so the URL is permanent.

Read the full guide: How to schedule tasks in Tempo apps.

Create.xyz (also Anything)

Create.xyz (which rebranded to Anything in August 2025; both domains resolve to the same product) is the most honest of the seven. Their own docs say: "Built-in scheduled tasks are coming soon. In the meantime, you can use an external service to call one of your functions on a schedule."

The recommended pattern in the docs is exactly the pattern in this post: expose a function, lock it down with a shared secret stored as an env var, call it from an external scheduler. Their suggested external scheduler is cron-job.org. Crontap fits the same slot with team features, run history, alerts, and one dashboard across all your other projects.

The clean path: prompt the agent to add a function, copy the https://<slug>.created.app/api/<function> URL, add the secret check, point Crontap at the URL with the secret in a header. Each Anything function call is up to 5 minutes, which is plenty for nightly digests and hourly syncs but not for hours-long batches; for those, batch your work inside the function and call back in.

Worth noting: if your function calls an Anything AI integration, that integration call still bills credits. The schedule itself does not.

Read the full guide: How to schedule tasks in Create.xyz apps.

A side-by-side overview

A quick comparison of what each platform actually ships in 2026.

PlatformNative scheduler?Min cadencePlan-gatedCost per runRecommended pattern
LovableNon/an/an/aExternal cron + Edge Function URL
Bolt.newNon/an/an/aExternal cron + server function URL
ReplitYes (Scheduled Deployments)1 minNo$0.10/mo + $0.000028/sec computeNative for one nightly job; external for many / multi-app
v0 (Vercel Hobby)Yes (Vercel Cron)1 dayYes (sub-daily needs Pro)Free on Hobby (daily only)External cron + /api/cron route
v0 (Vercel Pro)Yes (Vercel Cron)1 min$20/seat/moIncluded in ProExternal cron when changing cadence often
base44Yes (Automations)5 minYes (Builder $40/mo+)1 integration creditExternal cron + /functions/<name> URL
TempoNo (Convex crons.ts is Convex-native)1 min (via Convex)Non/aExternal cron + Convex HTTP Action or Supabase Edge Function
Create.xyz / AnythingNo (their docs say "coming soon")n/an/an/aExternal cron + /api/<function> URL (their own recommendation)

Two of seven ship a real native scheduler. Both have real trade-offs. The other five default to the external-cron shape, because nothing else fits.

Three patterns that work across all 7 platforms

Once you accept that the answer is "external cron pointed at a public URL", there are three small variations on the URL shape. Pick the one that fits.

Pattern A: simple URL + shared secret (the default)

The function takes one parameter (or reads one header), checks it against an env var, runs the work if it matches. Crontap stores the secret in the request body or as a custom header. This is the shortest click path on every platform.

Pseudo-code inside any of the seven function runtimes:

export default async function handler(req) {
  if (req.headers.get('x-cron-token') !== process.env.CRON_TOKEN) {
    return new Response('forbidden', { status: 403 });
  }
  await doTheWork();
  return new Response('ok', { status: 200 });
}

Crontap config: POST to the function URL, X-CRON-TOKEN: <secret> header, cadence and timezone of your choice. Works identically on Lovable, Bolt, Replit, v0, base44, Tempo, and Create.xyz.

Pattern B: URL with bearer token (when you want centralized auth)

Same shape as Pattern A but using a standard Authorization: Bearer <token> header. Useful if your function lives behind an existing auth middleware (Supabase JWT, Clerk, Auth0, NextAuth) and you want the cron's identity to fit the same model. Most middleware libraries accept any bearer token you can verify. The token can be a JWT signed by your service or a flat secret stored in a secrets manager. Crontap stores the bearer token once per schedule.

Pattern C: URL with body payload (when one endpoint handles many tasks)

A single function URL accepts a payload like { "task": "stripe-recon" } and routes to one of N internal handlers. This shape collapses 8 separate URLs into 1 and makes per-task config easier (the cadence is in Crontap, the task name is in the body). Useful when your "Lovable does the integration, Crontap is the clock" footprint is wide (see the common business automations post for the 8-task version of this shape).

FAQ

Which platform ships the best built-in scheduler?

Replit. Scheduled Deployments is the most capable native scheduler of the seven: full cron expressions, 1-minute minimum, per-job timezone. The cost shape is a separate question: per-second compute billing means a job that grows from 5 seconds to 60 seconds quietly multiplies its bill by 12. base44 Automations is the only other real native scheduler; the credit-per-run model and the "backend offline when credits run out" behavior make it the riskier default.

I am still picking a platform. Does this affect my decision?

Not as much as you might think. None of the seven ship a scheduler that is so good it should drive the platform pick. If you already prefer Lovable's chat UI, or Bolt's deploy story, or v0's Next.js scaffolding, the scheduler problem is solved the same way on all of them: bring an external clock. Pick the platform on the actual app you are building. Add Crontap (or any external scheduler) at the end in 5 minutes.

Can Crontap fire any of these endpoints?

Yes. Crontap fires any public HTTPS URL with any method (GET, POST, PUT, PATCH, DELETE), any headers (including bearer tokens and shared-secret headers), any body, on any cadence at any IANA timezone. Run history, retries, and alerts (email and webhook) come built in.

How do I move from one platform to another and keep my schedules?

Change the URL in Crontap. The schedule, cadence, headers, and timezone stay the same. If you ported your function from a Lovable Edge Function to a Replit Autoscale route, the only thing Crontap needs to know is the new URL. The clock did not move.

Will the schedule still work when the platform finally ships a native scheduler?

Yes. External cron and a native scheduler are two ways to call the same URL. Adding a native scheduler later (when, say, Create.xyz / Anything finally ship the "coming soon" scheduled tasks) means you can choose to migrate or keep the external setup. The function does not care which clock fires it.

Add a clock to your AI-built app in 60 seconds. Free forever tier. Three schedules. No credit card. Schedule your first job →

Related on Crontap

From the blog

Read the blog

Guides, patterns and product updates.

Tutorials on scheduling API calls, webhooks and automations, plus deep dives into cron syntax, timezones and reliability.

Alternatives

Vercel Cron every minute: beating the Hobby hourly limit

Vercel Cron caps Hobby at hourly cadence and 5 jobs, and ties every change to a redeploy. Here is the external cron pattern teams use to ship per-minute schedules, per-IANA timezones, and one dashboard across projects without paying $20/mo per user for Pro.

Alternatives

Cloud Run cron without Cloud Scheduler

Cloud Scheduler costs $0.10 per job per month after the first 3 and asks for OIDC plus IAM bindings on every target. Here is the IAM-free pattern Cloud Run teams use to fire their .run.app URLs on a clock with one bearer token and one dashboard across every GCP project.