Actions & Scheduled Jobs

Cron schedules, one-time jobs, retries, and invocation history.

Common questions

What are Actions?

An Action calls a path on one of your services asynchronously, at times you choose — either recurring on a cron schedule or once at a specific moment. Each run is an HTTP POST with your configured body, recorded as an invocation you can inspect later. Use them for nightly jobs, reminders, periodic syncs, or anything "call this endpoint later" — without running your own scheduler.

Read the documentation

How do I run a cron job on Forte?

Create a recurring Action: pick the target service and path, enter a cron expression like "0 9 * * *", and choose an IANA timezone such as America/New_York so daylight-saving transitions are handled for you. Forte POSTs to that path on the schedule and keeps a history of every run. You can create actions from the console, the forte CLI, or the server-side SDK.

Read the documentation

How does my service know a request came from Forte?

Check the X-Forte-Trusted header: Forte sets it to 1 on requests it originates and strips all X-Forte-* headers from inbound traffic it didn't send, so its presence is proof. In your action handler, verify that header, dedupe on the X-Forte-Action-Invocation-Id header (Forte may retry), and return a 2xx quickly — do slow work in the background.

Read the documentation

How do I test an action without waiting for its schedule?

Use "invoke now" — from the console, "forte actions invoke" in the CLI, or createActionInvocation in the SDK — to trigger a one-off run immediately, exactly like a scheduled one. Then inspect the invocation's status, attempt count, response code, and timing in the action's history.

Read the documentation

Do actions retry when my endpoint fails?

Only if you mark the action retryable — then Forte automatically retries a failed delivery (a non-2xx response, timeout, or connection error) on its internal retry policy. A non-retryable action is attempted once. Either way, a failure of your endpoint is recorded on the invocation; make your handler idempotent on the invocation ID so retries are safe.

Read the documentation

How often can an action run, and how many can I have?

A recurring action runs at most once per minute — schedules that would fire more often are rejected. Each project also has a quota on enabled actions; pause or delete ones you no longer need to stay under it.

Recurring schedules can be bounded by an active window, and a start time in the past doesn't backfill missed runs — the next run is simply the next matching time.

Read the documentation

What do the action invocation statuses mean?

PENDING, RUNNING, and RETRYING are in flight. SUCCEEDED means your endpoint returned a 2xx. FAILED means it errored after all attempts. CANCELLED means you cancelled the invocation before it ran, and MISSED means Forte didn't run that scheduled occurrence on time.

Read the documentation