Scheduled reports — hosting checklist

Ilka uses Inngest on a 15‑minute UTC cron to sweep due schedules — not Vercel Cron. Share this page with whoever deploys or audits your production environment.

1. Subscription

Scheduled reporting requires an active Pro or Team plan (pricing). Free workspaces can build workbooks manually only.


2. Encrypting stored connection secrets

  • ILKA_SECRETS_KEY — exactly 64 hexadecimal characters (32 bytes). Generate locally: openssl rand -hex 32
  • Required when saving Airtable PATs and other encrypted fields.

3. Inngest (scheduled sweeps)

  • Expose POST /api/inngest (and sync the app in the Inngest dashboard).
  • Set INNGEST_SIGNING_KEY (and INNGEST_EVENT_KEY if your deploy flow needs it) per Inngest’s Vercel docs.
  • Due reports run on about a 15‑minute cadence; allow a short delay after the cron time you picked.

4. Email delivery (Resend)

  • RESEND_API_KEY must be set in production.
  • Verify your sending domain in Resend and align from-address with that domain to avoid spam.

5. Google Sheets connections

  • GOOGLE_OAUTH_CLIENT_ID, GOOGLE_OAUTH_CLIENT_SECRET
  • NEXT_PUBLIC_SITE_URL — must match the public origin used in OAuth redirect URIs.
  • If you add Drive upload to a schedule, users may need to re-authorize after scope changes.

6. Optional: webhooks & signed download links

If failures mention download signing, set SCHEDULED_RUN_DOWNLOAD_SECRET or ensure ILKA_SECRETS_KEY is valid — see in-app run errors and FAQ.


7. First successful run (in-app)

From Scheduled reports: save a connection, use Test until it passes, create a schedule, then use Run now for an immediate verification (the automatic sweep follows the Inngest cron).

AI-generated Excel templates — from your description or your file.

Product
Product overviewGeneratePricingFAQ

© 2026 Ilka. All rights reserved.

TermsPrivacyCookies