Back to blog

Guides · May 5, 2026

How to schedule tasks in Create.xyz apps (the missing scheduler)

Create.xyz (now also Anything, after the August 2025 rebrand) ships your app with a public function URL but no scheduler. Their own docs say built-in scheduled tasks are coming soon and recommend an external service in the meantime. Here is the 5-minute walkthrough that fires your function URL on any cadence, in any timezone, with a shared-secret check and zero Anything credits burned on the cron itself.
crontap.com / blog
Create.xyz (now also Anything, after their August 2025 rebrand) does not ship a scheduler yet. Their own docs say it: "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." Here is the 5-minute pattern that does exactly that, with a shared-secret check, an IANA timezone per schedule, and zero Anything credits burned on the cron itself.

Create.xyz (now also Anything, after their August 2025 rebrand and $11M Series A) is honest about what it does not do yet. The official Anything docs say, verbatim:

"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."

That is a refreshing rarity in the AI-builder world: the platform tells you out loud that scheduling is not native and points at the workaround. This post is that external service, with a five-minute walkthrough, a shared-secret pattern, and the gotchas that come from building on a credit-billed platform.

If you just want the short version: keep your Create.xyz function exactly as the agent built it, lock it down with an X-CRON-TOKEN header check against an env var, and point Crontap at the https://yourslug.created.app/api/<function-name> URL. The clock lives outside Anything; the function lives inside. No new SQL, no plugins, no redeploy.

Create.xyz (now also Anything) ships an app with a public function URL. It does not yet ship a scheduler.

The product behind the rebrand is the same. The story for scheduled work is the same.

The rebrand: create.xyz and anything.com are the same product

In August 2025, Create.xyz rebranded to Anything alongside an $11M Series A (covered in their own launch announcement). Both create.xyz and anything.com resolve to the same product, the same chat, the same dashboard, the same billing. If you searched "create xyz schedule task", you are in the right place; same goes for "anything.com scheduled tasks". This post uses both names because both are correct, and Google still indexes both.

Where the public URL comes from

When Anything publishes your app, the agent ships a frontend at https://yourslug.created.app and any backend functions at https://yourslug.created.app/api/<function-name>. The function URL is the thing you are going to fire on a schedule. If you have not published yet, the Create.xyz publish docs walk through it; one click in the chat.

What "no scheduler" actually means in practice

Your function works perfectly when you click Run, when you hit it from the browser, when a user submits a form that calls it. It does not run on its own at 9am. There is no "schedule this" toggle in the chat or the project dashboard. That is the gap this post fills.

Why Create.xyz does not (yet) ship a scheduler, and what their docs recommend.

Anything is, refreshingly, the only AI builder in this space that names the gap and the fix in the same paragraph.

The literal docs quote

The Anything backend docs include an Advanced section called "Scheduled tasks". The first sentence is:

"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."

That is the entire native scheduler story today. The docs even sketch the recommended shape: a public function plus a shared-secret token check. We are going to follow that pattern almost word-for-word, with the only adjustment being a per-schedule IANA timezone (the docs leave timezone to you).

Their suggested workaround

The same docs name cron-job.org as the example external scheduler. cron-job.org works fine, and the pattern transfers directly to any external scheduler you prefer (including Crontap, which adds team features, IANA timezones per schedule, retries, and per-call run history with response bodies).

Each function call is up to 5 minutes

Anything function execution caps at five minutes per call. That is plenty for nightly reports, hourly third-party syncs, daily AI summaries. It is not enough for a multi-hour batch. If your job runs longer than five minutes, split the work across calls (10 to 50 records per call, fired more often), or move it onto a real worker queue.

The 60-second fix.

The shape is the same one the Anything docs sketch, with a shared secret in a header so the URL is not callable by random strangers.

Crontap (cron) → HTTPS POST → /api/<function-name> on yourslug.created.app → the actual work

Step 1: prompt the agent to add a function

Open the Create.xyz / Anything chat for your project. Ask for the endpoint you want fired on a schedule. Something like:

"Create a function at /api/daily-report that emails me yesterday's orders. Reject any request whose X-CRON-TOKEN header does not match process.env.CRON_TOKEN and return 401."

The agent will scaffold the function. A reasonable shape:

export async function POST(request) {
  const token = request.headers.get("x-cron-token");
  if (token !== process.env.CRON_TOKEN) {
    return new Response("Unauthorized", { status: 401 });
  }
 
  await sendDailyReport();
  return Response.json({ ok: true });
}

Three things to note:

  1. POST so a casual GET from a crawler cannot fire it.
  2. Header check (not query string) so the secret never lands in access logs.
  3. Returns 200 quickly. Long work belongs in a fire-and-forget background pattern.

Step 2: copy the public URL

Once the build is live, the function lives at https://yourslug.created.app/api/daily-report. Copy it. This is the URL Crontap will hit on a cadence.

