> ## Documentation Index
> Fetch the complete documentation index at: https://trigger-v3-fix-additional-files.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# intervalTrigger()

> `intervalTrigger()` is set as a [Job's trigger](/sdk/job) to trigger a Job at a recurring interval.

## Development

<Snippet file="scheduled-dev-warning.mdx" />

## Defining an interval

Intervals are set with a number of seconds. There are some important considerations:

* The Job will first run the specified number of seconds after it has first connected to an [Environment](/documentation/concepts/environments-endpoints). This will happen when you first [deploy](/documentation/guides/deployment) that Job.
* The minimum interval is 20 seconds (any input less than this it will default to 20).
* The maximum interval is 2\_592\_000 seconds (30 days), if you pass more than this it will trigger every 30 days.

If you wish to Run a Job at an exact time or less frequently than once pr day you should use a [cronTrigger()](/sdk/crontrigger) instead.

## Parameters

<ResponseField name="options" type="object" required>
  <Expandable title="options" defaultOpen>
    <ResponseField name="seconds" type="number" required>
      The number of seconds for the interval. Min = 60, Max = 2\_592\_000 (30 days)
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```typescript Every 5 minutes
  client.defineJob({
    id: "scheduled-job-1",
    name: "Scheduled Job 1",
    version: "0.1.1",
    // Every 5 minutes
    trigger: intervalTrigger({
      seconds: 60 * 5,
    }),
    run: async (payload, io, ctx) => {
      await io.logger.info("Received the scheduled event", {
        payload,
      });

      return { foo: "bar" };
    },
  });
  ```
</RequestExample>
