Box Trigger

Box Trigger

Certified

Trigger on new Box files

Polls a Box folder and starts an execution for a new file. If several files arrived since the last poll, they fire one per poll, oldest first, so none is lost. The position of the last fired file is stored in the namespace KV Store, per flow, trigger and folder. Files are tracked by creation time (created_at): a file moved into the folder that keeps an older created_at is not detected. The first poll only records the current position: files already in the folder do not fire.

yaml
type: io.kestra.plugin.box.files.Trigger

React when a new file lands in a folder.

yaml
id: box_new_file
namespace: company.team

triggers:
  - id: on_new_file
    type: io.kestra.plugin.box.files.Trigger
    clientId: "{{ secret('BOX_CLIENT_ID') }}"
    clientSecret: "{{ secret('BOX_CLIENT_SECRET') }}"
    enterpriseId: "{{ secret('BOX_ENTERPRISE_ID') }}"
    folderId: "123456789"
    interval: PT5M

tasks:
  - id: handle_file
    type: io.kestra.plugin.core.log.Log
    message: "New file: {{ trigger.name }}"
Properties
Defaultfalse

Specifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.

Box client ID

Box client secret

Developer token

Short-lived token for quick tests. Takes priority over other auth.

Enterprise ID

Use with CCG to act as the app's service account.

Default0

Folder ID

Folder to watch for new files.

DefaultPT1M
Formatduration

Polling interval

Time between two polls of the folder. Defaults to 60 seconds, minimum 5 seconds to stay within Box API rate limits.

JWT config JSON

Contents of the JSON config file downloaded from the Box developer console. Used when no developer token is set and no client credentials are set.

SubTypestring
Possible Values
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTED

List of execution states after which a trigger should be stopped (a.k.a. disabled).

User ID

Use with CCG to act as a specific user instead of the enterprise.

Defaulttrue

A condition that determines whether the trigger should run.

A Pebble expression evaluated at trigger time. The trigger fires only when the expression evaluates to a truthy value (true, a non-empty string, a non-zero number). Use this to gate trigger execution on dynamic runtime values such as execution labels, flow variables, or environment conditions.

Formatdate-time

Creation time

File ID

File name

File size in bytes