Step 3: store the secret in Project Settings, Secrets

Generate a strong random string locally:

openssl rand -base64 32

In the Anything dashboard, open Project Settings, Secrets, add a key called CRON_TOKEN with the value you just generated, and save. The secret is now available as process.env.CRON_TOKEN inside your function. The function refuses anonymous traffic from this point on.

Step 4: create the schedule in Crontap

Head to Crontap and click New schedule.

  1. URL: paste the function URL from Step 2.
  2. Method: POST.
  3. Headers: add X-CRON-TOKEN: <your CRON_TOKEN value>. Crontap stores the value encrypted.
  4. Cadence: type plain English ("every hour", "every Monday at 9am") or paste a cron expression. Crontap previews the next 5 fires inline.
  5. Timezone: pick the IANA zone the schedule actually means. Europe/Berlin, America/Los_Angeles, Asia/Tokyo, whatever matches your business hours. No DST math.
  6. Failure alerts: turn on email or webhook (Slack, Discord, Telegram) so 4xx and 5xx ping you the moment they happen.

Step 5: press Perform test and confirm 200

Click Perform test. Crontap fires one real POST. You should see:

  • A 200 in Crontap's run history.
  • The function's log entry in your Anything project.

If you see 401, your X-CRON-TOKEN header is mismatched. If you see 5xx, the function code threw, and the alerting just earned its keep.

Fix this in 60 seconds with Crontap. Free forever tier. Three schedules. No credit card. Schedule your first job →

What people try first (and why each gets frustrating).

External cron is a shape, not a religion. Three alternatives show up in Create.xyz / Anything community threads. They all work; the trade-offs differ.

cron-job.org (the docs' default suggestion)

The Anything docs name cron-job.org as the example external service. It is free and works. Run history is basic, there are no team features (shared workspace, role-based access, audit trail), and once you start running more than two or three schedules across more than one project, the lack of organization shows up.

Schedule by Zapier

If you already live in Zapier, Schedule by Zapier wraps your Anything function call in a Zap. Per-task billing means a minute-cadence schedule is 43,200 tasks a month against your Zapier plan, which exits the free tier fast. Schedule by Zapier also does not reach minute cadence below the Team plan.

Make.com or n8n

Both work. The trade-off is running a second automation tool to drive your first. Fine if you already run Make or n8n; heavy install if you just want a clock pointed at a URL.

For a single recurring function call, the external-cron pattern is the smallest answer.

Real things teams schedule on Create.xyz / Anything apps.

A few shapes that come up over and over in Anything builds.

Nightly database cleanup

The function clears stale rows, archives old records, and posts a summary line to Slack. Crontap fires it at 03:00 in the project's home timezone. No credit pressure, no quiet-hours math.

Daily AI-generated summary email

The function calls an Anything AI integration to summarize yesterday's activity and email the digest at 9am local. Worth flagging: Anything AI integrations consume credits per call, so the cost of this job is the AI calls, not the cron. Crontap is still 0 credits.

Hourly third-party sync

Pulls fresh data from Stripe, Notion, or a customer's external API and writes it back into your Anything-hosted database. One Crontap schedule, hourly cadence, one shared-secret header. Cancel or pause from the dashboard, no redeploy.

Weekly KPI digest

Friday 17:00 in the founder's timezone, the function runs a few queries and posts the results into Slack. Pause it for the holiday week from the Crontap dashboard, resume it on the way back. No code change, no chat re-prompt.

FAQ

Will Crontap calls burn my Anything credits?

The schedule itself is 0 Anything credits; an inbound HTTP request is not metered. The function's body bills normally. If your function calls an Anything AI integration, those AI calls consume credits exactly as they would when triggered from a button click. The cron is free, the AI is not.

How do I lock down a public function URL?

A shared-secret check in a header is the standard pattern (the one the Anything docs themselves recommend). Generate the secret with openssl rand -base64 32, store it in Project Settings, Secrets, compare it against the incoming header, return 401 on a mismatch. Crontap stores the header value encrypted at rest, so the secret never lands in a git diff or a server access log.

Will the scheduler still work when "built-in scheduled tasks" finally ship?

Yes. When Anything ships native scheduled tasks, your existing function URL keeps working unchanged; Crontap keeps firing it on whatever cadence you set. You can migrate jobs to the native scheduler one at a time as the new feature stabilizes, or keep the external clock for cross-project visibility, IANA timezones, and team features.

What is the maximum function runtime?

Anything function execution caps at 5 minutes per call. For longer work, structure the job as small chunks (10 to 50 records per run), schedule it more often, and keep each call returning 200 quickly. Crontap reports response time per call, so a single chart shows you when you start nudging the cap.

Set up the schedule Anything's docs already point to. Free forever tier. Three schedules. No credit card. Schedule your first job →

References

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.