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

Free includes 1 trial scheduled report (5 successful runs/month). Paid Pro, Team, or Agency plans unlock more capacity (pricing).


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

Automated Excel reporting for ops and finance — create, improve, and schedule .xlsx deliverables.

Product
Product overviewReport templatesGeneratePricingFAQ

© 2026 Ilka. All rights reserved.

TermsPrivacyCookies